Fine-tuning e RAG: IA em Produção - Parte 3
Leve LLMs para produção: Fine-tuning, RAG, Vector DBs. Quando usar cada abordagem, custos reais e implementação em apps escaláveis.
Por que isso é importante
Fine-tuning e RAG: IA em Produção - Parte 3. Leve LLMs para produção: Fine-tuning, RAG, Vector DBs. Quando usar cada abordagem, custos reais e implementação em apps escaláveis.
O Problema: LLMs Genéricos Não Sabem Tudo
LLMs como GPT-4 e Claude são treinados em dados públicos até uma data de corte. Eles não
sabem sobre: • Documentação interna da sua empresa • Dados proprietários e privados • Informações após data de treinamento • Contextos específicos do seu domínio
Para aplicações sérias, você precisa "ensinar" o modelo sobre seu contexto. Existem duas
abordagens principais: Fine-tuning e RAG .
Fine-tuning: Treine Seu Próprio Modelo
O que é Fine-tuning?
Fine-tuning pega um modelo pré-treinado (como GPT-3.5 ou Llama 3.1) e continua o treinamento
com seus dados específicos. O modelo "aprende" padrões únicos do seu domínio.
Analogia
Imagine um médico generalista (LLM base) que faz especialização em cardiologia
(fine-tuning). Ele mantém conhecimento geral, mas ganha expertise profunda em um campo.
Quando Vale a Pena Fine-tuning?
- Tarefa repetitiva: Classificação de tickets de suporte, análise de
contratos, geração de relatórios padronizados - Alto volume: Milhares de requests por dia. Fine-tuning reduz custo
por token - Latência crítica: Modelos fine-tuned menores (7B params) rodam
mais rápido que gigantes (175B+) - Privacidade absoluta: Rode modelo own-premise sem enviar dados para
APIs externas
Custos de Fine-tuning
Investimento Real
GPT-3.5 Turbo: $0.008/1K tokens treino + $0.012/1K inference (3x modelo
base) Llama 3.1 (self-hosted): Zero custos API, mas precisa GPU (A100 40GB ~
$1.50/hora) Dados: Mínimo 500-1000 exemplos de qualidade. Curadoria é trabalhosa Tempo: Setup inicial de 1-2 semanas. Iterações constantes
Fine-tuning compensa apenas se você tem: dados limpos, volume alto e orçamento para
iteração. Para maioria dos casos, RAG é mais pragmático.
RAG: Retrieval-Augmented Generation
O que é RAG?
RAG combina busca semântica com geração de texto. Em vez de treinar o modelo, você fornece
contexto relevante dinamicamente. O LLM recebe: sua pergunta + documentos relevantes, e
gera resposta baseada nesse contexto.
Fluxo RAG
1. Indexação: Converta documentos em embeddings (vetores numéricos) 2. Armazenamento: Salve embeddings em Vector Database 3. Query: Usuário faz pergunta → converta em embedding 4. Retrieval: Busque documentos similares no Vector DB 5. Generation: LLM gera resposta usando docs recuperados como contexto
Quando Usar RAG?
RAG é ideal para: • Documentação: Chatbots que respondem sobre produtos, APIs, políticas • Knowledge bases: Bases internas de empresas • Dados dinâmicos: Informações que mudam frequentemente • Múltiplas fontes: PDFs, Notion, Confluence, Google Docs • Prototipagem rápida: Setup em dias, não semanas
Vector Databases: O Coração do RAG
Vector DBs armazenam embeddings e permitem busca por similaridade. Diferente de SQL (busca
exata), eles encontram "documentos semanticamente próximos" à query.
Pinecone
Managed vector DB. Setup em minutos. Escala automática. Free tier até 100k vectors.
Weaviate
Open source. Self-host ou cloud. Suporta multimodalidade (texto + imagem). GraphQL API.
Supabase Vector
Extensão pgvector no Postgres. Familiar para quem já usa Supabase. SQL nativo.
Chroma
Embedding database open source. Python-first. Ideal para protótipos e ML pipelines.
Implementação RAG: Passo-a-Passo Prático
Fase 1: Preparação de Dados
- Coleta: Reúna documentos (Markdown, PDFs, Notion exports)
- Chunking: Divida em pedaços de 500-1000 tokens. Muito pequeno perde
contexto, muito grande perde precisão - Limpeza: Remova headers, footers, boilerplate. Só conteúdo relevante
- Metadata: Adicione tags (fonte, data, categoria) para filtros
Fase 2: Geração de Embeddings
Use modelos de embedding para converter texto em vetores: • OpenAI text-embedding-ada-002: $0.0001/1K tokens. Alta qualidade • Sentence-Transformers (open source): Gratuito. Roda localmente • Cohere Embed: Multilíngue. Excelente para português
Exemplo com OpenAI
const embedding = await openai.embeddings.create({ model: "text-embedding-ada-002", input: "Seu texto aqui" });
Fase 3: Indexação no Vector DB
Envie embeddings + metadata para seu Vector DB. Pinecone, por exemplo, aceita batches de
100 vetores por request. Para milhões de documentos, processe em paralelo.
Fase 4: Query e Retrieval
- User query: "Como integrar pagamentos no app?"
- Embed query: Converta pergunta em embedding
- Search: Busque top 5 documentos mais similares no Vector DB
- Contexto: Concatene documentos recuperados
- Prompt LLM: "Com base nestes docs: [contexto], responda: [query]"
Fase 5: Geração de Resposta
LLM recebe contexto relevante e gera resposta precisa. Crucial: instrua o modelo a citar
fontes e admitir quando não sabe.
RAG vs Fine-tuning: Qual Escolher?
Fine-tuning
Treinar modelo customizado com seus dados
+ Prós
- • Latência baixa (modelo menor e rápido)
- • Custo menor em escala (uso intenso)
- • Privacidade total (self-hosted)
- • Estilo consistente (tom, formato)
− Contras
- • Setup complexo (semanas)
- • Precisa dados limpos (500+ exemplos)
- • Atualização cara (retreinar)
- • Risco de overfitting
RAG
Busca dinâmica de contexto relevante
+ Prós
- • Setup rápido (dias)
- • Atualização fácil (só adicionar docs)
- • Transparência (cita fontes)
- • Menor investimento inicial
− Contras
- • Latência maior (busca + geração)
- • Custo por query (embedding + LLM)
- • Depende de qualidade dos docs
- • Context window limitado
Decisão Prática
Use RAG se: Dados mudam frequentemente, múltiplas fontes, orçamento
limitado Use Fine-tuning se: Tarefa específica, alto volume, privacidade crítica Use ambos: RAG para contexto + Fine-tuning para estilo/formato
Case Study: ChatGPT Atlas para SEO
ChatGPT Atlas (plugin) usa RAG para acessar dados do Google Search Console em tempo real.
Em vez de treinar modelo em dados de SEO, ele: 1. Conecta API do GSC 2. Recupera métricas atualizadas 3. LLM analisa e sugere otimizações
Resultado: ferramenta sempre atualizada, sem retreinamento. Usuários consultam dados reais
sem expor credenciais. RAG perfeito para APIs dinâmicas.
Otimizações Avançadas
1. Hybrid Search (Keyword + Semantic)
Combine busca por palavras-chave (BM25) com busca vetorial. Captura matches exatos e
similaridade semântica. Weaviate e Pinecone suportam nativamente.
2. Reranking
Após recuperar top 20 documentos, use modelo de reranking (Cohere Rerank) para ordenar por
relevância. Melhora precisão sem aumentar custos de embedding.
3. Prompt Caching
Claude e Gemini oferecem cache de contexto. Se documentos não mudam, cache economiza até 90%
em custos. Perfeito para RAG com bases estáveis.
4. Streaming de Respostas
Implemente streaming para UX fluida. Usuário vê texto sendo gerado em tempo real, não
espera 10s por resposta completa.
Erros Comuns em Produção
Armadilhas de RAG
1. Chunks mal divididos: Perdem contexto ou incluem ruído 2. Embeddings desatualizados: Docs mudam, embeddings ficam obsoletos 3. Top-k muito baixo: 3 docs não bastam → teste 5-10 4. Sem filtros: Busca global em vez de filtrar por categoria/data 5. LLM alucina: Não instrui modelo a citar fontes
Monitoramento e Métricas
Em produção, rastreie: • Retrieval accuracy: Docs recuperados são relevantes? • Latência: Tempo total (busca + geração) • Custo por query: Embeddings + LLM tokens • User feedback: Respostas úteis? (thumbs up/down) • Hallucination rate: LLM inventa fatos?
Use ferramentas como LangSmith, Helicone ou Weights & Biases para observability completa de
pipelines LLM.
Próximos Passos: Implementar RAG Agora
Checklist: Deploy RAG em Produção
- Definiu use case e coletou documentação
- Escolheu Vector DB (Pinecone, Weaviate ou Supabase)
- Implementou chunking e geração de embeddings
- Indexou documentos no Vector DB com metadata
- Configurou pipeline de query: embed → search → generate
- Adicionou streaming de respostas para UX
- Implementou monitoramento de latência e custos
- Coletou feedback de usuários para iterar
Conclusão: RAG é o Pragmático, Fine-tuning o Especialista
Para 90% dos casos, RAG entrega valor rápido com investimento baixo. Fine-tuning é para
cenários específicos onde performance e privacidade justificam o custo.
Comece com RAG, valide o produto, e depois considere fine-tuning se escala exigir. Não
otimize prematuramente.
Parabéns!
Você completou a série LLMs 2026: fundamentos, prompting e produção. Agora tem base sólida
para construir aplicações sérias com IA. Explore mais: • Voltar para Parte 1 • Revisar Parte 2: Prompting