guia completo · Dados & Embeddings

Embeddings & RAG: A Memória das IAs

Um modelo de linguagem esquece tudo o que não está na pergunta e não conhece nada além do que viu no treino. Embeddings e RAG são a engenharia que contorna esses dois limites — transformando significado em números e dando ao modelo uma fonte para consultar.

Pergunte a um modelo de linguagem sobre o relatório interno que sua empresa publicou ontem e ele dirá algo plausível, talvez convincente, quase certamente errado. O modelo não viu esse documento: seu conhecimento congelou no fim do treino, e ele não tem onde buscar o que não sabe. A solução para esse problema repousa sobre duas ideias que se tornaram a base da IA aplicada — os embeddings e o RAG.

Este guia explica as duas, e a relação entre elas. A primeira é uma forma de representar significado como números. A segunda usa essa representação para dar ao modelo uma memória externa e fontes verificáveis. Juntas, são o que separa um chatbot genérico de um sistema que responde sobre os seus dados.

O que é um embedding

Um embedding é uma lista de números — um vetor — que representa o significado de um texto. Não os caracteres, não as palavras: o sentido. A frase "o gato dormiu no sofá" e "o felino cochilou no estofado" produzem vetores próximos, porque querem dizer quase a mesma coisa, ainda que não compartilhem quase nenhuma palavra.

A imagem útil é a de um mapa. Cada texto vira um ponto num espaço de muitas dimensões — centenas ou milhares delas. Textos com significado parecido caem perto uns dos outros; textos sobre assuntos diferentes ficam distantes. "Cachorro" e "gato" são vizinhos; "cachorro" e "regime tributário" estão em hemisférios opostos desse mapa. O guia sobre embeddings detalha como esses vetores são gerados e medidos.

Busca semântica vs. busca por palavra-chave

A busca tradicional, por palavra-chave, casa caracteres. Procure "carro veloz" e ela ignora um documento que fala em "automóvel rápido", porque as palavras não batem. É literal e cega ao sentido.

A busca semântica, construída sobre embeddings, casa significados. Ela converte sua pergunta num vetor e procura os textos cujos vetores estão mais próximos — ou seja, os mais parecidos em sentido, não em grafia. "Automóvel rápido" passa a ser uma boa resposta para "carro veloz". É essa capacidade que torna a busca por embeddings tão mais robusta para linguagem natural.

Vale a ressalva honesta: a busca por palavra-chave não morreu. Para termos exatos — um número de série, um nome próprio raro, um código — ela continua superior. Os sistemas mais sólidos hoje combinam as duas, no que se chama busca híbrida.

  • Embedding: um vetor que codifica o significado de um texto.
  • Espaço vetorial: o mapa onde proximidade equivale a semelhança de sentido.
  • Busca semântica: encontra por significado, não por palavra literal.
  • Banco vetorial: o armazém que guarda milhões de vetores e busca os vizinhos rapidamente.

Bancos vetoriais: onde os vetores moram

Gerar embeddings é fácil; encontrar, entre milhões deles, os mais próximos de uma consulta em milissegundos é o problema difícil. É para isso que existem os bancos vetoriais — bancos de dados especializados em guardar vetores e fazer a chamada busca por vizinhos mais próximos.

Comparar a consulta com cada vetor um a um seria lento demais em escala. Por isso esses bancos usam índices aproximados (o termo técnico é ANN, de approximate nearest neighbor, ou vizinho mais próximo aproximado), que trocam um pouco de precisão por muita velocidade. Nomes como Pinecone, Weaviate, Qdrant e a extensão pgvector do PostgreSQL popularizaram a categoria. Para projetos menores, uma biblioteca como FAISS rodando em memória já resolve.

O que é RAG, e por que virou padrão

RAG é a sigla de retrieval-augmented generation — geração aumentada por recuperação. A ideia é direta: antes de o modelo responder, um sistema recupera os trechos mais relevantes de uma base de documentos (usando busca semântica) e os entrega ao modelo como contexto. O LLM responde "com a fonte na mão", em vez de depender só da memória embutida no treino.

Três motivos explicam por que essa abordagem se tornou o padrão da IA corporativa:

  • Conhecimento atualizável: muda-se a base de documentos, não o modelo. Adicionar o relatório de ontem é questão de indexá-lo.
  • Fontes citáveis: como a resposta vem de trechos recuperados, é possível mostrar de onde ela saiu — rastreabilidade que o modelo sozinho não oferece.
  • Menos invenção: ancorar a resposta em texto real reduz (sem eliminar) a tendência do modelo a alucinar.

O passo a passo de como montar um sistema desses — do recorte dos documentos à montagem do prompt — está no guia de RAG do zero.

Por que os dados decidem tudo

Há uma verdade desconfortável que o marketing de IA prefere não destacar: a qualidade de um modelo é, antes de tudo, a qualidade dos seus dados. Um LLM é uma fotografia estatística do texto que leu. Dados ruins, enviesados ou desbalanceados produzem modelos ruins, enviesados ou desbalanceados — não há arquitetura que conserte isso depois.

O mesmo vale para RAG. O sistema mais bem desenhado responde mal se a base de documentos for incompleta, desatualizada ou cheia de contradições. Embeddings não criam informação; eles organizam a que existe. Se o trecho certo não está na base, nenhuma busca semântica o inventará.

Os limites: vieses e busca imperfeita

Dois limites merecem franqueza. O primeiro é o viés: embeddings herdam os preconceitos do texto em que foram treinados. Se os dados associam certas profissões a certos gêneros, o espaço vetorial reproduzirá essa associação, e a busca semântica a propagará silenciosamente.

O segundo é a qualidade da recuperação. Num sistema RAG, a regra é implacável: recuperação ruim, resposta ruim. Se a busca traz o trecho errado, o modelo responderá com base no trecho errado — e com toda a confiança. Por isso medir e melhorar a etapa de recuperação costuma render mais do que trocar de modelo.

Perguntas Frequentes

Embedding e LLM são a mesma coisa?

Não. O LLM é o modelo que gera texto; o embedding é uma representação numérica de significado, produzida muitas vezes por um modelo menor e especializado. Eles se complementam — embeddings encontram o contexto, o LLM redige a resposta.

RAG resolve o problema da alucinação?

Reduz, não resolve. Ao ancorar a resposta em trechos reais, diminui a invenção de fatos. Mas o modelo ainda pode interpretar mal o trecho recuperado, misturar fontes ou extrapolar além do que o texto diz.

Preciso de um banco vetorial caro para começar?

Não. Para milhares ou poucas dezenas de milhares de documentos, uma biblioteca em memória ou a extensão pgvector num PostgreSQL que você já usa costuma bastar. Bancos vetoriais dedicados ganham relevância em escala e com requisitos de latência exigentes.

Por que minha busca semântica às vezes erra feio?

Geralmente por uma destas causas: os documentos foram recortados em pedaços grandes ou incoerentes demais, o modelo de embedding não é adequado ao seu idioma ou domínio, ou a base simplesmente não contém a resposta. A busca só é tão boa quanto os dados e o recorte por trás dela.

Acompanhe Dados & Embeddings no radar

Veja os papers, modelos e datasets de Dados & Embeddings em alta agora no Hugging Face.

Abrir radar de Dados & Embeddings