Conteúdo
Tutorial de RAG no n8n: crie uma base de conhecimento que responde com base em documentos
Os modelos de IA não conhecem as políticas da sua empresa, os manuais dos produtos nem as perguntas frequentes. RAG funciona assim: primeiro, você salva os documentos em um “banco de dados vetorial”; quando alguém faz uma pergunta, encontra os trechos mais relevantes e os envia ao modelo para que responda com base nesse conteúdo.
No n8n, o RAG costuma ser dividido em dois workflows:
① Importação de documentos: [Obter documentos] ─▶ [Vector Store: inserir] ← [Embeddings] + [Document Loader + Text Splitter]
② Perguntas e respostas: [Chat Trigger] ─▶ [AI Agent] ← [Chat Model] + [Memory] + [ferramenta Vector Store ← Embeddings]
Para entender os princípios, consulte Embeddings de texto e RAG com Ollama.
Escolha um banco de dados vetorial
| Nó | Características | Indicado para |
|---|---|---|
| Simple Vector Store | Fica na memória do n8n, sem necessidade de instalação | Aprendizado e testes (os dados desaparecem quando você reinicia) |
| Qdrant Vector Store | Banco de dados vetorial dedicado, que você pode hospedar com Docker | Uso em produção |
| Postgres PGVector Store | PostgreSQL + extensão pgvector | Quem já usa PostgreSQL |
| Pinecone, Supabase etc. | Serviços em nuvem | Quem não quer fazer a própria manutenção |
A seguir, vamos usar o Simple Vector Store como exemplo e, no final, veremos como substituí-lo pelo Qdrant.
Workflow ①: importar documentos
1. Acione o workflow e obtenha os documentos
- Para testar, use Form Trigger com um campo de upload de arquivo e envie um PDF diretamente.
- Para uso em produção, você pode usar Google Drive Trigger (quando um novo arquivo é adicionado a uma pasta) + o nó Google Drive para baixar o arquivo.
2. Adicione o nó Vector Store
Adicione Simple Vector Store e selecione Insert Documents como modo de operação. Em Memory Key, informe um nome, por exemplo, company_docs (você usará o mesmo nome ao responder perguntas).
3. Conecte Embeddings
No conector Embeddings, selecione um modelo de embeddings:
- Embeddings OpenAI
- Embeddings Ollama (gratuito e local; para chinês, recomendamos
bge-m3)
A importação e a consulta precisam usar o mesmo modelo de embeddings, senão os vetores não poderão ser comparados.
4. Conecte Document Loader e Text Splitter
- Default Data Loader: em Type of Data, selecione Binary (arquivo) ou JSON (dados de texto).
- Conecte Recursive Character Text Splitter ao Data Loader:
- Chunk Size: quantidade de caracteres por trecho; para documentos em chinês, comece com 500 a 800
- Chunk Overlap: quantidade de caracteres repetidos entre trechos adjacentes, por exemplo, 100
Execute uma vez para dividir o documento em partes, convertê-las em vetores e armazená-las.
Workflow ②: perguntas e respostas
- When chat message received → AI Agent.
- Conecte Chat Model e Memory ao AI Agent (veja também Introdução ao AI Agent).
- Adicione Simple Vector Store ao conector Tool e selecione Retrieve Documents (As Tool for AI Agent) como modo de operação:
- Memory Key:
company_docs - Description:
Consulte as políticas internas e os documentos de produtos da empresa. Use esta ferramenta antes de responder a qualquer pergunta sobre políticas da empresa ou especificações de produtos. - Limit: quantidade de trechos recuperados por consulta, por exemplo, 4
- Memory Key:
- Conecte também este Vector Store ao mesmo modelo de Embeddings.
- Use este prompt de sistema no AI Agent:
Você é o assistente da base de conhecimento interna da empresa. Responda em português brasileiro.
Sempre consulte a ferramenta da base de conhecimento antes de responder.
Responda apenas com base no conteúdo encontrado; se não encontrar informações relevantes, diga diretamente “Não há informações relevantes na base de conhecimento”, sem fazer suposições.
Clique em Open chat para testar e pergunte sobre o conteúdo dos documentos.
Os dados do Simple Vector Store ficam na memória. Os dois workflows precisam ser executados na mesma instância do n8n e, após reiniciar o n8n, você precisa importar os documentos novamente.
Mude para Qdrant (uso em produção)
Adicione o Qdrant ao Docker Compose:
qdrant:
image: qdrant/qdrant
volumes:
- qdrant_data:/qdrant/storage
restart: unless-stopped
(Lembre-se de adicionar qdrant_data: à seção volumes:.)
Substitua o Simple Vector Store nos dois workflows por Qdrant Vector Store, informe http://qdrant:6333 no campo URL das credenciais e defina o mesmo nome em Collection. Os dados serão salvos permanentemente.
Melhore a qualidade das respostas
- A qualidade dos documentos é o mais importante: converta PDFs digitalizados em texto primeiro; informações em tabelas e imagens talvez não sejam lidas corretamente.
- Ajuste o tamanho dos trechos: aumente Chunk Size quando faltarem informações de contexto; diminua-o quando as respostas incluírem conteúdo irrelevante.
- Adicione metadados: no Data Loader, adicione metadados como nome e categoria do documento. Assim, as respostas podem indicar a fonte e você pode filtrar por categoria.
- Atualize os documentos: quando um documento for atualizado, exclua os vetores antigos antes de importá-lo novamente. Caso contrário, o conteúdo antigo e o novo serão recuperados juntos.
- Escolha um bom modelo de embeddings: para conteúdo em chinês, recomendamos um modelo de embeddings multilíngue.
Além de documentos
Você também pode usar essa abordagem para:
- Histórico de perguntas e respostas do suporte → responder automaticamente às perguntas frequentes
- Catálogo de produtos → assistente de recomendação de produtos
- Atas de reunião → “O que foi decidido na última reunião?”
Atualizado 12 de outubro de 2026