Простое руководство по ChatGPT API с использованием Python

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


2023-04-08 12:27

примеры ии

Компания OpenAI недавно выпустила ChatGPT API. Этот API, который называется gpt-3.5-turbo, использует такую же модель, как и в продуктах ChatGPT.

Для тех, кто уже знаком с OpenAI API на Python, изучение того, как использовать ChatGPT API, должно быть простым, но всё ещё есть некоторые концепции, которые являются эксклюзивными для этого API. Их мы покажем в этой статье.

Давайте рассмотрим ChatGPT API на Python.

Примечание: Цена API составляет $ 0,002 за 1 тыс. токенов. Однако, у вас есть бесплатный кредит, которым вы можете воспользоваться. Похоже, теперь у меня есть ещё одна причина отменить мою подписку на ChatGPT Plus.

https://t.me/Chatgpturbobot – бесплатный бот chatgpt в телеграме.

Генерация API Key

Прежде чем мы начнём работать с ChatGPT API, нам нужно войти в нашу учетную запись OpenAI и сгенерировать наши API keys.

Простое руководство по ChatGPT API с использованием Python

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

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

Чтобы работать с ChatGPT API, сначала мы должны установить библиотеку openai, выполнив следующую команду:

pip install openai

Существует много вещей, которые вы можете сделать с помощью библиотеки OpenAI, но сегодня мы собираемся сосредоточиться на сохранении истории общения с ChatGPT API. Чтобы быть более точным, мы будем использовать “ChatCompletion” gpt-3.5-turbo.

Начало работы с ChatGPT API на Python

Чтобы начать, мы собираемся использовать приведённый ниже фрагмент кода, который я взял из официальной документации.

import os import openai openai.api_key = os.getenv("OPENAI_API_KEY")  completion = openai.ChatCompletion.create(   model="gpt-3.5-turbo",   messages=[     {"role": "user", "content": "Tell the world about the ChatGPT API in the style of a pirate."}   ] )  print(completion.choices[0].message.content)

Это очень простой способ взаимодействия с API. Главное, что нужно знать, это то, что в списке messages есть словарь с 2 ключами: roles и content.

Content – это просто содержание сообщения, в то время как существуют три основные roles: “system”, “user” или “assistant”. “User” – это тот, кто даёт инструкции. Эта роль уже используется в приведённом выше коде.

Если мы запустим приведённый выше код, то получим следующее:

Эй, приятель, ты ищешь чат-API, который поразит тебя? Не смотри дальше, чем ChatGPT API, старый морской волк!

С помощью ChatGPT API, …

Это то же самое, что попросить ChatGPT “Рассказать миру об ChatGPT API в стиле пирата”.

Простое руководство по ChatGPT API с использованием Python

Фрагмент кода, который мы взяли из документации, очень прост, поэтому мы можем добавить больше кода для взаимодействия с API, как если бы мы общались с ChatGPT. Кроме того, мы должны добавить роль system  для настройки поведения помощника и роль assistant для хранения предыдущих ответов.

Роль System

Давайте добавим системную роль, чтобы задать поведение помощника. Вы можете назвать ассистента “полезным помощником, который переводит с английского на французский” или любым другим названием, каким захотите.

Чтобы упростить задачу, я настрою системную роль на “kind helpful assistant” в списке сообщений.

messages = [  {"role": "system", "content" : "You’re a kind helpful assistant"} ]

Сейчас я собираюсь добавить роль users к предыдущему списку и добавить функцию ввода, чтобы взаимодействовать с API так, как если бы мы работали с ChatGPT.

import openai  content = input("User: ") messages.append({"role": "user", "content": content})  completion = openai.ChatCompletion.create(   model="gpt-3.5-turbo",   messages=messages )  chat_response = completion.choices[0].message.content print(f'ChatGPT: {chat_response}')

Теперь, если мы спросим “кто был первым человеком на Луне?”, система поведёт себя как “helpful assistant” и сообщит нам ответ:

Простое руководство по ChatGPT API с использованием Python

Однако, есть одна маленькая деталь: assistant не сохраняет предыдущие ответы, поэтому система может не запомнить их.

Давайте спросим “откуда он?”, а затем “какого он роста?” Потом я добавлю цикл while, чтобы задать несколько вопросов.

Простое руководство по ChatGPT API с использованием Python

Как вы можете видеть, теперь система отвечает на каждый новый вопрос, но при этом накапливает информацию из предыдущих ответов.

Мы можем решить эту проблему с помощью роли assistant .

Роль Assistant

Мы используем роль assistant  для хранения предыдущих ответов. Сохраняя предыдущие ответы, мы можем создать историю разговоров, которая пригодится, когда инструкции user будут ссылаться на предыдущие сообщения.

С помощью приведённого ниже кода, мы добавляем роль assistant  в наш список сообщений:

messages.append({"role": "assistant", "content": chat_response})

Обратите внимание, что в содержимом мы должны добавить chat_response, чтобы сохранять ответы.

Теперь мы добавляем предыдущую строку кода в наш цикл while:

import openai  while True:     content = input("User: ")     messages.append({"role": "user", "content": content})          completion = openai.ChatCompletion.create(       model="gpt-3.5-turbo",       messages=messages     )      chat_response = completion.choices[0].message.content     print(f'ChatGPT: {chat_response}')     messages.append({"role": "assistant", "content": chat_response})

Сейчас, если мы зададим тот же вопрос, что и раньше, мы сможем получить ответы получше.

Простое руководство по ChatGPT API с использованием Python

На этом всё! Теперь вы знаете, как работать с 3 ролями, вы можете использовать API по своему усмотрению. Помимо модели и сообщений в теле запроса, вы также можете добавить другие параметры для настройки вашего запроса.

Вот несколько дополнительных параметров:

  • max_token: Максимальное количество токенов для генерации при завершении (здесь вы можете увидеть токенизатор, который использует OpenAI)
  • temperature: Используемая температура отбора проб. Значения, близкие к 1, придадут модели больше риска / креативности, в то время как значения, близкие к 0, будут генерировать чётко определённые ответы.
  • n: Количество вариантов завершения общения, которые необходимо сгенерировать для каждого входного сообщения.

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


Источник: uproger.com

Комментарии: