Como fazer cache das consultas mais frequentes no RAG?
sobes.tech IA
Resposta da IA
Na Geração Aumentada por Recuperação (RAG), o armazenamento em cache de consultas frequentes ajuda a reduzir a latência e a carga na base de dados vetorial e no modelo generativo. As principais abordagens:
-
Armazenamento em cache de resultados de pesquisa: guardar os resultados de pesquisa na base vetorial para consultas que se repetem frequentemente. Ao fazer uma nova consulta, retornar os documentos armazenados sem realizar uma nova pesquisa.
-
Armazenamento em cache de respostas geradas: se a consulta e o contexto coincidirem, pode-se retornar uma resposta gerada anteriormente.
-
Uso de TTL (tempo de vida): para que o cache não fique desatualizado, definir um tempo de vida para os dados em cache.
-
Hashing de consultas: para uma busca rápida no cache com uma chave baseada no hash da consulta.
Exemplo em Python com um dicionário simples para o 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