Sobes.tech
Middle — Senior

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