Middle — Senior
21
Как кешировать самые частые запросы в RAG?
Companies where asked
Hybrid
Sensemitter
Райффайзенбанк
Answer from AI
sobes.tech AI
В Retrieval-Augmented Generation (RAG) кеширование частых запросов помогает снизить задержки и нагрузку на векторную базу данных и генеративную модель. Основные подходы:
-
Кеширование результатов поиска: сохранять результаты поиска по векторной базе для часто повторяющихся запросов. При повторном запросе возвращать сохранённые документы без повторного поиска.
-
Кеширование сгенерированных ответов: если запрос и контекст совпадают, можно вернуть ранее сгенерированный ответ.
-
Использование TTL (time-to-live): чтобы кеш не устаревал, задавать время жизни для кешированных данных.
-
Хэширование запросов: для быстрого поиска кеша по ключу, основанному на хэше запроса.
Пример на Python с простым словарём для кеша:
cache = {}
def get_rag_response(query):
key = hash(query)
if key in cache:
return cache[key]
docs = vector_db.search(query)
answer = generator.generate(docs, query)
cache[key] = answer
return answer