Sobes.tech
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