Перейти к содержимому

RAG Workflows

Построение систем Retrieval-Augmented Generation в n8n

RAG (Retrieval-Augmented Generation) — это паттерн, объединяющий поиск по документам с генерацией ответов через LLM.

  • Актуальность — LLM получает свежую информацию
  • Точность — ответы основаны на реальных документах
  • Источники — можно указать откуда информация
  • Стоимость — меньше токенов чем fine-tuning

Поддерживаемые форматы:

  • PDF
  • DOCX
  • TXT
  • Markdown

Text Splitter нода:

ПараметрРекомендация
Chunk Size500-1000 tokens
Chunk Overlap50-100 tokens
Separator\n\n для параграфов

Embeddings нода:

МодельРазмерностьКачество
OpenAI text-embedding-3-small1536Высокое
OpenAI text-embedding-3-large3072Очень высокое
Ollama nomic-embed-text768Хорошее (бесплатно)
-- Создание таблицы
create table documents (
id bigserial primary key,
content text,
embedding vector(1536),
metadata jsonb
);
-- Создание индекса
create index on documents
using ivfflat (embedding vector_cosine_ops);

Vector Store Retriever:

ПараметрОписание
Top KКоличество результатов (4-10)
Score ThresholdМинимальный score (0.7-0.8)

Prompt для LLM:

Ты полезный ассистент. Отвечай на вопросы ТОЛЬКО на основе предоставленного контекста.
Контекст:
{{ $json.context }}
Вопрос: {{ $json.question }}
Правила:
- Если ответа нет в контексте, скажи "Не найдено в документации"
- Указывай источник информации
- Отвечай кратко и по существу
Ответ:
  1. Trigger: Manual или Schedule

  2. Load Documents: Read Binary Files / HTTP Request

  3. Extract Text: PDF, DOCX, или HTML node

  4. Split: Text Splitter с overlap

  5. Embed: OpenAI или Ollama Embeddings

  6. Store: Vector Store Insert

  1. Input: Webhook или Manual

  2. Embed Query: Тот же Embeddings model

  3. Search: Vector Store Retriever

  4. Format Context: Code node для форматирования

  5. Generate: LLM Chain с контекстом

  6. Output: Response

Use case: Поддержка по документации продукта.

Use case: Корпоративная база знаний.

Use case: Анализ юридических документов.

МетодОписание
Hybrid SearchКомбинация vector + keyword
Re-rankingПерераспределение результатов через LLM
Query ExpansionРасширение запроса синонимами
ОптимизацияЭффект
Кэширование embeddings-80% API calls
Локальные embeddings (Ollama)Бесплатно
Batch processing-50% стоимости
ОптимизацияЭффект
ANN индексы (HNSW)10x быстрее поиска
Streaming responsesМгновенный feedback
Pre-computed chunks-2s на запрос
Parent chunk (большой контекст) → для LLM
Child chunks (маленькие) → для поиска
  • AI Agent — агенты с RAG
  • MCP — подключение данных через MCP
  • LangChain — цепочки обработки