Skip links

Как создать Телеграмм Бота через Нейросеть

Телеграм-боты на базе нейросетей — это современный инструмент автоматизации, который объединяет удобство мессенджера с возможностями искусственного интеллекта. В условиях ограничения доступа к ChatGPT в России такие боты становятся особенно актуальными, предоставляя беспрепятственный доступ к возможностям нейросетей.

Основные преимущества создания собственного Телеграм-бота на базе нейросети:

  • Постоянный доступ к AI без ограничений и VPN
  • Персонализация функционала под конкретные задачи
  • Отсутствие рекламы, которая присутствует в публичных ботах
  • Возможность использовать как личный инструмент или для бизнеса
  • Хранение истории запросов и контекста в удобном интерфейсе

Подготовка: необходимые инструменты и ресурсы

Перед тем как приступить к созданию Телеграм-бота на базе нейросети, необходимо подготовить:

  1. Аккаунт Telegram и доступ к BotFather для регистрации нового бота
  2. API-ключ OpenAI (можно получить через сервисы-посредники в России, например, ProxyAPI)
  3. Инструменты для интеграции:
    • Конструкторы без кода (FlowXO, Make.com)
    • Среда разработки для Python (если выбран метод программирования)
    • Доступ к облачным сервисам (Яндекс.Облако или другие)

Получение токена для Телеграм-бота

  1. Откройте Telegram и найдите бот @BotFather
  2. Отправьте команду /newbot
  3. Укажите имя бота и username (должен заканчиваться на “bot”)
  4. Получите и сохраните токен API — это строка вида 123456789:AAG-abcDEF1234ghIJK5678lmnOP910QRst

Получение API-ключа OpenAI

Для работы с ChatGPT через API необходим ключ доступа. В России получить его можно через сервисы-посредники:

  1. Зарегистрируйтесь на платформе (например, ProxyAPI)
  2. Перейдите в раздел “API Keys” или “Ключи API”
  3. Создайте новый ключ и сохраните его

Способ №1: Создание бота через конструктор FlowXO

Как создать Телеграмм Бота через Нейросеть

Самый простой способ создать Телеграм-бота на основе ChatGPT — использовать конструктор FlowXO. Этот метод не требует знания программирования.

Шаг 1: Регистрация в FlowXO и создание бота

  1. Перейдите на FlowXO и зарегистрируйтесь
  2. В разделе “Bots” нажмите “+NEW” и выберите “Telegram”
  3. В поле “Name” введите имя бота
  4. Выберите язык (русский)
  5. Введите username и token API вашего Телеграм-бота
  6. Нажмите “Next”, затем “Done”

Шаг 2: Создание логической цепочки

  1. Перейдите в раздел “Flows” и нажмите “+NEW”
  2. Выберите “Blank Flow” для создания шаблона
  3. Нажмите “Catch all” для создания триггера
  4. Выберите “Connect to specific bots”, отметьте вашего бота и нажмите “Next”
  5. Активируйте поток, переместив переключатель из положения “Off” в “On”

Шаг 3: Настройка запросов к пользователю

  1. Нажмите на плюсик в кружочке
  2. Выберите “Ask a Question” в окне “Select an Action”
  3. В поле “Question” нажмите на символ “><>” в правом верхнем углу
  4. Выберите “User First Name” и добавьте текст “введите свой запрос”
  5. Нажмите “Next”, затем “+ Add a Filter”
  6. Настройте фильтр для команды “/start”

Шаг 4: Интеграция с ChatGPT

  1. Нажмите на плюсик в кружочке
  2. Выберите “Select an Action” → “More services” → “OpenAI”
  3. В выпадающем списке “Action” выберите “Complete Chat (ChatGPT)”
  4. Нажмите “Next”
  5. Вставьте API-ключ OpenAI в поле “Open AI API Token”
  6. В настройках выберите модель “gpt-3.5-turbo” и установите количество токенов (500-1000)
  7. Добавьте фильтр для обработки ответов пользователя

Шаг 5: Настройка отправки ответов

  1. В разделе “Flows” нажмите на плюсик в кружочке
  2. Выберите “Send a Message” в окне “Select an Action”
  3. В поле “Message” выберите “Response”
  4. Добавьте фильтр для обработки ответов от ChatGPT

После завершения настройки бот готов к работе. Проверьте его функциональность, отправив сообщение и получив ответ.

Способ №2: Интеграция через API OpenAI и Make.com

Как создать Телеграмм Бота через Нейросеть

Альтернативный способ создания бота — использование сервиса Make.com (ранее Integromat), который позволяет создавать более сложные сценарии взаимодействия.

Шаг 1: Создание сценария в Make.com

  1. Зарегистрируйтесь на Make.com
  2. В разделе “Scenarios” нажмите “Create a new scenario”
  3. Нажмите на фиолетовый плюс и выберите “Telegram bot” → “Watch Updates”

