Chains
Последовательные цепочки обработки
Использование LangChain концепций для построения AI цепочек
n8n реализует ключевые концепции LangChain через визуальные ноды:
Chains
Последовательные цепочки обработки
Agents
Автономные агенты с инструментами
Memory
Хранение контекста диалога
Retrievers
Поиск релевантных документов
Простейшая цепочка: prompt → LLM → output.
| Компонент | Описание |
|---|---|
| Prompt Template | Шаблон с переменными |
| LLM | Языковая модель |
| Output Parser | Парсинг ответа (опционально) |
Prompt Template:"Классифицируй следующий текст по категориям:положительный, отрицательный, нейтральный.
Текст: {{ $json.text }}
Категория:"
Output: "положительный"Последовательные LLM вызовы:
Системное сообщение:"Ты эксперт по {{ $json.domain }}. Отвечай на {{ $json.language }}."
Пользовательское сообщение:"{{ $json.question }}"| Роль | Назначение |
|---|---|
| System | Инструкции для модели |
| Human | Сообщение пользователя |
| AI | Предыдущий ответ модели |
Примеры:Вход: "Привет" → Выход: "greeting"Вход: "Сколько стоит?" → Выход: "pricing"Вход: "Не работает!" → Выход: "support"
Классифицируй: "{{ $json.message }}"Получение JSON из LLM:
Prompt:"Извлеки информацию из текста и верни JSON:{ "name": "имя", "email": "email", "phone": "телефон"}
Текст: {{ $json.text }}"
Output (parsed):{ "name": "Иван Петров", "email": "ivan@example.com", "phone": "+7 999 123 4567"}Автоматическое исправление невалидного JSON:
Поиск релевантных документов:
| Параметр | Описание |
|---|---|
| Top K | Количество документов (default: 4) |
| Score Threshold | Минимальная релевантность |
Model: text-embedding-3-smallDimensions: 1536Model: nomic-embed-textBase URL: http://localhost:11434| Store | Описание |
|---|---|
| Pinecone | Managed облачный сервис |
| Qdrant | Open-source, self-hosted |
| Supabase | PostgreSQL + pgvector |
| Chroma | Lightweight, embedded |
| In-Memory | Для тестирования |
| Операция | Описание |
|---|---|
| Insert | Добавить документы |
| Get | Получить по ID |
| Get Many | Получить несколько |
| Search | Векторный поиск |
| Delete | Удалить документы |
| Loader | Форматы |
|---|---|
| File | TXT, PDF, DOCX |
| URL | Web pages |
| GitHub | Repositories |
| Notion | Pages, databases |
Разбиение на chunks:
| Параметр | Описание |
|---|---|
| Chunk Size | Размер фрагмента (tokens) |
| Chunk Overlap | Перекрытие между фрагментами |
| Separator | Разделитель (default: \n\n) |
Original: 5000 tokensChunk Size: 500Overlap: 50Result: 11 chunksТип: Map-Reduce
1. Map: Summarize each chunk2. Reduce: Combine summaries
Input: 50 page documentOutput: 1 paragraph summaryТип: Stuff
1. Retrieve relevant chunks2. Stuff into context3. Generate answer
Prompt:"На основе контекста ответь на вопрос.
Контекст:{{ $json.context }}
Вопрос: {{ $json.question }}
Ответ:"