Перейти к основному содержанию
OpenAI ChatGPT — это очень мощная система диалогов с ИИ: достаточно ввести промпт, и всего за несколько секунд можно сгенерировать плавный и естественный ответ. ChatGPT выделяется в отрасли своими превосходными возможностями понимания и генерации языка. Сегодня ChatGPT уже широко применяется в различных индустриях и сферах, а его влияние становится всё более значительным. Будь то повседневные диалоги, творческое написание текстов, профессиональные консультации или программирование кода — ChatGPT способен предоставить впечатляющую интеллектуальную помощь, значительно повышая эффективность работы и творческие способности человека. Этот документ главным образом представляет процесс использования операций OpenAI Chat Completion API, с помощью которого мы можем легко использовать диалоговые функции официального OpenAI ChatGPT.

GPT-6.1 Sol

Используйте model: "gpt-6.1-sol" для выбора этой модели. Поддерживаются потоковый вывод, вызовы функций, структурированный вывод и ввод изображений. В течение первой недели после открытия доступ предоставляется только подтверждённым держателям ACE T1+ (не менее 100 000 ACE) или авторизованным пользователям; конкретное время открытия определяется подсказками о доступе в консоли. Поддерживаются уровни рассуждений low, medium, high, xhigh и max; none и minimal пока не поддерживаются. Рекомендуется начинать с reasoning_effort: "low". Если ввод превышает 272 000 tokens, для всего запроса применяется цена за длинный контекст, стоимость определяется текущими ценами в консоли.

Процесс подачи заявки

Чтобы использовать OpenAI Chat Completion API, сначала перейдите в консоль Ace Data Cloud, чтобы получить ваш API Token и сохранить его для дальнейшего использования. Если вы ещё не вошли в систему или не зарегистрировались, вы будете автоматически перенаправлены на страницу входа, где вам будет предложено зарегистрироваться и войти в систему; после завершения вы автоматически вернётесь на текущую страницу. Один API Token позволяет вызывать все сервисы платформы, без необходимости отдельно подавать заявку для каждого сервиса. При первой заявке предоставляется бесплатный лимит, позволяющий бесплатно попробовать сервис; при недостатке лимита можно пополнить общий баланс в консоли.
📘 Полная документация: OpenAI Chat Completion API →

Базовое использование

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

При первом использовании этого интерфейса нам необходимо заполнить как минимум три поля: одно из них — authorization, его можно напрямую выбрать в выпадающем списке. Другой параметр — model, model — это категория модели с официального сайта OpenAI ChatGPT, которую мы выбираем для использования; здесь у нас имеется 20 моделей, подробности можно посмотреть в предоставленных нами моделях. Последний параметр — messages, messages — это массив введённых нами вопросов, это массив, который означает, что можно одновременно загрузить несколько вопросов; каждый вопрос содержит role и content, где role обозначает роль задающего вопрос, мы предоставляем три идентичности: user, assistant, system. Другой параметр content — это конкретное содержание нашего вопроса. Одновременно вы можете заметить, что справа генерируется соответствующий код вызова: вы можете скопировать код и запустить его напрямую, а также можете напрямую нажать кнопку «Try» для тестирования. Распространённые необязательные параметры:
  • max_tokens: ограничивает максимальное количество token в одном ответе.
  • temperature: случайность генерации, от 0 до 2; чем больше значение, тем более разрозненным будет результат.
  • n: сколько вариантов ответов генерировать за один раз.
  • response_format: настройка формата возврата.

После вызова мы видим, что возвращаемый результат выглядит следующим образом:
Возвращаемый результат содержит несколько полей, описание которых приведено ниже:
  • id — ID сгенерированной задачи данного диалога, используемый для уникальной идентификации этой задачи диалога.
  • model — выбранная модель с официального сайта OpenAI ChatGPT.
  • choices — информация об ответе, предоставленном ChatGPT на вопрос.
  • usage : статистическая информация о token для данной пары вопроса и ответа.
Среди них choices содержит информацию об ответе ChatGPT, choices внутри него — это ChatGPT, как можно увидеть на рисунке.

