¿Cómo almacenar en caché las consultas más frecuentes en RAG?
sobes.tech AI
Respuesta de la IA
En la Generación Aumentada por Recuperación (RAG), el almacenamiento en caché de consultas frecuentes ayuda a reducir la latencia y la carga en la base de datos vectorial y en el modelo generativo. Los enfoques principales:
-
Caché de resultados de búsqueda: guardar los resultados de búsqueda en la base de vectores para consultas que se repiten con frecuencia. Al volver a consultar, devolver los documentos almacenados sin volver a buscar.
-
Caché de respuestas generadas: si la consulta y el contexto coinciden, se puede devolver una respuesta generada previamente.
-
Uso de TTL (tiempo de vida): para que la caché no quede obsoleta, establecer un tiempo de vida para los datos almacenados en caché.
-
Hashing de consultas: para una búsqueda rápida en la caché mediante una clave basada en el hash de la consulta.
Ejemplo en Python con un diccionario simple para la caché:
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