В России заблокирован популярный чат-бот AI - ChatGPT. Однако, Telegram-боты стали отличным решением для обхода блокировки и удобного использования функций чат-бота прямо из мессенджера.

Мною было принято решение создать собственную интеграцию ChatGPT в Telegram, с целью глубже изучить работу ChatGPT API, определить доступные настройки и пользоваться ботом без ограничений, а также свободно использовать модель GPT-4o.

Для этого проекта я предпочел не использовать отдельный сервер, приобретать домен и настраивать SSL сертификат для WebHook Telegram. Вместо этого, я решил настроить всю систему с помощью serverless-технологий.

Подготовка

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

  1. API-ключ для использования ChatGPT API со своим адресом шлюза API (адрес шлюза, отличный от chatgpt AI)
  2. Доступ к API, включая сам ChatGPT, заблокирован в России. Однако, существует простое решение этой проблемы - на просторах интернета можно купить отдельно ChatGPT API со своим endpoint (адрес шлюза, отличный от chatgpt AI). Нет необходимости в иностранных номерах телефонов, VPN или картах иностранных банков. (как вариант есть несколько площадок с продавцами или взять например на сайте proxyapi).

Покажу на примере сайта - proxy api

Зарегистрируйтесь, зайдите в раздел "API Keys" (ключи API) и сгенерируйте ключ. Всего одна минута - и все готово.

Example Image

Аккаунт в Яндекс.Облаке

Если у вас ещё нет аккаунта, создайте его здесь. Убедитесь, что ваш платёжный аккаунт подключён и имеет статус ACTIVE или TRIAL_ACTIVE.

Все ресурсы, которые мы будем использовать, имеют ежемесячный бесплатный лимит потребления. Об этом я расскажу ниже. Честно говоря, вряд ли возможно исчерпать такие лимиты, если бот предназначен только для личного использования. Таким образом, вся система будет бесплатной, за исключением расходов на ProxyAPI.

Telegram-бот

Для создания и управления ботами в Telegram существует специальный бот под названием BotFather. Он поможет вам создать бота и предоставит токен, который нужно сохранить для дальнейшего использования.

Облачные ресурсы

Теперь вернёмся в Яндекс.Облако и создадим все необходимые ресурсы для нашего проекта.

Сервисный аккаунт

На домашней странице консоли в верхнем меню выберите вкладку Сервисные аккаунты. Создайте новый аккаунт, используя одно и то же имя для всех ресурсов, например, "chatgpt-telegram-bot", чтобы не запутаться. Присвойте аккаунту следующие роли:

•  serverless.functions.invoker

•  storage.uploader


Комментарии 0