Шаг 2: Настройка Webhook для Telegram

  1. Щелкните по кружочку Telegram
  2. Нажмите “Create a webhook” → “Create a connection”
  3. Добавьте токен Telegram-бота и нажмите “OK”

Шаг 3: Интеграция с OpenAI API

  1. Добавьте новый модуль через “Add another module”
  2. Выберите “OpenAI” → “Message an assistant”
  3. Создайте соединение с OpenAI, добавив API-ключ
  4. Выберите созданного вами ассистента GPT
  5. В поле “Role” укажите “Assistant”
  6. Для “Message” выберите поле “Text” из первого модуля

Шаг 4: Настройка ответов от бота

  1. Добавьте ещё одно звено через “Add another module”
  2. Выберите “Telegram bot” → “Send a text message or Reply”
  3. В настройках выберите вашего бота
  4. Для “Chat ID” выберите значение из первого модуля Telegram
  5. Для “Text” возьмите значение из модуля OpenAI

Шаг 5: Запуск сценария

  1. Переключите сценарий в положение “On”
  2. Нажмите “Run once” для тестирования
  3. Напишите что-нибудь вашему боту в Telegram

При правильной настройке Make.com автоматизирует процесс получения сообщений от пользователя, их обработки через ChatGPT и отправки ответов обратно в Telegram.

Способ №3: Программирование с Python

Для более гибкой настройки и полного контроля над функционалом бота можно использовать программирование на Python. Этот способ требует базового понимания языка программирования.

Необходимые библиотеки

Copypip install pyTelegramBotAPI
pip install openai

Базовый код для бота

Copyimport telebot
import openai
import logging

# Инициализация
TOKEN = "ВАШ_ТЕЛЕГРАМ_ТОКЕН"
openai.api_key = "ВАШ_OPENAI_API_КЛЮЧ"

# Настройка логирования
logging.basicConfig(level=logging.INFO)
bot = telebot.TeleBot(TOKEN)

# Обработчик команды /start
@bot.message_handler(commands=["start", "help"])
def send_welcome(message):
    bot.reply_to(message, "Привет! Я бот на базе ChatGPT. Задайте мне вопрос!")

# Обработчик текстовых сообщений
@bot.message_handler(func=lambda message: True)
def echo_all(message):
    try:
        response = openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=[
                {"role": "system", "content": "Вы - полезный ассистент."},
                {"role": "user", "content": message.text}
            ]
        )
        bot.reply_to(message, response.choices[0].message.content)
    except Exception as e:
        bot.reply_to(message, f"Произошла ошибка: {str(e)}")

# Запуск бота
bot.polling(none_stop=True)

Расширенный код с сохранением контекста

Для более эффективной работы бота важно сохранять контекст диалога:

Copyimport telebot
import openai
import json

# Инициализация
TOKEN = "ВАШ_ТЕЛЕГРАМ_ТОКЕН"
openai.api_key = "ВАШ_OPENAI_API_КЛЮЧ"
bot = telebot.TeleBot(TOKEN)

# Хранение истории диалогов
user_histories = {}

@bot.message_handler(commands=["start", "help"])
def send_welcome(message):
    user_id = message.from_user.id
    user_histories[user_id] = [{"role": "system", "content": "Вы - полезный ассистент."}]
    bot.reply_to(message, "Привет! Я бот на базе ChatGPT. Задайте мне вопрос!")

@bot.message_handler(commands=["new"])
def clear_history(message):
    user_id = message.from_user.id
    user_histories[user_id] = [{"role": "system", "content": "Вы - полезный ассистент."}]
    bot.reply_to(message, "История диалога очищена!")

@bot.message_handler(func=lambda message: True)
def handle_message(message):
    user_id = message.from_user.id
    
    # Инициализация истории, если её нет
    if user_id not in user_histories:
        user_histories[user_id] = [{"role": "system", "content": "Вы - полезный ассистент."}]
    
    # Добавление сообщения пользователя
    user_histories[user_id].append({"role": "user", "content": message.text})
    
    try:
        # Отправка истории в ChatGPT
        bot.send_chat_action(message.chat.id, "typing")
        response = openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=user_histories[user_id]
        )
        
        # Получение ответа
        ai_response = response.choices[0].message.content
        
        # Сохранение ответа в историю
        user_histories[user_id].append({"role": "assistant", "content": ai_response})
        
        # Ограничение длины истории для экономии токенов
        if len(user_histories[user_id]) > 10:
            # Оставляем системный промпт и последние 9 сообщений
            user_histories[user_id] = [user_histories[user_id][0]] + user_histories[user_id][-9:]
        
        bot.reply_to(message, ai_response)
        
    except Exception as e:
        bot.reply_to(message, f"Произошла ошибка: {str(e)}")

# Запуск бота
bot.polling(none_stop=True)

Размещение бота на сервере