Можно увидеть, что поле content внутри choices содержит конкретное содержание ответа ChatGPT.

Потоковый ответ

Этот интерфейс также поддерживает потоковые ответы, что очень полезно для интеграции с веб-страницами и позволяет реализовать эффект посимвольного отображения на веб-странице. Если вы хотите возвращать ответ потоково, можно изменить параметр stream в заголовке запроса на true. Изменения показаны на рисунке, однако код вызова необходимо соответствующим образом изменить, чтобы поддерживать потоковый ответ.

После изменения stream на true API будет построчно возвращать соответствующие JSON-данные, и на уровне кода нам необходимо внести соответствующие изменения, чтобы получать построчные результаты. Пример кода вызова Python:
Эффект вывода выглядит следующим образом:
Можно увидеть, что в ответе имеется множество data, а choices внутри data являются самым последним содержимым ответа, что соответствует описанному выше содержанию. choices — это добавленное содержимое ответа, которое вы можете использовать для интеграции в свою систему на основе результата. При этом окончание потокового ответа определяется по содержимому data: если содержимое равно [DONE], это означает, что потоковый ответ полностью завершён. Возвращаемый результат data содержит несколько полей, описание которых приведено ниже:
  • id — ID созданной задачи данного диалога, используемый для уникальной идентификации этой задачи диалога.
  • model — выбранная модель с официального сайта OpenAI ChatGPT.
  • choices — информация об ответе ChatGPT на заданный вопрос.
JavaScript также поддерживается, например, код потокового вызова Node.js выглядит следующим образом:
Пример кода Java:
Другие языки можно самостоятельно адаптировать отдельно, принцип везде одинаковый.

Многораундовый диалог

Если вы хотите интегрировать функцию многораундового диалога, необходимо передать несколько запросов в поле messages; конкретный пример нескольких запросов показан на следующем изображении:

Пример кода вызова Python:
Загружая несколько запросов, можно легко реализовать многоэтапный диалог и получить следующий ответ:
Можно увидеть, что информация, содержащаяся в choices, совпадает с содержимым базового использования; она включает конкретное содержимое ответа ChatGPT на несколько диалогов, таким образом можно отвечать на соответствующие вопросы на основе содержимого нескольких диалогов.

Интеграция с OpenAI-Python

OpenAI Chat Completion API совместим с официальным интерфейсом OpenAI, для интеграции можно напрямую использовать официальный SDK OpenAI-Python, в этой статье будет кратко представлен способ использования.
  1. Сначала необходимо настроить локальную среду Python, этот процесс можно поискать в Google.
  2. Скачайте и установите среду разработки, например редактор VSCode.
  3. Настройте переменные среды OpenAI.
  • В папке проекта создайте файл с именем .env и сохраните его.
  • Содержимое файла .env:
Замените sk-xxx на собственный key. OPENAI_BASE_URL — это прокси-интерфейс для доступа к OpenAI.
  1. Установите пакеты, от которых зависит проект.
В Mac OS команда выглядит так:
  1. Создайте файл исходного кода примера.
Предположим, мы создали пример кода index.py, его конкретное содержимое следующее:

Модели с доступом к интернету

Модели gpt-3.5-browsing и gpt-4-browsing отличаются от других моделей: они могут выполнять поиск в интернете на основе запроса и возвращать вам соответствующим образом скорректированные результаты поиска в интернете. В этой статье будет продемонстрирована функция доступа к интернету на конкретном примере; далее можно заполнить соответствующее содержимое в интерфейсе OpenAI Chat Completion API, как показано на рисунке:

В то же время вы можете заметить, что справа генерируется соответствующий код вызова; вы можете скопировать код и запустить его напрямую, либо непосредственно нажать кнопку «Try» для тестирования.

После вызова мы видим, что возвращаемый результат следующий:
Можно увидеть, что информация ответа в choices получена на основе интернет-запроса, и также приведены соответствующие ссылки; информацию ответа в choices необходимо рендерить с помощью синтаксиса markdown, чтобы получить наилучший опыт, и в конечном итоге это также отражает мощное преимущество функции доступа к интернету нашей модели.

