Educação financeira · artigo prático

O que é RAG (Retrieval-Augmented Generation)

RAG combina busca de documentos relevantes com geração de texto por um LLM, reduzindo alucinações e permitindo respostas baseadas em fontes atualizadas e rastreáveis.

Perguntar a um assistente de IA sobre um documento que ele nunca viu, ou sobre um evento posterior ao seu treinamento, expõe um limite estrutural dos modelos de linguagem: eles respondem a partir do que aprenderam, não do que existe agora. RAG é a técnica mais usada hoje para contornar esse limite sem depender de retreinar o modelo a cada atualização de conhecimento.

Um modelo de linguagem é treinado até uma certa data e sobre um corpus fixo. Perguntas sobre eventos recentes, documentos internos de uma empresa ou dados que não estavam no treinamento tendem a gerar respostas incorretas ou inventadas — o problema conhecido como alucinação. RAG (Retrieval-Augmented Generation, ou 'geração aumentada por recuperação') é uma técnica para reduzir esse problema sem retreinar o modelo.

A ideia central é simples: antes de gerar a resposta, o sistema busca (retrieval) os trechos de texto mais relevantes para a pergunta em uma base de conhecimento externa — normalmente organizada como embeddings em um banco de dados vetorial — e passa esses trechos como contexto para o modelo junto com a pergunta original. O modelo então gera (generation) a resposta com base nesse contexto, em vez de depender só do que aprendeu durante o treinamento.

Como o pipeline funciona na prática

Um sistema de RAG típico tem duas fases distintas. A primeira, feita uma vez (ou periodicamente), é a indexação: os documentos são divididos em pedaços menores (chunking), cada pedaço é convertido em um vetor numérico (embedding) que representa seu significado, e esses vetores são armazenados em um banco de dados vetorial. A segunda fase acontece a cada pergunta do usuário: a pergunta também vira um embedding, o sistema busca no banco os pedaços de texto com vetores mais próximos (mais similares semanticamente) e monta um prompt que inclui esses pedaços como contexto.

  • Indexação: quebrar documentos em chunks, gerar embeddings, salvar em banco vetorial
  • Busca: converter a pergunta em embedding e recuperar os N trechos mais similares
  • Geração: montar um prompt com pergunta + trechos recuperados e enviar ao LLM
  • Resposta: o modelo gera texto ancorado no contexto fornecido, idealmente citando a fonte

Quando faz sentido usar RAG em vez de fine-tuning

RAG e fine-tuning resolvem problemas diferentes: RAG injeta conhecimento externo atualizado sem alterar os pesos do modelo, enquanto fine-tuning altera o comportamento do modelo de forma persistente a partir de exemplos rotulados. Quando o problema é 'o modelo não sabe sobre X', RAG costuma ser a opção mais barata e mais fácil de manter atualizada.

Esse tipo de problema — decidir quais documentos são relevantes para uma consulta e recuperá-los com precisão — tem paralelo direto com sistemas de classificação e triagem de documentos, onde o desafio também é identificar, entre um grande volume de material, o que é relevante para uma determinada tarefa. São domínios distintos, mas a lógica de recuperação por similaridade e classificação por relevância aparece em ambos.

Ferramenta interativa

Pontos-chave