RAG (Retrieval-Augmented Generation): Guia Prático
O RAG combina modelos generativos com busca semântica para respostas mais confiáveis e com fontes.
Por que RAG?
- Reduz alucinações
- Atualiza conhecimento sem re-treinar o modelo
- Cita fontes (links e trechos)
Arquitetura
- Indexação de documentos → 2. Embeddings → 3. Base vetorial → 4. Recuperação (Top-k) → 5. Prompt do LLM com contexto → 6. Resposta com citações
Stack Recomendada
- Embeddings: OpenAI text-embedding-3-large
- Vector DB: Pinecone, Weaviate, Chroma
- Orquestração: LangChain, LlamaIndex
Exemplo Minimalista (pseudo)
query = "politica de devolução"
chunks = retriever.search(query, k=5)
prompt = build_prompt(query, chunks)
answer = llm.generate(prompt)
Boas Práticas
- Chunking 300–800 tokens com overlap
- Normalizar e limpar HTML
- Guardar metadados (titulo, url, data)
- Re-ranking para melhorar precisão
- Citar fontes com âncoras
Avaliação
- Precisão factual (human-in-the-loop)
- Taxa de citações corretas
- Groundedness score
RAG na Vocaliza
- Base de conhecimento por cliente
- Políticas, procedimentos e FAQs
- Atualização rápida de conteúdo sem downtime