В связи с большой популярностью 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.
3. Регистрация бота в Telegram и получение API токена.
Для регистрации бота в Telegram нужно найти бота который выполняет процедуру регистрации новых ботов, он имеет имя @BotFather Ссылка t.me/BotFather
Далее нужно последовательно выполнить команды:
Создание нового бота:
/newbot
После этого нужно дать имя боту, это делается командой
/setname
после этой команды бот запросит ввести имя создаваемого бота, в примере я ввел имя ChatCPT3_bot
Обязательное условие для назначения имени бота это наличие _bot после задаваемого имени.
В итоге получаем сообщение с инструкциями и сам API токен.
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
Сам бот доступен для тестов по имени @ChatCPT3_bot
Ссылка t.me/ChatCPT3_bot
Источник: blog.vpsville.ru/blog/pro/237.html