Middle — Senior
Kako keširati najčešće upite u RAG?
sobes.tech АИ
Одговор од АИ
У Генерації з додаванням пошуку (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