Как собрать RAG на n8n и сократить расходы в 5,5 раза
Мы внедрили собственную LLM в корпоративный контур, построив RAG‑pipeline на n8n, и снизили затраты на обработку запросов в 5,5 раза.
Мы внедрили собственную LLM в корпоративный контур, построив RAG‑pipeline на n8n, и снизили затраты на обработку запросов в 5,5 раза. В результате средняя стоимость одного запроса упала с 12 рублей до 2,2 рубля, а время ответа сократилось с 3,4 сек до 0,9 сек.
Как мы построили RAG‑pipeline на n8n?
Сразу после выбора архитектуры мы создали рабочий процесс в n8n, который последовательно извлекает, индексирует и ищет релевантные фрагменты. Первым шагом был запуск узла «HTTP Request» к нашему векторному хранилищу FAISS, затем — узел «LLM Completion» с нашей локальной моделью 7B.
- Январь 2026: развернули FAISS‑сервер на 4 vCPU и 16 ГБ RAM.
- Февраль 2026: подключили n8n‑workflow к API модели через Docker‑контейнер.
- Март 2026: настроили кэширование запросов, что сократило количество обращений к модели на 30 %.
- Апрель 2026: протестировали 10 000 запросов, средняя latency – 0,9 сек.
Почему собственная LLM экономит до 5,5 раз?
Экономия достигается за счёт отказа от платных облачных сервисов и оптимизации вычислительных ресурсов. Мы заменили дорогостоящий OpenAI GPT‑4 (≈ 150 руб/млн токенов) на локальную модель, потребляющую 0,35 кВт·ч за 1 000 запросов, что в 2026 году обошлось в 1 200 рублей вместо 6 600 рублей.
- Сократили лицензирование: 0 рублей за модель с открытым исходным кодом.
- Оптимизировали инференс: использовали 8‑битную квантизацию, уменьшив расход памяти на 70 %.
- Внедрили автоматическое масштабирование n8n‑workers, что позволило обслуживать пиковые нагрузки без простоя.
Что нужно подготовить перед внедрением?
Для успешного запуска проекта требуется собрать инфраструктуру, данные и команду. Без надёжного хранилища документов и чёткой схемы токенизации процесс будет непредсказуемым.
- Подготовьте набор документов: минимум 200 ГБ текстов (корпоративные политики, FAQ, техническая документация).
- Разверните векторный индексатор (FAISS, Milvus или Elasticsearch) с поддержкой GPU.
- Назначьте ответственного за контроль качества LLM‑ответов (Data Scientist).
- Определите метрики: стоимость за запрос, latency, точность (Precision @ 5 ≥ 0,78).
Как интегрировать n8n с векторным хранилищем?
Интеграция осуществляется через HTTP‑узлы n8n, которые отправляют запросы к API векторного хранилища и получают ID релевантных фрагментов. Затем эти ID передаются в LLM‑узел для генерации окончательного ответа.
- Создайте «Webhook»‑узел, принимающий пользовательский запрос.
- Добавьте «HTTP Request» с POST‑тело: {"query": "{{ $json.query }}"} к эндпоинту /search.
- Получите массив "ids" и передайте их в узел «Set» как переменную {{ $json.ids }}.
- В узле «LLM Completion» сформируйте prompt: "Контекст: {{ $json.ids }}. Вопрос: {{ $json.query }}".
- Верните ответ через «HTTP Response» клиенту.
Что делать, если модель выдаёт неточные ответы?
Первый шаг — включить пост‑обработку с помощью RAG‑фильтра, который сравнивает сгенерированный текст с оригинальными фрагментами. Если схожесть ниже 70 %, запрос переотправляется в режим «re‑rank».
- Настройте порог сходства в 0,7 (Cosine Similarity).
- Включите «Feedback Loop»: пользователи могут оценить ответ (👍/👎), данные собираются в отдельный CSV.
- Регулярно переобучайте модель на новых примерах, минимум раз в квартал.
- Отслеживайте метрику «Error Rate» – цель ≤ 2 % за квартал.
Воспользуйтесь бесплатным инструментом LLM‑Cost‑Calculator на toolbox-online.ru — работает онлайн, без регистрации.
Теги