🗺️ Mapa Arquitetural do RAG Avançado

flowchart TD
    QUERY["Pergunta do Usuário (Query)"]
    --> SPLIT{"Disparo Simultâneo"}
    
    SPLIT --> DENSE["Busca Densa (Vetorial / Bi-Encoder / HNSW)\nCaptura similaridade semântica e sinônimos"]
    SPLIT --> SPARSE["Busca Dispersa (Léxica / BM25)\nCaptura correspondência exata de termos, siglas e IDs"]
    
    DENSE --> RRF["Fusão por Ranqueamento Recíproco (RRF - Reciprocal Rank Fusion)"]
    SPARSE --> RRF
    
    RRF --> CANDIDATOS["Top-50 Documentos Candidatos"]
    CANDIDATOS --> RERANKER["Cross-Encoder / Re-Ranker (Cohere / BGE-Reranker)\nAvalia atenção cruzada (Query x Doc) em pares"]
    RERANKER --> TOP["Top-3 Chunks Mais Relevantes"]
    TOP --> COMPRESS["Compressão de Contexto / Extrator de Sentenças"]
    COMPRESS --> PROMPT["Prompt Otimizado para o LLM Gerador ⚡"]

    style QUERY fill:#ede7f6,stroke:#512da8,stroke-width:2px
    style DENSE fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
    style SPARSE fill:#fff3e0,stroke:#ff9800,stroke-width:1.5px
    style RRF fill:#fff9c4,stroke:#fbc02d,stroke-width:2px
    style RERANKER fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
    style COMPRESS fill:#c8e6c9,stroke:#2e7d32,stroke-width:1.5px
    style PROMPT fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff

📖 Fundamentos e Aplicação

O RAG Naive (básico) sofre com duas limitações críticas:

  1. Perda de Palavras-Chave Exatas: A busca vetorial por cosseno frequentemente falha em recuperar códigos específicos de produto, números de série, CPF/CNPJ ou nomes próprios raros.
  2. Baixa Precisão dos Top-K: O Bi-Encoder calcula embeddings separadamente para o documento e a pergunta, sacrificando nuances relacionais.

O RAG Avançado soluciona isso combinando:

  • Busca Híbrida: União de BM25 (esparsa/lexical) com Embeddings Densos.
  • Fusão com RRF (Reciprocal Rank Fusion): Fórmula que equaliza ranques independentemente das escalas de score.
  • Cross-Encoder Re-Ranking: Um modelo neural pesado que analisa a relação completa entre o par (Pergunta, Trecho) para reordenar apenas o top-N recuperado, elevando a precisão sem encarecer a latência total.

🧭 Navegação Rápida

| 📖 Teoria | 📊 Slides | 🧠 Quiz | 💻 Exemplos | 🧩 Exercícios | | :— | :— | :— | :— | :— | | Ler Tópico | Ver Slides | Fazer Quiz | Ver Código | Praticar |


🧭 Navegação do Capítulo: ⬅️ Capítulo Anterior · 📚 Sumário do Módulo · ➡️ Próximo Capítulo