Documentação completa de um workflow n8n de **RAG de Contexto…
INEMA
Assistente RAG de Contexto Híbrido
Fluxo de Ingestão de Dados & Vetorização⌗
- Monitoramento do Google Drive: Observa uma pasta em busca de novos documentos e extrai automaticamente o conteúdo textual.
- Geração de embeddings com OpenAI: Converte trechos dos documentos em vetores usando o modelo text-embedding-large.
- Armazenamento vetorial no Supabase: Envia os trechos vetorizados com indexação por linhas para recuperação sequencial.
Fluxo de Recuperação Híbrida & Resposta⌗
- Disparo via interface de chat: Recebe consultas por meio do chat nativo do n8n (configurável para webhook/aplicativos de mensagens).
- Execução de busca semântica: O agente invoca a ferramenta de conteúdo vetorial (sub-workflow) para consultar o Supabase e obter trechos relevantes.
- Expansão de contexto: Um script em JavaScript extrai 2 linhas anteriores e 2 posteriores a cada trecho recuperado, fornecendo contexto adicional.
- Agregação de contexto: Combina os trechos semanticamente relevantes com o texto adjacente em um único bloco de contexto.
- Processamento de chat com Gemini: Envia o contexto expandido para o modelo Gemini (escolhido por sua grande janela de contexto).
- Modelo de fallback: Alterna automaticamente para um modelo reserva caso o principal exceda o tempo limite ou o limite de tokens.
Caso de Negócio / Caso de Uso⌗
- Solução: Um sistema RAG que recupera não apenas trechos semanticamente relevantes, mas também o contexto ao redor — entregando respostas mais precisas para consultas complexas em que nuances e informações sequenciais são essenciais.
Proposta de Valor⌗
- Maior Precisão nas Respostas: Trechos contextuais “antes e depois” reduzem interpretações equivocadas de fragmentos isolados.
- Melhor Compreensão Narrativa: Mantém o fluxo do documento e as relações entre conceitos que a busca puramente semântica não capta.
- Fallback Inteligente: Troca automática de modelos para evitar falhas do workflow devido a janelas de contexto muito grandes.
- Controle Flexível de Contexto: Ajuste da profundidade de recuperação (linhas antes/depois) conforme o equilíbrio entre precisão e custo.
Compradores Ideais / Setores⌗
- Equipes Jurídicas & Compliance: Contratos, políticas e regulamentos em que cláusulas adjacentes são críticas para a interpretação.
- Documentação Técnica: Documentação de APIs e manuais de sistemas, onde sequências de passos e pré-requisitos importam.
- Pesquisa Médica: Estudos clínicos e protocolos de tratamento que exigem contexto completo sobre achados e contraindicações.
- Serviços Financeiros: Contratos de empréstimo e prospectos de investimento, onde termos fazem referência a outras seções.
- Pesquisa Acadêmica: Artigos científicos em que os argumentos se constroem a partir de parágrafos e citações anteriores.
- Suporte ao Cliente (Produtos Complexos): Guias de troubleshooting em que processos de múltiplas etapas requerem contexto sequencial.
Recursos⌗
RAG de Contexto Híbrido
🧠 Hacks de Qualidade de Resposta⌗
-
Chunk semântico + estrutural
-
Faça chunking por parágrafo/título (e não só por tamanho fixo).
-
Preserve headers para o LLM entender hierarquia.
-
Contexto assimétrico
-
Use mais contexto antes do chunk do que depois (ex.: 3 antes / 1 depois).
-
Funciona muito bem para contratos e documentação técnica.
-
Ordenação obrigatória
-
Sempre reordene os chunks pelo índice original antes de enviar ao LLM.
-
Evita respostas confusas ou fora de sequência.
-
Contexto mínimo garantido
-
Mesmo com 1 chunk retornado, force pelo menos X linhas de contexto.
💰 Hacks de Custo e Performance⌗
-
Dois níveis de RAG
-
1ª busca: poucos chunks (rápida).
-
2ª busca: só expande contexto se score > threshold.
-
Score threshold
-
Ignore chunks com similaridade baixa.
-
Reduz tokens e ruído.
-
Cap dinâmico de contexto
-
Limite total de tokens do contexto (ex.: 6k).
-
Corte os chunks menos relevantes se passar do limite.
-
Fallback inteligente
-
Use modelo caro só quando o contexto expandido for necessário.
- Caso contrário, responda com modelo mais barato.
⚙️ Hacks de Engenharia (n8n / Workflow)⌗
-
Sub-workflow isolado
-
Mantenha ingestão, busca e chat separados.
-
Facilita debug e reuso.
-
Cache de queries
-
Cache respostas de perguntas frequentes.
-
Evita reconsultar o banco vetorial.
-
Deduplicação agressiva
-
Remova chunks repetidos antes de montar o contexto final.
-
Logs de contexto
-
Salve o contexto enviado ao LLM para auditoria e melhoria contínua.
📄 Hacks para Casos Específicos⌗
Jurídico⌗
- Sempre incluir cláusula inteira + cláusulas referenciadas.
- Priorize contexto antes do chunk.
Documentação Técnica⌗
-
Forçar inclusão de:
-
Pré-requisitos
- Exemplos
- Avisos (“Note”, “Warning”)
Suporte Técnico⌗
-
Detectar perguntas do tipo “erro” e puxar:
-
Causa
- Solução
- Passos seguintes
🤖 Hacks de Prompting⌗
-
Prompt fixo do agente
-
Instrua explicitamente:
“Use a ordem do texto e não responda fora do contexto fornecido.”
-
Modo explicativo
-
Peça para o modelo citar em qual parte do contexto a resposta se baseia.
🔥 Hack avançado (nível sênior)⌗
-
Context window adaptativo
-
Comece pequeno.
- Se o LLM responder “informação insuficiente”, faça retry automático com mais contexto.
Passo a Passo
1. Planejamento da Arquitetura⌗
- Defina o caso de uso (jurídico, técnico, suporte, pesquisa etc.).
-
Escolha:
-
Fonte de documentos (Google Drive, S3, banco interno).
- Banco vetorial (Supabase, Pinecone, Postgres).
- Modelo de embeddings.
- Modelo de LLM principal e modelo de fallback.
- Decida a profundidade de contexto (quantos chunks antes/depois).
2. Preparar a Fonte de Dados⌗
- Organize os documentos em pastas claras e padronizadas.
- Garanta que os arquivos estejam em formatos suportados (PDF, DOCX, TXT).
- Padronize a estrutura para facilitar chunking e indexação.
3. Criar o Workflow de Ingestão (n8n)⌗
- Configure o gatilho (ex.: monitoramento do Google Drive).
- Extraia o texto dos documentos.
- Divida o texto em chunks sequenciais (com índice/linha).
- Gere embeddings usando o modelo escolhido.
-
Armazene:
-
Vetores
- Texto original
- Índice de linha no banco vetorial.
4. Configurar o Banco Vetorial⌗
-
Criar tabela/coleção para:
-
ID do documento
- Conteúdo do chunk
- Embedding
- Índice sequencial (linha)
- Validar consultas de similaridade.
- Testar inserção e recuperação manualmente.
5. Criar o Sub-Workflow de Busca Semântica⌗
- Receber a query do usuário.
- Gerar embedding da query.
- Executar busca semântica no banco vetorial.
- Retornar os chunks mais relevantes com seus índices.
6. Implementar a Expansão de Contexto⌗
-
Usar JavaScript para:
-
Identificar o índice de cada chunk retornado.
- Buscar N linhas anteriores e N posteriores.
- Evitar duplicações e ultrapassar limites do documento.
- Ajustar N conforme custo vs. precisão.
7. Agregar o Contexto⌗
-
Unir:
-
Chunks semanticamente relevantes
- Chunks de contexto (antes/depois)
- Ordenar corretamente pelo índice.
- Gerar um bloco único de contexto.
8. Configurar o Agente de Chat⌗
- Criar o agente no n8n.
- Conectar o sub-workflow de busca (vector content tool).
- Definir o modelo principal (ex.: Gemini – grande janela de contexto).
- Ativar e configurar modelo de fallback.
9. Criar a Interface de Chat⌗
-
Usar:
-
Chat nativo do n8n, ou
- Webhook, ou
- App de mensagens (Slack, WhatsApp, etc.).
- Garantir envio correto da pergunta ao agente.
10. Testes e Validação⌗
- Testar com perguntas simples e complexas.
-
Validar:
-
Qualidade das respostas
- Uso de contexto correto
- Custo de tokens
- Tempo de resposta
- Ajustar chunk size e contexto expandido.
11. Tratamento de Erros e Otimização⌗
- Configurar timeout e fallback corretamente.
- Evitar repetição excessiva de contexto.
- Monitorar logs e falhas.
- Ajustar limites de busca e contexto.
12. Deploy e Manutenção⌗
- Documentar o fluxo para clientes/equipe.
- Monitorar consumo de APIs.
-
Revisar periodicamente:
-
Modelos
- Estrutura dos documentos
- Qualidade das respostas
- Ajustar conforme novos casos de uso.
✅ Resultado: um sistema RAG de Contexto Híbrido robusto, preciso e adaptável, pronto para produção e escalável conforme a necessidade do negócio.
Componentes da solução
- Fonte de documentos (ex.: Google Drive ou outra origem de dados)
- Workflow de ingestão (extração de texto dos documentos)
- Modelo de embeddings (ex.: OpenAI text-embedding-large)
- Banco de dados vetorial (ex.: Supabase, Pinecone, Postgres)
- Indexação por linhas/chunks (para recuperação sequencial)
- Interface de chat (n8n chat, webhook ou sistema de mensagens)
- Agente RAG (orquestra busca e resposta)
- Ferramenta de busca semântica (vector content tool / sub-workflow)
- Script de expansão de contexto (JavaScript para buscar linhas antes/depois)
- Agregador de contexto (combina chunks relevantes + contexto adjacente)
- Modelo de linguagem principal (ex.: Gemini, com grande janela de contexto)
- Modelo de fallback (backup em caso de timeout ou limite de tokens)
- Configuração de contexto (controle de quantidade de chunks e profundidade)
- Gerenciamento de APIs e credenciais
- Tratamento de erros e testes do workflow
Resumo dos tópicos
-
RAG de Contexto Híbrido: Combina busca semântica com contexto anterior e posterior aos trechos relevantes.
-
Ingestão de Dados: Documentos são coletados (ex.: Google Drive), textos extraídos e convertidos em embeddings.
-
Armazenamento Vetorial: Conteúdo vetorizado é salvo em um banco vetorial (ex.: Supabase).
-
Busca Semântica: O agente localiza os chunks mais relevantes para a pergunta do usuário.
-
Expansão de Contexto: Recupera trechos antes e depois de cada chunk para manter o sentido e a sequência.
-
Agregação de Contexto: Une todos os textos relevantes em um único bloco para resposta.
-
Modelo de Linguagem: Usa um modelo com grande janela de contexto (ex.: Gemini).
-
Fallback de Modelo: Alterna automaticamente para outro modelo em caso de erro ou limite de tokens.
-
Configuração Flexível: Permite ajustar fonte de dados, banco vetorial, modelo de embedding e profundidade de contexto.
Resumo do objetivo da solução
O objetivo da solução é aumentar a precisão das respostas em sistemas RAG ao combinar busca semântica com contexto sequencial. Em vez de retornar apenas os trechos mais relevantes, o sistema também recupera os fragmentos anteriores e posteriores a cada chunk encontrado, preservando o fluxo e o significado do conteúdo original.
Com isso, o agente consegue entender melhor nuances, dependências e sequências de informação, entregando respostas mais confiáveis para consultas complexas, ao mesmo tempo em que mantém controle de custo e robustez por meio de ajuste de contexto e uso de modelos de fallback.
nm77 - RAG Contexto Hibrido
1