В эпоху цифровой трансформации автоматизация коммуникаций становится ключевым инструментом для бизнеса. В этой статье мы подробно разберем, как создать умного чат-бота для Telegram, способного обрабатывать текстовые и голосовые сообщения, взаимодействовать с OpenAI, сохранять контекст диалога и предоставлять персонализированные рекомендации. Все это реализуем на платформе n8n — мощном инструменте для workflow-автоматизации.
Зачем нужен такой бот?
Представьте виртуального ассистента, который:
-
Принимает запросы голосом и текстом.
-
Анализирует вопросы через нейросеть GPT.
-
Хранит историю диалога для персонализации.
-
Интегрирован с документами компании (например, списком услуг).
-
Перенаправляет клиентов на живого специалиста при необходимости.
Такой бот не только экономит время, но и повышает лояльность клиентов, предлагая мгновенные ответы 24/7. Давайте реализуем этот проект шаг за шагом.
Шаг 1: Подготовка инфраструктуры
-
Регистрация в OpenAI:
-
Получите API-ключ в кабинете OpenAI (нужен VPN, а также карта Visa/Mastercard либо готовый аккаунт с балансом).
-
Создайте ассистента через раздел Assistants, загрузив файл с описанием услуг (например, PDF или TXT).
-
-
Настройка n8n:
-
Установите n8n локально или используйте облачную версию.
-
Добавьте интеграции: Telegram Bot (через @BotFather) и OpenAI (через полученный API-ключ).
-
Шаг 2: Создание базового workflow в n8n
-
Триггер для Telegram:
-
Нода Telegram Trigger будет отслеживать входящие сообщения.
-
Настройте вебхук для вашего бота, используя инструкции n8n.
-
-
Разделение потоков: Switch-нода:
-
Добавьте ноду Switch для обработки двух типов данных:
-
Текстовые сообщения: Проверка условия
text exists
. -
Голосовые сообщения: Условие
voice exists
.
-
-
Это позволяет создать отдельные ветки обработки для разных форматов ввода.
-
Шаг 3: Обработка голосовых сообщений
-
Загрузка аудио:
-
Используйте ноду Telegram Get File для получения файла голосового сообщения по его
file_id
. -
Передайте файл в ноду OpenAI Transcribe для преобразования речи в текст.
-
-
Унификация данных:
-
Объедините текстовые и голосовые запросы через ноду Set, сохранив результат в переменную
message
. -
Используйте ноду Merge, чтобы связать
message
сchat_id
пользователя для персонализации ответов.
-
Шаг 4: Интеграция с OpenAI Assistant
-
Настройка ассистента:
-
В кабинете OpenAI задайте системную инструкцию, например:
"Ты — консультант компании Company. Отвечай вежливо, используй информацию из прикрепленного файла о товарах и услугах. При сложных запросах предлагай связаться с менеджером."
-
Прикрепите файл с услугами компании (например, «Услуги.pdf»).
-
-
Работа с памятью:
-
Добавьте ноду Buffer Memory для сохранения контекста диалога.
-
Настройка
chat_id
гарантирует, что история не смешивается между пользователями.
-
Шаг 5: Формирование ответа и отправка в Telegram
-
Генерация ответа:
-
Нода OpenAI Assistant обрабатывает запрос, используя прикрепленные файлы и историю диалога.
-
Убедитесь, что в параметрах указан
message
из Merge-ноды.
-
-
Обратная связь пользователю:
-
Отправьте ответ через ноду Telegram Send Message, используя
chat_id
для адресности. -
Протестируйте бота, задав вопросы из файла с услугами (например: «Расскажи о ваших тарифах»).
-
Шаг 6: Расширенные настройки и оптимизация
-
Обработка ошибок: Добавьте ноду Catch для перехвата исключений (например, при сбое API).
-
Логирование: Используйте ноду Spreadsheet для сохранения истории запросов в Google Sheets.
-
Мультиязычность: Настройте переводчики (DeepL, Google Translate) для поддержки разных языков.
Пример использования
Пользователь: Отправляет голосовое сообщение: «Нужны ворота. Какие выбрать?»
Бот:
-
Конвертирует аудио в текст.
-
Ищет в прикрепленном файле раздел «Ворота».
-
Формулирует ответ: «Мы осуществляем продажу ворот марок.... производим их установку и гарантийное обслуживание....»
-
Сохраняет контекст для последующих вопросов о курсе.
Проблемы и решения
-
Ошибка «No prompt» в OpenAI: Убедитесь, что переменная
message
передается корректно через Merge. -
Файл не прикреплен к ассистенту: Перепроверьте настройки в OpenAI и обновите API-ключ в n8n.
-
Нет ответа на голосовые сообщения: Проверьте права бота в Telegram и работу ноды Get File.
Готово!
Вы создали полноценного виртуального ассистента с искусственным интеллектом, способного обрабатывать голосовые и текстовые запросы, обучаться на предоставленных данных и вести осмысленный диалог. Такой бот может стать первым шагом к автоматизации службы поддержки, генерации лидов или даже онлайн-обучению.
Идеи для развития проекта:
-
Добавьте синтез речи (Text-to-Speech) для голосовых ответов.
-
Интегрируйте с CRM для автоматического создания заявок.
-
Настройте аналитику через метрики: время ответа, удовлетворенность пользователей.
Используйте гибкость n8n и мощь ИИ, чтобы превратить ваши бизнес-процессы в умные, адаптивные системы! Удачи!