← На главную Портфолио
AI Automation

Корпоративная AI-Экосистема

От хаоса документов до умного RAG-ассистента с семантическим кэшем.

End-to-End архитектура на базе n8n v2.27.3 (Self-hosted) и Supabase. Система автоматически ingests (загружает) PDF/DOCX, классифицирует их через LLM, векторизует и отдает мгновенные ответы клиентам в Telegram с нулевым уровнем галлюцинаций.

n8n v2.27.3
Supabase (pgvector)
GigaChat & Ollama
Docker Compose
NocoDB
ЗадачаКлиенты поддержки ждали ответов часами. Документация разрознена по PDF/DOCX, поиск отсутствовал.
Моя работаСпроектировал dual-contour RAG-систему: авто-загрузка документов → векторизация → семантический кэш → Telegram-бот с zero-hallucination.
Технологииn8n 2.27.3, Supabase (pgvector), GigaChat, Ollama (all-minilm), Docker, NocoDB
Результат−60% затрат на LLM через семантический кэш, <1 сек на повторные вопросы, 24/7 обработка
Архитектура RAG-системы в n8n

Глобальная Архитектура (Dual-Contour)

Система разделена на два независимых, но синхронизированных через Supabase контура. Это обеспечивает отказоустойчивость: падение одного воркфлоу не ломает другой.

Webhook
Upload PDF/DOCX
Contour 1
Ingestion Pipeline
Supabase
Vector DB + Cache
Contour 2
RAG Telegram Bot
Client
Instant Answers

Contour 1: Умная Загрузка (Ingestion)

Как мы превращаем сырые файлы в структурированную, дедуплицированную базу знаний без дублей и с умной маршрутизацией.

Fingerprint Deduplication

Умный хэш на базе размера файла + первых/последних 3000 символов Base64. Файл можно переименовать или пересохранить — система поймет, что контент уже загружен.

Гибридный Парсинг

PDF обрабатывается нативно в n8n. Для тяжелых DOCX поднят отдельный микросервис (crm-docxparser), что разгружает основной Docker-контейнер n8n.

AI-Классификация

GigaChat автоматически определяет тему каждого чанка: automation, project, consultation, sales, faq. Данные пишутся в Supabase с мета-тегами.

Векторизация

Использование HuggingFace (all-MiniLM-L6-v2) для пакетной фоновой обработки. Чанки разбиваются с overlap (1000 символов, 200 overlap) для сохранения контекста.

IN_Validate_File.js (Smart Fingerprinting) n8n Code Node
// 🧬 УМНЫЙ ХЭШ: Берем размер + первые и последние 3000 символов base64. // Это гарантирует, что даже если файл переименовать, хэш останется тем же! const snippetLength = 3000; const startSnippet = base64Data.substring(0, snippetLength); const endSnippet = base64Data.length > snippetLength ? base64Data.substring(base64Data.length - snippetLength) : ''; const fingerprint = `${fileSize}_${startSnippet}_${endSnippet}`; let hash = 0; for (let i = 0; i < fingerprint.length; i++) { hash=((hash << 5) - hash) + fingerprint.charCodeAt(i); hash |= 0; }

Contour 2: RAG-Ассистент (Interaction)

Как клиенты получают мгновенные, точные и безопасные ответы в Telegram с поддержкой диалога и аналитикой.

Semantic Cache (Supabase)

Перед запуском тяжелого LLM-агента система проверяет кэш. Если похожий вопрос уже задавали — ответ отдается за <1 секунду. Экономия токенов до 60%.

Локальные Эмбеддинги

Для RAG-поиска используется локальная модель Ollama (all-minilm). Это гарантирует приватность данных и нулевую задержку на этапе retrieval.

Zero-Hallucination

Жесткий системный промпт. Если ответа нет в базе — бот честно признается и предлагает связаться с менеджером. Строгий запрет на выдумывание фактов.

Feedback Loop & CRM

Каждый диалог, latency и статус пишутся в NocoDB. Инлайн-кнопки 👍/👎 в Telegram позволяют пользователям оценивать ответы, данные улетают в CRM.

OUT_Parse_For_Logging.js (Cleaning LLM Output) n8n Code Node
// 🧹 1. Удаляем "ход мыслей" агента и вызовы тулов cleanAnswer = cleanAnswer.replace(/## Calling[\s\S]*? `(?:python|json)?[\s\S]*?`/gi, ''); // 🧹 2. УБИРАЕМ ВСЕ MARKDOWN-СИМВОЛЫ (чтобы Telegram не ломался) cleanAnswer = cleanAnswer.replace(/\*\*(.+?)\*\*/g, '$1'); // жирный → жирный cleanAnswer = cleanAnswer.replace(/\*(.+?)\*/g, '$1'); // курсив → курсив cleanAnswer = cleanAnswer.replace(/^#{1,6}\s+/gm, ''); # Заголовки → Заголовки // 🔍 3. Извлечение источника для прозрачности const sourceMatch = cleanAnswer.match(/Источник:\s*(.+)/i); const sources = sourceMatch ? sourceMatch[1].trim() : 'не указан';

Бизнес-Ценность & Результаты

Инженерная элегантность, которая напрямую влияет на деньги и время бизнеса.

-60%
Затрат на API LLM
(благодаря Semantic Cache)
<1s
Время ответа на
повторяющиеся вопросы
24/7
Автоматическая обработка
входящих документов
0%
Галлюцинаций
(Zero-Hallucination Prompt)
×3
Скорость онбординга
новых сотрудников
~2 млн
Экономия в год
на L1-поддержке

Для Бизнеса

  • ✅ Снижение нагрузки на L1-поддержку на 40%+ — клиенты получают ответы без участия человека.
  • ✅ Онбординг новых сотрудников за часы вместо недель: база знаний доступна 24/7 в Telegram.
  • ✅ Полная прозрачность: NocoDB показывает, какие темы волнуют клиентов — данные для Product-команды.
  • ✅ Масштабируемость: добавление новых категорий и документов без переписывания ядра.
  • ✅ Конкурентное преимущество: мгновенная поддержка повышает NPS и удерживает клиентов.

Для Инженерии

  • ✅ Self-hosted Docker-архитектура (полный контроль над данными).
  • ✅ Разделение эмбеддингов: HF для фона, Ollama для онлайна.
  • ✅ Graceful Degradation: Fallback-обработчик при падении API.
  • ✅ Мониторинг через NocoDB: latency, статусы, feedback loop — всё в одной таблице.