Telegram Bot для ChatGPT

В связи с большой популярностью ChatGPT версии 3 в данном посте рассмотрим как настроить Telegram Bot для доступа к чату ChatGPT 3 (модель text-davinci-003).

Настройка серверной части телеграм бота будет выполняться на сервере с системой Ubuntu 22, в других системах так же проблем возникнуть не должно.

1. Подготовка системы и установка всех необходимых пакетов.

Установка Python 3 версии и текстового редактора

apt-get update && apt-get -y install python3-pip nano


Обновление pip3 до последней версии

/usr/bin/python3 -m pip install --upgrade pip


Установка библиотек openai и pytelegrambotapi

pip3 install openai pytelegrambotapi


На этом этапе система сервера полностью подготовлена для запуска телеграм бота ChatGPT.

2. Регистрация в ChatGPT и получение API ключа.

Переходим на страницу регистрации учетной записи beta.openai.com/signup и проходим процесс регистрации.

После входа в личный кабинет необходимо получить на странице platform.openai.com/account/api-keys
Данный ключ необходим для доступа к ChatGPT.

API keys ChatCPT 3

3. Регистрация бота в Telegram и получение API токена.

Для регистрации бота в Telegram нужно найти бота который выполняет процедуру регистрации новых ботов, он имеет имя @BotFather
Ссылка t.me/BotFather
Далее нужно последовательно выполнить команды:
Создание нового бота:
/newbot

После этого нужно дать имя боту, это делается командой
/setname

после этой команды бот запросит ввести имя создаваемого бота, в примере я ввел имя ChatCPT3_bot
Обязательное условие для назначения имени бота это наличие _bot после задаваемого имени.
В итоге получаем сообщение с инструкциями и сам API токен.

API токен Telegram Bot

4. Добавление Python скрипта на сервер и запуск бота.

Создаем произвольный файл, например с названием telegram_bot_chatGPT.py в котором будет Python код необходимый для запуска бота

cat << EOF > telegram_bot_chatGPT.py
import os
import openai
import telebot


openai.api_key = "sk-yTVddo648MCbAH0ZdubT3BbkFJefSw8BNn7Irb6MX4JUIP"  #тут нужно поставить полученный api key на шаге 2
bot = telebot.TeleBot("61594460:AAHFZKo_kuHbMTgY6xG_AqDqol_4GOG4")    #тут нужно поставить полученный api токен для Telegram бота на шаге 3

@bot.message_handler(func=lambda _: True)
def handle_message(message):
    response = openai.Completion.create(
         model="text-davinci-003",
         prompt=message.text,
         temperature=0.5,
         max_tokens=1000,
         top_p=1.0,
         frequency_penalty=0.5,
         presence_penalty=0.0,
    )

    bot.send_message(chat_id=message.from_user.id, text=response['choices'][0]['text'])

bot.polling()

EOF




После того как файл создан и в него добавлены полученные на 2 и 3 шаге инструкции API ключи запускаем в screen скрипт на выполнение командой:

screen -S bot python3 telegram_bot_chatGPT.py


После этого терминал можно закрывать и проверять работу бота.
Скрин работающего Telegram бота с ChatGPT 3

Скрин работающего Telegram бота с ChatGPT 3

Сам бот доступен для тестов по имени @ChatCPT3_bot
Ссылка t.me/ChatCPT3_bot

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

RSS свернуть / развернуть
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.