Middle — Senior
Ako cacheovať najčastejšie dotazy v RAG?
sobes.tech AI
Odpoveď od AI
V Generácii s využitím vyhľadávania (RAG) pomáha cacheovanie často kladených otázok znížiť oneskorenie a záťaž na vektorovú databázu a generatívny model. Hlavné prístupy:
-
Cacheovanie výsledkov vyhľadávania: ukladanie výsledkov vyhľadávania do vektorovej databázy pre často opakované otázky. Pri opakovanom dopyte vráťte uložené dokumenty bez opätovného vyhľadávania.
-
Cacheovanie generovaných odpovedí: ak sa otázka a kontext zhodujú, môžete vrátiť skôr vygenerovanú odpoveď.
-
Použitie TTL (time-to-live): aby cache nebola zastaraná, nastavte dobu života pre uložené údaje.
-
Hashovanie otázok: pre rýchle vyhľadávanie v cache na základe kľúča odvodeného od hashu otázky.
Príklad v Pythone s jednoduchým slovníkom ako cache:
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