Создайте свою первую программу с помощью API ChatGPT

Революционный, простой в использовании ИИ «ChatGPT» теперь доступен как API. OpenAI, создатель ChatGPT, объявил, что модель (gpt-3.5-turbo) теперь доступна для ваших пользовательских продуктов и решений. Стоимость также очень доступна. В настоящее время цена составляет $0,002 за 1000 токенов.

Модель в настоящее время доступна вместе с API Whisper, который также используется для решений преобразования текста в речь. В настоящее время API позволяет следующее:

  • Создавать пользовательские разговорные боты.
  • Писать код на Python для вас
  • Составлять электронные письма или любые документы по вашему желанию
  • Вы можете интегрировать ваш текущий продукт/приложение/услугу или программное обеспечение с интерфейсом на естественном языке для ваших потребителей.
  • Услуги языкового перевода
  • Быть репетитором по многим предметам
  • Моделировать персонажей видеоигр

Как видите, возможности безграничны.
Если вы планируете попробовать API и начать работу, то вот вам простое руководство с пошаговыми инструкциями по его использованию.

API ChatGPT: Начало работы

Подготовка

Убедитесь, что у вас есть учетная запись OpenAI. Если у вас его нетпосетите эту страницу и создайте учетную запись. Вы также можете использовать свою учетную запись Google или Microsoft.

После создания учетной записи сгенерируйте ключ API, который является эксклюзивным для вашей учетной записи. Посетите эту страницу и создайте новый секретный ключ.

Создайте свою первую программу с помощью API OpenAI ChatGPT Руководство для начинающих

Запишите или сохраните ключ в безопасном месте. Во второй раз он не будет виден из раздела учетной записи OpenAI по соображениям безопасности. И НЕ передавайте этот ключ никому. Если вы планируете использовать корпоративные решения, уточните ключ API у своих организаций. Этот ключ привязан к вашему платному плану OpenAI; поэтому используйте его с осторожностью.

Установка Python и pip

В данном руководстве используется язык программирования Python для использования API-ключа OpenAI. Вы можете использовать Java или любой другой язык для его использования.

Во-первых, убедитесь, что у вас установлен Python в Linux или Windows. Если вы используете современные дистрибутивы Linux, такие как Ubuntu, Python уже должен быть установлен.

После установки Python убедитесь, что pip доступен в дистрибутивах Linux. Выполните следующую команду для его установки. Для Windows он уже должен быть у вас в составе установки Python.

Ubuntu, Debian и другие

sudo apt install python3-pip

Fedora, RHEL, CentOS и другие

sudo dnf install python3-pip

Arch Linux

sudo pacman -S python-pip

Установите ключ API OpenAI в качестве переменной окружения

Секретный ключ API, который вы создали в описанных выше шагах, вы можете напрямую использовать в программе. Лучшая практика – использовать его из файла или переменной окружения вашей системы.

Для Windows, создайте переменную PATH с любым именем, например, «API-KEY». И добавьте значение ключа.

Для Linux откройте файл /etc/environment с привилегиями root и добавьте ключ. Например:

API-KEY="<your key here>"

Для доступа к ключу через файл используйте следующее утверждение в коде:

openai.api_key_path = <your path to API key>

Для прямого доступа в коде (не рекомендуется), вы можете использовать следующее утверждение в коде:

openai.api_key="your key here"

Установка OpenAI API

Завершающим шагом будет установка библиотеки Python для OpenAI. Откройте терминал или командное окно и установите OpenAI API, используя приведенные ниже инструкции.

pip install openai

На этом этапе вы готовы написать свою первую программу!

Кодирование помощника (шаг за шагом)

OpenAI API предоставляет различные режимы интерфейса. Такие как «завершение чата», «завершение кода», «генерация изображений» и т.д. В этом руководстве я буду использовать функции API «завершение чата». Используя его, мы можем создать простой чатбот для общения.

Во-первых, вам необходимо импортировать библиотеку OpenAI. Вы можете сделать это с помощью следующего утверждения в вашей программе на Python.

import openai

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

openai.api_key="your key here"
openai.api_key="your environment variable"
openai.api_key_path = <your path to API key>

Ниже приведена основная функция API чата OpenAI. Функция openai.ChatCompletion.create принимает несколько аргументов в формате JSON. Аргументы имеют вид "role" и "content".

openai.ChatCompletion.create(   
model="gpt-3.5-turbo",   
messages=[         
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"},
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},         
{"role": "user", "content": "Where was it played?"}     
] )