Для постоянной работы бота необходимо разместить его на сервере. Существует несколько вариантов:

  1. VPS/VDS-сервер — наиболее гибкое решение, требующее базовых навыков администрирования
  2. PythonAnywhere — простой хостинг для Python-приложений
  3. Heroku — платформа для развертывания приложений с удобной интеграцией с GitHub

Способ №4: Облачные serverless-решения

Современный подход к созданию ботов — использование serverless-архитектуры, когда не нужно беспокоиться о поддержании сервера.

Использование Яндекс.Облака

  1. Создание сервисного аккаунта
    • Перейдите в раздел “Сервисные аккаунты” Яндекс.Облака
    • Создайте новый аккаунт с ролями serverless.functions.invoker и storage.uploader
    • Создайте статический ключ доступа
  2. Создание бакета в Object Storage
    • Перейдите в раздел “Object Storage”
    • Создайте новый бакет для хранения данных
  3. Создание облачной функции
    • Перейдите в раздел “Cloud Functions”
    • Создайте новую функцию на Python 3.12
    • Добавьте зависимости в файл requirements.txt:openai==1.3.7 pyTelegramBotAPI==4.14.0 boto3==1.33.7
    • Создайте файл index.py с кодом функции (пример кода доступен в документации)
  4. Настройка API-шлюза
    • Создайте новый API-шлюз
    • Укажите функцию и сервисный аккаунт в спецификации
    • Сохраните служебный домен шлюза
  5. Настройка WebHook для Telegram
    • Выполните POST-запрос к API Telegram:curl --request POST \ --url https://api.telegram.org/bot<токен бота>/setWebhook \ --header 'content-type: application/json' \ --data '{"url": "<домен API-шлюза>"}'

Преимущество serverless-подхода — бесплатное использование ресурсов в пределах квоты и отсутствие необходимости поддерживать сервер.

Стоимость и окупаемость использования нейроботов

При создании Телеграм-бота на основе нейросети необходимо учитывать следующие расходы:

Расходы на API нейросети

  • ChatGPT 3.5 Turbo: от $0.0005 до $0.002 за 1K токенов
  • GPT-4: от $0.03 до $0.06 за 1K токенов
  • GPT-4 Turbo: от $0.01 до $0.03 за 1K токенов

В среднем, стоимость одного запроса к ChatGPT 3.5 составляет около $0.002-0.005, что при активном использовании может составить $5-20 в месяц.

Расходы на инфраструктуру

  • VPS/VDS-сервер: от 300 ₽/месяц
  • Облачные функции: бесплатно в пределах квот (обычно достаточно для персонального использования)
  • Make.com/FlowXO: базовый тариф бесплатный, платные тарифы от $9/месяц

Оптимизация расходов

  1. Управление контекстом: Ограничивайте длину истории диалога для экономии токенов
  2. Выбор модели: Используйте GPT-3.5 Turbo вместо GPT-4 для большинства задач
  3. Параметр max_tokens: Устанавливайте ограничение на длину ответов
  4. Команда очистки контекста: Добавьте функцию очистки истории диалога (/new)

Практические применения ботов с искусственным интеллектом

Созданный нейробот может использоваться для различных целей:

Для личного использования

  • Помощник в обучении и исследованиях
  • Генератор текстов для социальных сетей
  • Персональный консультант по различным вопросам
  • Помощник в изучении языков

Для бизнеса

  • Автоматизация службы поддержки клиентов
  • Генерация контента для маркетинга
  • Автоматические ответы на часто задаваемые вопросы
  • Помощник в работе с документами и данными

Примеры расширения функционала

  • Интеграция с DALL-E: Добавление возможности генерации изображений
  • Голосовые сообщения: Обработка и генерация аудио через Whisper API
  • Анализ данных: Подключение дополнительных API для работы с данными

Рекомендации

Создание Телеграм-бота на базе нейросети — доступный процесс даже для пользователей без опыта программирования. В зависимости от ваших технических навыков и потребностей, вы можете выбрать один из четырех описанных способов:

  1. Конструктор FlowXO: Идеально для начинающих, не требует навыков программирования
  2. Make.com: Подходит для создания сложных сценариев взаимодействия
  3. Python-программирование: Предоставляет максимальную гибкость настройки
  4. Serverless-решения: Оптимальный баланс между простотой поддержки и функциональностью

При создании бота обратите внимание на следующие аспекты:

  • Начинайте с более простой модели GPT-3.5 Turbo для экономии средств
  • Регулярно очищайте историю диалогов для оптимизации использования токенов
  • Добавляйте системные инструкции для более целенаправленных ответов
  • Используйте команды для управления режимами работы бота

Телеграм-бот на базе нейросети — это мощный инструмент, который может значительно повысить эффективность работы как в личных, так и в коммерческих проектах. Благодаря современным инструментам его создание становится доступным практически каждому.

Подпишись на наш паблик в ВК

Там мы делимся своим экспертным мнением: публикуем краткие обзоры статей, анализируем UX-решения, делаем разборы продуктов, делимся образовательными курсами и чек-листами.

Explore
Drag