Sobes.tech
Middle — Senior

Πώς να cacheάρετε τα πιο συχνά ερωτήματα στο RAG;

sobes.tech AI

Απάντηση από AI

Στην Παραγόμενη με Ενίσχυση Ανάκτησης (RAG), η προσωρινή αποθήκευση συχνών ερωτημάτων βοηθά στη μείωση της καθυστέρησης και του φόρτου στη διανυσματική βάση δεδομένων και το γενετικό μοντέλο. Οι βασικές προσεγγίσεις:

  • Αποθήκευση αποτελεσμάτων αναζήτησης: αποθηκεύστε τα αποτελέσματα αναζήτησης στη διανυσματική βάση δεδομένων για συχνά επαναλαμβανόμενα ερωτήματα. Κατά την επανάληψη του ερωτήματος, επιστρέψτε τα αποθηκευμένα έγγραφα χωρίς νέα αναζήτηση.

  • Αποθήκευση γεννημένων απαντήσεων: αν το ερώτημα και το πλαίσιο ταιριάζουν, μπορείτε να επιστρέψετε μια προηγούμενη γεννημένη απάντηση.

  • Χρήση TTL (time-to-live): για να μην παλιώνει η cache, ορίστε χρόνο ζωής για τα αποθηκευμένα δεδομένα.

  • Hashing ερωτημάτων: για γρήγορη αναζήτηση στην cache με βάση ένα κλειδί που βασίζεται στο hash του ερωτήματος.

Παράδειγμα σε Python με ένα απλό λεξικό για την 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