Guias

O que é RAG? Geração aumentada por recuperação explicada de forma simples

RAG (geração aumentada por recuperação) é uma forma de fazer um modelo de IA responder perguntas usando as suas próprias informações. Quando alguém faz uma pergunta, o seu app primeiro pesquisa nos seus documentos os trechos mais relevantes e, em seguida, entrega esses trechos ao modelo junto com a pergunta. O modelo escreve a resposta a partir desse texto, em vez de depender apenas do que aconteceu de aprender durante o treinamento.

Por que o RAG importa quando você cria com IA

Um grande modelo de linguagem sabe bastante sobre o mundo em geral, mas nada sobre o seu negócio: seus preços, suas políticas, o manual do seu produto, os chamados de suporte da semana passada. Ele também tem uma data de corte no treinamento, então não sabe nada de recente. Se você perguntar mesmo assim, ele pode produzir uma resposta confiante, plausível e errada.

Há três caminhos gerais para resolver isso:

AbordagemO que fazBom para
Colar tudo no promptEnviar todos os seus documentos com cada perguntaPouco texto, algumas páginas
RAGPesquisar nos seus documentos e enviar só as partes relevantesColeções maiores ou que mudam: central de ajuda, manuais, notas
Fine-tuningTreinar o modelo com mais exemplosTom, formato e tarefas repetidas, não fatos que mudam

Os modelos atuais aceitam prompts longos, então, para um FAQ curto, a primeira opção costuma funcionar bem. O RAG se justifica quando você tem mais texto do que quer enviar a cada vez, porque cada palavra enviada custa dinheiro e tempo (veja como as APIs de LLM cobram).

Se você está criando um recurso de “converse com a nossa documentação”, um assistente de suporte ou uma ferramenta de conhecimento interno, quase certamente está criando alguma forma de RAG.

Uma analogia do dia a dia

Imagine uma prova de consulta livre. Um aluno que precisa responder de memória pode se confundir ou blefar. Um aluno que pode folhear primeiro as páginas certas, lê-las e só então responder é muito mais confiável, desde que encontre as páginas certas.

  • O aluno é o modelo de linguagem.
  • O livro didático são os seus documentos.
  • Folhear as páginas certas é a recuperação.
  • Escrever a resposta a partir dessas páginas é a geração.

O RAG é a versão de consulta livre. E, como na prova, a qualidade da resposta depende muito de as páginas certas terem sido encontradas.

Como o RAG funciona, passo a passo

Uma configuração típica de RAG tem duas fases.

Preparando os seus documentos (feito antecipadamente):

  1. Reúna o material de origem: artigos de ajuda, PDFs, políticas, dados de produtos.
  2. Fragmente o conteúdo: divida documentos longos em partes menores, muitas vezes de alguns parágrafos cada, para que a busca retorne só a parte relevante.
  3. Gere o embedding de cada fragmento: envie-o a um modelo de embeddings, que transforma o texto em um embedding, uma longa lista de números que captura o seu significado. Textos sobre coisas parecidas acabam com números parecidos.
  4. Armazene os fragmentos e os seus embeddings em um banco de dados que pesquisa por similaridade (muitas vezes chamado de banco vetorial ou índice vetorial).

Respondendo a uma pergunta (feito toda vez):

  1. Gere o embedding da pergunta com o mesmo modelo de embeddings.
  2. Recupere os fragmentos cujos embeddings estão mais próximos do da pergunta, digamos, os cinco primeiros.
  3. Monte o prompt: as instruções, os fragmentos recuperados e a pergunta.
  4. Gere: o modelo de linguagem escreve uma resposta com base nesses fragmentos, idealmente indicando quais usou.

Pesquisar pelo significado é o que faz isso funcionar: uma pergunta sobre “receber meu dinheiro de volta” pode encontrar um fragmento intitulado “Política de reembolso”, mesmo que elas não tenham nenhuma palavra em comum.

Um exemplo prático: o assistente de ajuda de uma academia

Suponha que uma academia tenha 40 artigos de ajuda e queira um assistente de chat no site. Um membro pergunta: “Posso pausar minha assinatura enquanto estou viajando?”

O app gera o embedding da pergunta e recupera os três fragmentos mais próximos. Um deles diz:

Congelamento de matrícula: membros com planos mensais podem congelar
sua matrícula por até 2 meses por ano. Solicite na recepção ou no
app com pelo menos 7 dias de antecedência do início do congelamento.

O prompt enviado ao modelo fica mais ou menos assim:

Você é o assistente de ajuda da Academia Northside.
Responda somente com base nas fontes abaixo. Se a resposta não
estiver nelas, diga que não sabe e sugira entrar em contato com a
recepção.
Mencione qual fonte você usou.

[Fonte 1: Congelamento de matrícula] Membros com planos mensais podem congelar...
[Fonte 2: Cancelando sua matrícula] ...
[Fonte 3: Passes de convidado] ...

Pergunta: Posso pausar minha assinatura enquanto estou viajando?

E o modelo responde: “Sim — no plano mensal você pode congelar sua matrícula por até dois meses por ano. Solicite na recepção ou no app com pelo menos 7 dias de antecedência (fonte: Congelamento de matrícula).”

A academia não treinou nada de novo. Quando muda a política de congelamento, ela atualiza o artigo, o app gera novamente o embedding daquele fragmento e a próxima resposta já reflete a mudança.

Termos principais

