Sobes.tech
Middle — Senior

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