Capítulo 1

O que é RAG?

Retrieval Augmented Generation: o sistema de recuperação de informação que entrega contexto correto para o modelo de IA no momento da geração.

🎯 A Analogia do Dentista

Você vai ao dentista com dor...

O dentista não pergunta "o que você lembra da última vez?". Ele abre seu prontuário, olha seu histórico, verifica especificamente o que aconteceu na última consulta.

O mesmo vale para IA: em vez de "decorar" todas as respostas (fine-tuning), o RAG "abre o prontuário" na hora.

🧠Fine-tuning

= decorar tudo (caro, lento, desatualiza)

🦷RAG

= abrir o prontuário na hora (barato, rápido, sempre atualizado)

🔗 Arquitetura Fundamental — 5 Etapas

Cada etapa tem decisões técnicas que determinam se o RAG funciona ou não. Entenda o fluxo completo:

DOCUMENTOCHUNKINGEMBEDDINGSSTORAGERETRIEVALPROMPTLLM
1
DOCUMENTO

Texto original

2
CHUNKING

Divisão em partes

3
EMBEDDINGS

Vetores numéricos

4
STORAGE

Banco vetorial

5
RETRIEVAL

Busca semântica

6
PROMPT

Contexto + Pergunta

7
LLM

Resposta fundamentada

💡 Por que RAG funciona?

✅ Vantagens

  • Atualização em tempo real (sem re-treino)
  • Custo baixo (~$0.01/query)
  • Precisão alta em fatos
  • Contexto sempre свежий (fresco)
  • 可控 (controlável) — você escolhe o que retorna

⚠️ Quando RAG é necessário

  • Base de conhecimento grande
  • Documentos atualizam frequentemente
  • Respostas precisam de rastreabilidade
  • Contexto específico do domínio
  • Compliance (auditoria de fontes)

⚖️ RAG vs Fine-tuning

CritérioRAGFine-tuning
CustoBaixo (~$0.01/query)Alto ($100-1000/train)
AtualizaçãoEm tempo realRe-treino necessário
LatênciaMédia (busca + LLM)Baixa (só LLM)
Precisão em fatosAlta (contexto свежий)Média (pode hallucinar)
Estilo/TomMédio (prompt eng.)Alto (training data)
Quando usarBase grande, atualiza semprePadrão de comportamento

📋 Regra Prática

Se sua base muda frequentementeRAG

Se você quer ensinar "como pensar"Fine-tuning

Se você tem ambos → RAG + Fine-tuning (caro, só em produção)

🔄 Fluxo Completo de uma Pergunta

👤
USER"Como funciona o chunking em RAG?"
🔢
1Gerar embedding da query
🔍
2Buscar chunks similares no pgvector
📦
3Montar contexto com chunks recuperados
📤
4Enviar prompt com contexto para LLM
🤖
LLMResposta fundamentada no contexto
← IntroduçãoPróximo: Chunking →