ai-consultant-rag
Готовый сценарий n8n: ИИ-консультант в Telegram, отвечающий из базы знаний (RAG). Не фантазирует - берёт ответ из ваших документов. Принимает голос и текст, квалифицирует обратившегося и отдаёт горячего лида менеджеру со сводкой.
Под любую нишу подходит один и тот же движок - меняется только содержимое базы. Канал общения (Telegram) при желании заменяется на WhatsApp или виджет сайта.
📖 Полный разбор со скриншотами узлов n8n и живым демо чата: delai.agency/avtomatizacii/ai-konsultant-telegram-n8n
Там пошагово: как собирали оба сценария, что ломалось и как чинили, сколько стоит на потоке.
Состав репозитория
workflow.json- бот целиком: приём сообщения из Telegram, ветка для голоса (расшифровка через Whisper), ИИ-агент с памятью и поиском по базе, разбор ответа и передача менеджеру.kb-ingestion.json- отдельный сценарий загрузки документов в векторное хранилище. Запускается руками: первый раз и при каждом обновлении базы..env.example- перечень значений для подстановки (ключ OpenAI, токен бота, chat id менеджера).
Поток данных
Триггер Telegram -> «Печатает...» -> развилка голос/текст
голос -> скачать файл -> Whisper -> текст ┐
текст ------------------------------------┤-> объединить -> ИИ-агент
├─ модель gpt-4o-mini
├─ память по chat id
└─ поиск по базе delai_kb
|
разобрать ответ и метку лида -> «Горячий лид?»
да -> уведомить менеджера -> ответ клиенту
нет -> ответ клиенту
Перед ответом агент обязательно дёргает поиск по базе, поэтому отвечает строго по вашим данным. Для горячего лида с контактом агент добавляет в конец служебную метку [[LEAD|hot|ниша|задача|контакт]]; код её разбирает, ветка IF шлёт менеджеру сводку, а из текста клиенту метка удаляется.
Почему ответ берётся из базы (RAG)
Сценарий kb-ingestion.json переводит документы в векторный вид под ключом delai_kb, а инструмент бота «Поиск по базе знаний» читает оттуда же. Изменили прайс или условие - поправили документы в Code-ноде, перезапустили загрузку, бот сразу актуален.
⚠️ По умолчанию используется In-Memory Vector Store: удобно для проверки, но хранилище очищается при перезапуске n8n, и оба сценария должны жить в одном экземпляре n8n ради общего ключа
delai_kb. На боевом проекте поставьте постоянное хранилище (Pinecone, Qdrant, Supabase) в обоих сценариях.
Таблица замен
| Узел / место | Значение | Где взять |
|---|---|---|
| credential OpenAI | ключ API | platform.openai.com/api-keys |
| credential Telegram | токен бота | @BotFather, команда /newbot |
| «Уведомить менеджера» | REPLACE_WITH_MANAGER_CHAT_ID |
свой id у @userinfobot |
«Документы базы знаний DelAI» (в kb-ingestion.json) |
текст базы | ваши услуги и условия |
Запуск по шагам
- Импортируйте в n8n оба файла: Workflows → Import from File (сначала
workflow.json, затемkb-ingestion.json). - Создайте credential для OpenAI и для Telegram (токен бота).
- Замените
REPLACE_WITH_MANAGER_CHAT_IDна свой chat id в ноде «Уведомить менеджера». - Впишите свою базу знаний в Code-ноду «Документы базы знаний DelAI» вместо примера.
- Один раз выполните
kb-ingestion.json, после чего включитеworkflow.json. - Отправьте боту
/start. Учтите: менеджер должен сам первым написать боту, иначе сводка до него не дойдёт.
Подробный разбор
Статья со скриншотами узлов и живым демо чата: https://delai.agency/avtomatizacii/ai-konsultant-telegram-n8n/
Лицензия
MIT - файл LICENSE.
Сделано в DelAI.