Sobes.tech
Middle — Senior

Wie cached man die häufigsten Anfragen in RAG?

sobes.tech KI

Antwort von AI

Bei der Retrieval-Augmented Generation (RAG) hilft das Caching häufiger Anfragen, um Latenzzeiten und die Belastung der Vektor-Datenbank und des generativen Modells zu reduzieren. Die wichtigsten Ansätze:

  • Caching von Suchergebnissen: Speichern Sie die Suchergebnisse in der Vektor-Datenbank für häufig wiederholte Anfragen. Bei einer erneuten Anfrage geben Sie die gespeicherten Dokumente ohne erneute Suche zurück.

  • Caching von generierten Antworten: Wenn die Anfrage und der Kontext übereinstimmen, kann eine zuvor generierte Antwort zurückgegeben werden.

  • Verwendung von TTL (Time-to-Live): Damit der Cache nicht veraltet, setzen Sie eine Lebensdauer für die zwischengespeicherten Daten.

  • Hashing von Anfragen: Für eine schnelle Suche im Cache anhand eines Schlüssels, der auf dem Hash der Anfrage basiert.

Beispiel in Python mit einem einfachen Wörterbuch für den 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