Sobes.tech
Middle — Senior
30

Какие приёмы кеширования помогают в RAG-проде?

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

В RAG (Retrieval-Augmented Generation) продакшене кеширование помогает снизить задержки и нагрузку на модели и базы данных. Основные приёмы:

  • Кеширование результатов поиска: сохранять результаты поиска по запросам, чтобы при повторных запросах не выполнять дорогостоящий поиск заново.
  • Кеширование эмбеддингов: хранить в кеше векторные представления документов или запросов, чтобы быстро сравнивать их без повторного вычисления.
  • Кеширование ответов модели: если запросы повторяются, можно сохранять сгенерированные ответы и отдавать их без повторного вызова LLM.
  • Использование TTL (time-to-live): чтобы кеш не устаревал, устанавливать время жизни данных.

Пример на Python с использованием простого словаря для кеша ответов:

cache = {}

def get_answer(query):
    if query in cache:
        return cache[query]
    # Здесь вызов модели и поиск
    answer = generate_answer(query)
    cache[query] = answer
    return answer

Для продакшена обычно используют Redis или Memcached для распределённого кеширования с контролем времени жизни.