Визуальная модель

gpt-4o — это мультимодальная большая языковая модель, разработанная OpenAI, она добавляет возможности визуального понимания на основе GPT-4. Эта модель может одновременно обрабатывать текстовые и графические входные данные, реализуя межмодальное понимание и генерацию. Текстовая обработка при использовании модели gpt-4o соответствует содержимому базового использования выше; далее будет кратко представлено, как использовать возможности модели по обработке изображений. Возможность обработки изображений моделью gpt-4o в основном используется путем добавления поля type на основе исходного содержимого content; с помощью этого поля можно определить, загружен текст или изображение, и тем самым использовать возможности обработки изображений модели gpt-4o. Далее в основном описывается вызов этой функции двумя способами: Curl и Python.
  • Способ с помощью скрипта Curl
  • Способ с помощью скрипта Python
Затем можно получить следующий результат, информация о полях в результате соответствует приведённой выше, конкретно она выглядит следующим образом:
Можно увидеть, что содержание ответа основано на изображении, поэтому с помощью двух вышеуказанных способов можно легко использовать возможности модели gpt-4-vision по обработке текста и изображений. Помимо gpt-4o, есть ещё одна более дешёвая модель под названием gpt-4o-mini. gpt-4o-mini — это новое поколение больших языковых моделей, разработанное OpenAI; она не только быстро отвечает, но и стоит дешевле, а также поддерживает мультимодальность. Использование функции vision можно посмотреть в приведённом выше содержании об использовании модели gpt-4o.

Модель для рисования GPT-4o

Генерация изображений по референсному изображению

Ниже приведён пример создания изображения в пользовательском стиле на основе одного изображения; сначала давайте посмотрим на вводимое нами изображение, как показано ниже: Можно увидеть, что референсное изображение — это фотография реального человека; мы можем изменить его стиль, например превратить его в изображение в аниме-стиле, конкретный пример запроса:
Пример результата:
Среди них message.content в choices — это полный сгенерированный результат диалога, изображение включено в него в формате Markdown (ссылка на изображение является временным адресом, пожалуйста, своевременно скачайте и сохраните его). Можно увидеть, что сгенерированное изображение действительно выполнено в аниме-стиле, конкретно оно показано на изображении ниже:

Генерация изображений только по тексту

Мы можем с помощью одного промпта сгенерировать изображение и получить его в виде диалогового результата; ниже мы используем в качестве примера создать изображение заката в футуристическом городе, конкретный пример приведён ниже:
Пример результата:
Можно увидеть, что результат соответствует промпту, конкретно он показан ниже:

Создание одного изображения из нескольких

Мы также можем использовать несколько референсных изображений для создания одного изображения, например использовать изображение красивого парня и кофе; с помощью этих двух изображений можно создать изображение красивого парня, пьющего кофе, ниже приведены конкретные референсные изображения:

Ниже мы используем в качестве примера создать изображение парня, держащего кофе и собирающегося его выпить, конкретный пример приведён ниже:
Пример результата:
Можно увидеть, что сгенерированный результат действительно создан с объединением двух изображений, ниже приведён конкретный результат:

Обработка ошибок

При вызове API, если возникает ошибка, API возвращает соответствующий код ошибки и информацию. Например:
  • 400 token_mismatched:Неверный запрос, возможно, из-за отсутствующих или недопустимых параметров.
  • 400 api_not_implemented:Неверный запрос, возможно, из-за отсутствующих или недопустимых параметров.
  • 401 invalid_token:Не авторизовано, недействительный или отсутствующий токен авторизации.
  • 429 too_many_requests:Слишком много запросов, вы превысили лимит частоты.
  • 500 api_error:Внутренняя ошибка сервера, на сервере что-то пошло не так.

Пример ответа с ошибкой

Заключение

Из этого документа вы уже узнали, как с помощью OpenAI Chat Completion API легко реализовать функцию диалога официального OpenAI ChatGPT. Надеемся, этот документ поможет вам лучше интегрировать и использовать этот API. Если у вас возникнут какие-либо вопросы, пожалуйста, в любое время свяжитесь с нашей командой технической поддержки.