Где:

  • role: Допустимые значения: «система», «пользователь», «помощник»
  • system: Инструкции API о том, как себя вести. По сути, это главная подсказка для OpenAI.
  • content: Вопрос, который вы хотите задать. Это пользовательский ввод в одном или нескольких разговорах. Это может быть несколько строк текста.
  • assistant: Когда вы кодируете беседу, вам нужно использовать эту роль для добавления ответа. Чтобы API запомнил, о чем идет речь.

Давайте определим массив для хранения всего сообщения для OpenAI. Затем покажем подсказку пользователю и примем system.

messages = []system_message = input("What type of chatbot you want me to be?")messages.append({"role":"system","content":system_message})

Вы можете использовать функцию ввода Python (или любой другой метод ввода файла) и установить content для роли user.

print("Alright! I am ready to be your friendly chatbot" + "
" + "You can now type your messages.")message = input("")messages.append({"role":"user","content": message})

На этом этапе у вас готов массив с базовым вводом JSON в OpenAI API. Теперь все, что вам нужно сделать, это вызвать функцию create, используя созданный JSON.

response=openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=messages)

Теперь вы можете либо распечатать ответ, либо разобрать его для правильного форматирования. Ответ представлен в формате JSON. Выходной ответ предоставляет массив «choices«. Ответ представлен объектом message JSON со значением content.

Для этого примера мы можем прочитать первый объект в массиве choices и прочитать его содержимое.

reply = response["choices"][0]["message"]["content"]print(reply)

И наконец, это даст вам вывод от API.

Запуск кода

Вы можете запустить код из вашей любимой Python IDE или непосредственно из командной строки.

python OpenAIDemo2.py

Неформатированный вывод JSON

Вот запуск вышеуказанной программы с неформатированным JSON-выводом для справки. Как вы можете видеть, ответ находится под массивом choices с content.

[debugpoint@fedora python]$ python OpenAIDemo2.py
What type of chatbot you want me to be?a friendly friend
Alright! I am ready to be your friendly chatbot
You can now type your messages.
what do you think about kindness? {
  "choices": [{
    "finish_reason": "stop",
    "index": 0,
    "message": {
      "content": "As an AI language model, I don't have personal opinions, but I can tell you that kindness is a very positive and essential trait to have. Kindness is about being considerate and compassionate towards others, which creates positive emotions and reduces negativity. People who are kind towards others are more likely to inspire kindness and compassion in return. It is an important quality that helps to build positive relationships, promote cooperation, and create a more peaceful world.",
      "role": "assistant"
    }
  }],
  "created": <removed>,
  "id": "chatcmpl-<removed>",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion",
  "usage": {
    "completion_tokens": 91,
    "prompt_tokens": 22,
    "total_tokens": 113
  }
}

Форматированный вывод

Вот правильный разговорный вывод.

[debugpoint@fedora python]$ python OpenAIDemo2.py
What type of chatbot you want me to be?a friendly friend
Alright! I am ready to be your friendly chatbot
You can now type your messages.
what do you think about artificial general intelligence?
As an AI language model, I am programmed to be neutral and not have personal opinions. However, artificial general intelligence (AGI) is a fascinating field of study. AGI refers to the development of machines and algorithms that can perform any intellectual task that a human being can. The potential benefits and risks of AGI are still widely debated, with some experts worried about the implications of machines reaching human-like intelligence. However, many believe that AGI has the potential to revolutionize fields such as healthcare, education, and transportation. The key is to ensure that AGI is developed in a responsible and ethical manner.

Полный код

Здесь представлен полный код, который используется в приведенной выше демонстрации.

import openai
openai.api_key="<your key>"
messages = []
system_message = input("What type of chatbot you want me to be?")
messages.append({"role":"system","content":system_message})
print("Alright! I am ready to be your friendly chatbot" + "
" + "You can now type your messages.")
message = input("")
messages.append({"role":"user","content": message})
response=openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages
)
reply = response["choices"][0]["message"]["content"]
print(reply)

Подведение итогов

Я надеюсь, что это простое руководство поможет вам начать работу с OpenAI CharGPT API. Вы можете расширить описанные выше шаги для создания более сложного разговорного чатбота. Также вы можете использовать другие предложения OpenAI.

Следите за дальнейшими руководствами, когда я буду экспериментировать и делиться ими с вами. И, наконец, не забывайте следить за нами, чтобы не пропустить ни одной статьи.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

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

  • Игорь

    А где продолжение?
    И, вообще, стоит начинать обучаться питону через GPT?