Создание чат-ботов становится все более популярным в мире технологий. Они используются в различных областях, от клиентской поддержки до образования и медицины. Однако, разработка чат-бота может быть довольно сложной задачей, требующей глубоких знаний в области программирования и искусственного интеллекта. В этой статье мы рассмотрим, как использовать OpenAI ChatGPT для создания телеграм-бота на Python, который будет общаться с пользователями, используя естественный язык.
Содержание:
- Создание аккаунта и API-ключа OpenAI
- Создание телеграм бота
- Подготовка сервера, запуск бота
1. Создание аккаунта и API-ключа OpenAI
Перейдите на страницу OpenAI и создайте аккаунт.
Регистрацию можно оформить с помощью e-mail адреса или можете продолжить с существующим аккаунтом в Google или Microsoft.
На следующем этапа необходимо будет ввести номер на который будет отправлено подтверждающее SMS.
Обратите внимание, OpenAI доступен не во всех странах. Ознакомиться со списком поддерживаемых стран Вы можете по ссылке Supported countries and territories.
Создание API-ключа
В правом верхнем углу нажмите на аватар и выберите View API Keys.
Нажмите Create new secret Key, чтобы создать API-ключ и скопируйте его.
Важно! Нужно обязательно сохранить ключ, так как при повторном входе вы не сможете скопировать его. Если вы его потеряете, вам нужно будет сгенерировать новый ключ.
2. Создание телеграм бота
Для создания телеграм — бота мы будем использовать специального бота @BotFather.
И так, для создания нового бота, запустите команду:
/newbot
Далее назначим имя боту и никнейм бота — по нему можно будет найти бота в Telegram. Никнейм должен быть уникальным, латиницей и обязательно заканчиваться на bot.
Для нашего примера укажем никнейм — uni_chat_gpt_bot
По завершении создания бота увидим следующее сообщение:
Для нас важен токен сгенерирован при создании бота, его мы будем использовать в дальнейшем для интеграции с OpenAI ChatGTP.
3. Подготовка сервера, запуск бота
В рамках данного руководства мы создадим простой чат-бот c использованием модели AI для генерации ответов — Davinci. Это точная и дорогая модель, но более медленная, так как работает с большим объемом данных. Может выполнять задачи всех других моделей, но требует меньше указаний в «Инструкция для бота».
В разделах Examples и OpenAI Cookbook можно посмотреть примеры использования моделей, а также поэкспериментировать с настройками в Playground.
Для примера в этом руководстве мы выбрали шаблон Friend chat — эмуляция разговора в текстовом виде.
За основу мы возьмём API-запрос для Python этого шаблона, но отредактируем под наши требования.
И так пришло время создать и разместить Python скрипт на сервере. В качестве сервера мы будем использовать VPS на базе ОС Ubuntu Server 20.04.
Заходим на сервер по SSH.
По умолчанию в Ubuntu Server 20.04 уже установлен python 3 версии.
Для проверки вводим команду:
python3
Вывод:
Python 3.8.10 (default, Nov 14 2022, 12:59:47)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
это означает что на сервере уже установлен Python 3.8.10 и можно приступить к следующему шагу.
Устанавливаем pip:
apt install pip
Устанавливаем необходимые библиотеки для нашего скрипта:
pip install openai
pip install pyTelegramBotAPI
Cоздаем файл main.py:
nano main.py
Вставляем следующий код:
import os
import openai
import telebot
openai.api_key = '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'
bot = telebot.TeleBot('5868492437:AAHzr8E09ooGpXNw7lOf2On2K53FKz-ZTyc')
@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=60,
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()
Где,
openai.api_key = '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'
API-ключ OpenAI
bot = telebot.TeleBot('5868492437:AAHzr8E09ooGpXNw7lOf2On2K53FKz-ZTyc')
API-ключ чат-бота Телеграм
Соответственно их нужно заменить на собственные.
Запускаем скрипт:
python3 main.py
Если никаких ошибок не выявлено, можно перейти к тестированию нашего телеграм-бота, для этого необходимо его найти по нику — uni_chat_gpt_bot и можно начинать диалог:
The post Создаем телеграм — бота при помощи OpenAI ChatGTP в Python appeared first on Unihost.FAQ.