ChatGTP представляет чат-бот с искусственным интеллектом от компании OpenAI, который может в диалоговом режиме отвечать на запросы. B OpenAI предоставляет API, который позволяет нам встроить взаимодействие с ChatGPT ботом в свое приложение. Рассмотрим простейший пример.
Прежде всего нам надо установить пакет openai:
pip install openai
Стоит учитывать, что API поддерживает версию Python 3.7+.
Для отправки запросов нам потребуется токен. Его можно сгенерировать в личном кабинете на сайте openai по адресу https://platform.openai.com/account/api-keys.

После нажатия на кнопку "Create new secret key" отобразится окно с сгенерированным токеном, который надо скопировать и сохранить. Затем этот токен отобразится в списке ключей, и его затем можно в любой момент удалить.

Далее определим следующий код на языке Python:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import openai# указываем ключ из личного кабинета openaiopenai.api_key = "sk-95Ez2Z1rtgegrRTFFDSTVTdsdfsgdv3422kjhLghnh53QiT8F"messages = []while True: message = input("User: ") # вводим сообщение if message == "quit": break messages.append({"role": "user", "content": message}) chat = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages = messages) reply = chat.choices[0].message.content print(f"ChatGPT: {reply}") messages.append({"role":"assistant", "content": reply}) |
Сначала импортируем нужный нам пакет
|
1
|
import openai |
Далее устанавливаем токен, который будет использоваться для отправки запросов к ChatGPT:
|
1
|
openai.api_key = "sk-95Ez2Z1rtgegrRTFFDSTVTdsdfsgdv3422kjhLghnh53QiT8F" |
Далее определяем список сообщений (по умолчанию пустой)
|
1
|
messages = [] |
В бесконечном цикле считываем сообщения, введенные пользователем
|
1
|
message = input("User: ") |
Чтобы пользователь мог выйти из диалога с чат-ботом, пусть, если пользователь ввел "quit", то завершаем диалог:
|
1
|
if message == "quit": break |
После ввода добавляем введеное сообщение в список messages:
|
1
|
messages.append({"role": "user", "content": message}) |
Причем сообщение добавляется в виде словаря, где ключ "role" определяет, кто отправил сообщение. Для текущего пользователя в качестве роли устанавливаем "user". Другой элемент словаря - "content" собственно хранит текст сообщения, которое отправляется чат-боту.
Дальше выполняем запрос к ChatGPT:
|
1
|
chat = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages = messages) |
Для выполнения запроса в метод create() передается название модели и список сообщений.
После этого из переменной chat мы сможем получить ответ чат-бота.
|
1
|
reply = chat.choices[0].message.content |
Далее выводим ответ от ChatGPT на консоль и добавляем его ответ в список messages:
|
1
|
messages.append({"role":"assistant", "content": reply}) |
В списке сообщений все ответы от ChatGPT сопоставляются с ролью "assistant".
Пример работы программы:

Автор: Евгений Морковин




0 комментариев
Оставьте комментарий
Комментарии