Hogyan cache-eljük a leggyakoribb lekérdezéseket a RAG-ben?
sobes.tech MI
Válasz az MI-től
A Retrieval-Augmented Generation (RAG) esetében a gyakran ismételt kérdések cache-elése segít csökkenteni a késleltetést és a terhelést a vektoralapú adatbázison és a generatív modellen. Fő megközelítések:
-
Keresési eredmények cache-elése: tárolja a keresési eredményeket a vektoralapú adatbázisban a gyakran ismételt kérdésekhez. Új kérés esetén adja vissza a tárolt dokumentumokat anélkül, hogy újra keresne.
-
Generált válaszok cache-elése: ha a kérdés és a kontextus egyezik, vissza lehet adni egy korábban generált választ.
-
TTL (time-to-live) használata: hogy a cache ne avuljon el, állítson be élettartamot a tárolt adatoknak.
-
Kérdések hash-elése: gyors keresés a cache-ben a kérdés hash-én alapuló kulccsal.
Egyszerű példaként Pythonban egy szótárat használva:
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