Sobes.tech
Middle — Senior

Hoe cacheer je de meest voorkomende queries in RAG?

sobes.tech AI

Antwoord van AI

In Retrieval-Augmented Generation (RAG), het cachen van veelgestelde vragen helpt de vertragingen en de belasting op de vector database en het generatieve model te verminderen. Belangrijkste benaderingen:

  • Caching van zoekresultaten: sla de zoekresultaten op in de vector database voor vaak terugkerende vragen. Bij een herhaalde vraag, retourneer de opgeslagen documenten zonder opnieuw te zoeken.

  • Caching van gegenereerde antwoorden: als de vraag en de context overeenkomen, kan een eerder gegenereerd antwoord worden teruggegeven.

  • Gebruik van TTL (time-to-live): om te voorkomen dat de cache veroudert, stel een levensduur in voor de opgeslagen gegevens.

  • Hashing van vragen: voor snelle zoekopdrachten in de cache op basis van een op de hash van de vraag gebaseerde sleutel.

Voorbeeld in Python met een eenvoudige woordenboekcache:

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