TermoSignificado
LLMLarge language model (grande modelo de linguagem): a IA que escreve a resposta. Veja o que é um LLM.
EmbeddingUma lista de números que representa o significado de um trecho de texto.
Modelo de embeddingsUm modelo que produz embeddings. Normalmente é separado do modelo de chat e muito mais barato.
Fragmento (chunk)Um pedaço de documento, com tamanho para poder ser recuperado sozinho.
Banco vetorial / busca vetorialArmazenamento que encontra itens com embeddings parecidos. Alguns bancos comuns também oferecem isso, como o Postgres, por meio da extensão pgvector.
Top-kQuantos fragmentos são recuperados por pergunta.
Busca híbridaCombinação da busca por significado com a busca comum por palavras-chave, o que ajuda com termos exatos, como códigos de produto.
Janela de contextoA quantidade máxima de texto que um modelo consegue receber em uma única requisição.
Ancoragem / citaçõesVincular a resposta a fontes específicas recuperadas e mostrá-las.

Equívocos comuns

  • “O RAG treina o modelo com os meus dados.” Não treina. Nada no modelo muda; ele apenas lê texto extra no momento da pergunta.
  • “RAG significa que não há mais alucinações.” Significa menos. Se a recuperação não encontrar o fragmento certo, ou se a resposta não estiver nos seus documentos, o modelo ainda pode chutar. Instrua-o a dizer “não sei” e teste com perguntas cujas respostas você conhece.
  • “Preciso de um banco vetorial especial.” Muitas vezes não precisa. Para volumes modestos de dados, uma extensão vetorial no banco que você já tem, ou até uma busca simples por palavras-chave, pode bastar.
  • “Fragmentos maiores são melhores.” Grandes demais e você envia muito texto irrelevante (mais custo, mais confusão); pequenos demais e o fragmento perde o contexto que o tornava significativo. Espere precisar ajustar.
  • “Basta enviar tudo.” Documentos desatualizados, duplicados ou contraditórios produzem respostas contraditórias. Limpar o material de origem costuma ser a melhoria mais importante que você pode fazer.
  • “Qualquer pessoa pode ver qualquer documento.” Só se você construir dessa forma. Se alguns documentos são privados para certos usuários, a própria busca precisa filtrar por quem está perguntando; caso contrário, o assistente pode citar os dados de um cliente para outro.

Quanto custa

Um recurso de RAG geralmente tem três custos recorrentes: gerar embeddings dos seus documentos (pequeno e quase sempre único), gerar embeddings de cada pergunta (mínimo) e a chamada ao modelo de linguagem (o principal custo, que cresce conforme o número de fragmentos enviados). Além disso, há o armazenamento no seu banco de dados. Seu provedor de IA cobra isso na sua própria conta, então defina um limite de gastos lá.

O que pedir ao seu criador de apps com IA

  • “Antes de criar o RAG, verifique: nosso conteúdo é pequeno o suficiente para ser incluído no prompt?”
  • “Divida os artigos de ajuda em fragmentos de alguns parágrafos, mantenha o título e o link de origem de cada fragmento e armazene os embeddings no nosso banco de dados.”
  • “Use busca híbrida, por significado mais palavras-chave, para que os códigos de produto ainda sejam encontrados.”
  • “Diga ao modelo para responder somente com as fontes recuperadas, dizer quando não sabe e mostrar as fontes abaixo de cada resposta.”
  • “Pesquise apenas documentos que o usuário conectado tem permissão para ver.”
  • “Gere novamente o embedding de um documento automaticamente sempre que ele for editado.”
  • “Mantenha a chave do provedor de IA no servidor, em um segredo, nunca no navegador.”
  • “Registre cada pergunta, os fragmentos recuperados e a resposta para que eu possa revisar as respostas ruins.”

RAG no Mythex

O Mythex não inclui um produto pronto de base de conhecimento ou RAG. O que ele faz é escrever o código de um desses recursos dentro do seu app: você traz os seus documentos e a sua própria chave de provedor de IA, guardada como segredo do projeto, e o agente cria as partes de recuperação e de chat, usando o banco de dados Postgres do projeto para armazenamento. O uso do provedor é cobrado na conta do provedor, não em créditos do Mythex. A documentação sugere começar com um único recurso de IA simples e adicionar o RAG depois que ele funcionar; veja criando um app com IA, e os nossos guias sobre como criar um app de chatbot com IA e como adicionar recursos de IA ao seu app.

Perguntas

O que é RAG, em termos simples?

RAG (geração aumentada por recuperação) é uma forma de fazer um modelo de IA responder com base nas suas próprias informações. Antes de o modelo responder, o seu app pesquisa nos seus documentos os trechos mais relevantes para a pergunta e os inclui no prompt, então a resposta se baseia nesse texto, e não apenas no que o modelo aprendeu no treinamento.

O RAG treina a IA com os meus dados?

Não. O RAG não altera o modelo de forma alguma. Ele busca o texto relevante no momento em que a pergunta é feita e o entrega ao modelo junto com a pergunta. Se você atualizar um documento, a próxima resposta já pode usar a versão nova.

RAG é o mesmo que fine-tuning?

Não. O fine-tuning muda o comportamento de um modelo ao treiná-lo com mais exemplos, o que é mais lento e melhor para estilo ou formato. O RAG entrega ao modelo fatos para ler no momento da pergunta, o que é melhor para conhecimento que muda ou que precisa ser citado com precisão.

O RAG acaba com as alucinações da IA?

Ele as reduz, mas não as elimina. Se a busca encontrar os trechos errados, ou se a resposta não estiver nos seus documentos, o modelo ainda pode chutar. Bons apps com RAG instruem o modelo a dizer quando não sabe e mostram as fontes que usaram.

Mythex · Pricing · Crie qualquer coisa com IA · Templates de sites e apps · Mythex comparado · Glossário de criação de apps com IA · Ferramentas grátis para criar apps com IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)