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ísticasIndicado para
Simple Vector StoreFica na memória do n8n, sem necessidade de instalaçãoAprendizado e testes (os dados desaparecem quando você reinicia)
Qdrant Vector StoreBanco de dados vetorial dedicado, que você pode hospedar com DockerUso em produção
Postgres PGVector StorePostgreSQL + extensão pgvectorQuem já usa PostgreSQL
Pinecone, Supabase etc.Serviços em nuvemQuem 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

  1. When chat message received → AI Agent.
  2. Conecte Chat Model e Memory ao AI Agent (veja também Introdução ao AI Agent).
  3. 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
  4. Conecte também este Vector Store ao mesmo modelo de Embeddings.
  5. 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