O que é RAG?
Geração aumentada por recuperação (RAG) é o padrão por trás de toda resposta fundamentada aqui: em vez de depender do que o modelo memorizou durante o treinamento, você recupera documentos relevantes no momento da solicitação e aumenta o prompt com eles, para que o modelo gere sua resposta a partir desse contexto novo e verificável. Essa etapa de recuperação é exatamente o que o AI Search oferece. A web se torna sua base de conhecimento, e você não precisa criar nem manter um banco de dados vetorial para começar — uma chamada de busca retorna os trechos, e o LLM faz o restante. Quando, mais tarde, você quiser recuperação sobre seus próprios documentos privados, o mesmo formato em três etapas se aplica; você apenas troca a busca na web por um armazenamento vetorial. RAG oferece três coisas que um modelo isolado não consegue oferecer:- Atualidade — as respostas refletem conteúdo publicado após o limite de treinamento do modelo.
- Atribuição — toda afirmação pode apontar para uma URL de origem que o usuário pode verificar.
- Alucinação reduzida — fundamentar o modelo em texto recuperado impede que ele invente fatos.
Como a fundamentação funciona
Uma única rodada de RAG segue três etapas:- Buscar (recuperar) na web páginas relevantes para a pergunta.
- Extrair (aumentar) o conteúdo de que você precisa — snippets ou texto completo da página — para dentro do prompt.
- Sintetizar (gerar) uma resposta passando esse conteúdo para um LLM, pedindo que ele cite fontes.
Deixe o provedor escrever a resposta
O caminho mais rápido. O Search da Tavily retorna uma resposta gerada por LLM quando você defineinclude_answer, e a Exa oferece um Answer endpoint. Uma chamada, sem orquestração.
Recupere e depois sintetize com um LLM
Isso oferece controle total. Busque fontes e depois entregue os resultados para a LLM API com instruções para responder usando apenas esse contexto e citar cada afirmação./v3/exa/search e leia text de cada resultado em vez de raw_content.
Ajustando a qualidade da recuperação
A qualidade de uma resposta fundamentada depende muito mais de o que você recupera do que do modelo. Alguns controles de alto impacto:- Atualidade. Para perguntas sensíveis ao tempo, restrinja por data. Tavily expõe
time_rangeestart_date/end_date; Exa expõestartPublishedDate/endPublishedDate. Isso mantém páginas desatualizadas fora do contexto. - Confiança na fonte. Use
include_domains/excludeDomainspara restringir a recuperação a fontes em que você confia (documentação oficial, editoras respeitáveis) e excluir sites de baixa qualidade. - Dicas de tópico. Da Tavily
topic(news,finance,general) e da Exacategorydirecionar o mecanismo para o tipo certo de resultado. - Dimensionamento correto do contexto. Limite o texto extraído (Tavily
chunks_per_source, ExamaxCharacters) para que você passe sinal suficiente sem estourar a janela de contexto do modelo ou seu orçamento de tokens.
Search vs. extract vs. crawl
Escolha a primitiva de recuperação que corresponde à sua necessidade:- Search — você tem uma pergunta e precisa descobrir páginas relevantes. O ponto de partida padrão.
- Extract / Contents — você já conhece as URLs e quer texto limpo delas. Bom para fundamentação em um conjunto fixo de documentos. Veja Tavily Extract e Exa Contents.
- Rastrear / Mapear — você quer ingerir um site inteiro ou uma seção, seguindo links. Bom para criar uma base de conhecimento offline. Veja Tavily Crawl e Tavily Map.
Levando para produção
- Lide com resultados vazios. Se a busca não retornar nada relevante, faça com que o modelo diga que não pode responder, em vez de inventar uma resposta. O prompt de sistema acima faz isso.
- Use cache quando puder. Consultas idênticas retornam resultados semelhantes; armazenar a recuperação em cache reduz custo e latência.
- Preste atenção aos limites de taxa. A recuperação e as chamadas de LLM são limitadas separadamente — uma solicitação de busca não consome sua cota de LLM. Reduza o ritmo em
429para qualquer um deles. Consulte limites de taxa de LLM para o lado do LLM. - Mantenha as chaves no lado do servidor. Sua chave da Novita autentica todas as chamadas aqui — nunca a inclua em código do lado do cliente.