Формат разговора OpenAI (завершение чата)
Официальная документация
📝 Введение
Учитывая список сообщений, содержащих разговор, модель возвращает ответ. Соответствующие руководства можно найти на официальном сайте OpenAI: Завершение чата
💡 Пример запроса
Базовый текстовый разговор ✅
curl https://88api.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "developer",
"content": "ты полезный помощник。"
},
{
"role": "user",
"content": "Привет!"
}
]
}'Пример ответа:
{
"id": "chatcmpl-B9MBs8CjcvOU2jLn4n570S5qMJKcT",
"object": "chat.completion",
"created": 1741569952,
"model": "gpt-4.1-2025-04-14",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Привет!Могу я чем-нибудь помочь?",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 19,
"completion_tokens": 10,
"total_tokens": 29,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"service_tier": "default"
}Диалог анализа изображения ✅
curl https://88api.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Что на этой картинке?"
},
{
"type": "image_url",
"image_url": {
"url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
}
}
]
}
],
"max_tokens": 300
}'Пример ответа:
{
"id": "chatcmpl-B9MHDbslfkBeAs8l4bebGdFOJ6PeG",
"object": "chat.completion",
"created": 1741570283,
"model": "gpt-4.1-2025-04-14",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Изображение, показывающее деревянный тротуар через пышную зеленую траву или луг.。небесно-голубой,Усеяно несколькими рассеянными облаками,Создайте мирную и мирную атмосферу для всей сцены.。На заднем плане видны деревья и кусты。",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1117,
"completion_tokens": 46,
"total_tokens": 1163,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"service_tier": "default",
"system_fingerprint": "fp_fc9f1d7035"
}Ответ в потоковом режиме ✅
curl https://88api.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "developer",
"content": "ты полезный помощник。"
},
{
"role": "user",
"content": "Привет!"
}
],
"stream": true
}'Пример ответа потоковой передачи:
{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-4o-mini", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}
{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-4o-mini", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"content":"Привет"},"logprobs":null,"finish_reason":null}]}
// ... Больше блоков данных ...
{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-4o-mini", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}Вызов функции ✅
curl https://88api.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "user",
"content": "Какая сегодня погода в Бостоне??"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Получить текущую погоду для указанного места",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "город и штат,Например San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["location"]
}
}
}
],
"tool_choice": "auto"
}'Пример ответа:
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1699896916,
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": null,
"tool_calls": [
{
"id": "call_abc123",
"type": "function",
"function": {
"name": "get_current_weather",
"arguments": "{\n\"location\": \"Boston, MA\"\n}"
}
}
]
},
"logprobs": null,
"finish_reason": "tool_calls"
}
],
"usage": {
"prompt_tokens": 82,
"completion_tokens": 17,
"total_tokens": 99,
"completion_tokens_details": {
"reasoning_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
}
}Запрос Logprobs ✅
curl https://88api.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "gpt-4.1",
"messages": [
{
"role": "user",
"content": "Привет!"
}
],
"logprobs": true,
"top_logprobs": 2
}'Пример ответа:
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1702685778,
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Привет!Могу я чем-нибудь помочь?"
},
"logprobs": {
"content": [
{
"token": "Hello",
"logprob": -0.31725305,
"bytes": [72, 101, 108, 108, 111],
"top_logprobs": [
{
"token": "Hello",
"logprob": -0.31725305,
"bytes": [72, 101, 108, 108, 111]
},
{
"token": "Hi",
"logprob": -1.3190403,
"bytes": [72, 105]
}
]
},
{
"token": "!",
"logprob": -0.02380986,
"bytes": [33],
"top_logprobs": [
{
"token": "!",
"logprob": -0.02380986,
"bytes": [33]
},
{
"token": " there",
"logprob": -3.787621,
"bytes": [32, 116, 104, 101, 114, 101]
}
]
},
{
"token": " How",
"logprob": -0.000054669687,
"bytes": [32, 72, 111, 119],
"top_logprobs": [
{
"token": " How",
"logprob": -0.000054669687,
"bytes": [32, 72, 111, 119]
},
{
"token": "`<|end|>`",
"logprob": -10.953937,
"bytes": null
}
]
},
{
"token": " can",
"logprob": -0.015801601,
"bytes": [32, 99, 97, 110],
"top_logprobs": [
{
"token": " can",
"logprob": -0.015801601,
"bytes": [32, 99, 97, 110]
},
{
"token": " may",
"logprob": -4.161023,
"bytes": [32, 109, 97, 121]
}
]
},
{
"token": " I",
"logprob": -3.7697225e-6,
"bytes": [32, 73],
"top_logprobs": [
{
"token": " I",
"logprob": -3.7697225e-6,
"bytes": [32, 73]
},
{
"token": " assist",
"logprob": -13.596657,
"bytes": [32, 97, 115, 115, 105, 115, 116]
}
]
},
{
"token": " assist",
"logprob": -0.04571125,
"bytes": [32, 97, 115, 115, 105, 115, 116],
"top_logprobs": [
{
"token": " assist",
"logprob": -0.04571125,
"bytes": [32, 97, 115, 115, 105, 115, 116]
},
{
"token": " help",
"logprob": -3.1089056,
"bytes": [32, 104, 101, 108, 112]
}
]
},
{
"token": " you",
"logprob": -5.4385737e-6,
"bytes": [32, 121, 111, 117],
"top_logprobs": [
{
"token": " you",
"logprob": -5.4385737e-6,
"bytes": [32, 121, 111, 117]
},
{
"token": " today",
"logprob": -12.807695,
"bytes": [32, 116, 111, 100, 97, 121]
}
]
},
{
"token": " today",
"logprob": -0.0040071653,
"bytes": [32, 116, 111, 100, 97, 121],
"top_logprobs": [
{
"token": " today",
"logprob": -0.0040071653,
"bytes": [32, 116, 111, 100, 97, 121]
},
{
"token": "?",
"logprob": -5.5247097,
"bytes": [63]
}
]
},
{
"token": "?",
"logprob": -0.0008108172,
"bytes": [63],
"top_logprobs": [
{
"token": "?",
"logprob": -0.0008108172,
"bytes": [63]
},
{
"token": "?\n",
"logprob": -7.184561,
"bytes": [63, 10]
}
]
}
]
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 9,
"total_tokens": 18,
"completion_tokens_details": {
"reasoning_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"system_fingerprint": null
}📮 Запрос
Конечная точка
POST /v1/chat/completionsСоздает модель ответа для данного разговора в чате. Более подробную информацию см. в разделе «Генерация текста, визуальные эффекты и аудиогиды».
Метод аутентификации
Включите в заголовок запроса для аутентификации ключа API следующее:
Authorization: Bearer $API_KEYГде $API_KEY — ваш ключ API. Вы можете найти или создать ключ API на странице Ключи API платформы OpenAI.
Параметры тела запроса
$API_KEY
- Тип: массив
- Требуется: Да
Список сообщений, содержащих беседу на данный момент. В зависимости от используемой модели поддерживаются различные типы (формы) сообщений, такие как текст, изображения и аудио.
| Тип сообщения | Описание |
|---|---|
| Сообщение разработчика | Предоставленные разработчиком инструкции, которым должна следовать модель независимо от того, какое сообщение отправляет пользователь. В моделях o1 и новее сообщения разработчика заменяют предыдущие системные сообщения. |
| Системное сообщение | Предоставленные разработчиком инструкции, которым должна следовать модель независимо от того, какое сообщение отправляет пользователь. В моделях o1 и новее вместо этого используйте сообщения разработчика. |
| Сообщение пользователя | Сообщение, отправленное конечным пользователем и содержащее подсказки или дополнительную контекстную информацию. |
| Сообщение Ассистента | Сообщение, отправленное моделью в ответ на сообщение пользователя. |
| Сообщение об инструменте | Содержимое сообщения инструмента. |
| Функциональное сообщение | Устарело. |
Атрибут сообщения разработчика:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
role | Строка | Да | Роль автора сообщения, здесь developer. |
role | Строка или массив | Да | Содержание сообщения разработчика. Может быть текстовым содержимым (строкой) или массивом частей содержимого. |
role | Строка | Нет | Необязательное имя участника. Предоставьте информацию модели, чтобы различать актеров в одной и той же роли. |
Атрибут системного сообщения:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
role | Строка | Да | Роль автора сообщения, здесь developer. |
role | Строка или массив | Да | Содержимое системного сообщения. Может быть текстовым содержимым (строкой) или массивом частей содержимого. |
role | Строка | Нет | Необязательное имя участника. Предоставьте информацию модели, чтобы различать актеров в одной и той же роли. |
Атрибут сообщения пользователя:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
role | Строка | Да | Роль автора сообщения, здесь developer. |
content | Строка или массив | Да | Содержание сообщения пользователя. Может быть текстовым содержимым (строкой) или массивом частей содержимого. |
content | Строка | Нет | Необязательное имя участника. Предоставьте информацию модели, чтобы различать актеров в одной и той же роли. |
Тип раздела контента:
| Тип части контента | Описание | Доступно для |
|---|---|---|
| Часть текстового содержимого | Текстовый ввод. | Все типы сообщений |
| Раздел изображения | Ввод изображения. | Сообщения пользователей |
| Раздел аудиоконтента | Аудиовход. | Сообщения пользователей |
| Часть содержимого файла | Ввод файла, используемый для генерации текста. | Сообщения пользователей |
| Раздел отклоненных материалов | Сообщение об отказе, созданное моделью. | Сообщение помощника |
Атрибуты части текстового контента:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
content | Строка | Да | Текстовый контент. |
content | Строка | Да | Тип содержательной части. |
Атрибуты части содержимого изображения:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
content | Объект | Да | Содержит URL-адрес изображения или данные изображения в кодировке Base64. |
content | Строка | Да | Тип содержательной части. |
Свойства объекта URL-адреса изображения:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
content | Строка | Да | URL-адрес изображения или данные изображения в кодировке Base64. |
detail | Строка | Нет | Указывает уровень детализации изображения. По умолчанию — auto. |
Свойства части аудиоконтента:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
detail | Объект | Есть | объект, содержащий аудиоданные. |
detail | Строка | Да | Тип содержательной части. Всегда auto. |
Свойства объекта аудиовхода:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
detail | Строка | Да | Аудиоданные в кодировке Base64. |
detail | Строка | Да | Формат кодированных аудиоданных. В настоящее время поддерживаются форматы wav и mp3. |
Атрибуты части содержимого файла:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
detail | Объект | Есть | объект, содержащий данные файла. |
detail | Строка | Да | Тип содержательной части. Всегда auto. |
Свойства объекта «Файл»:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
detail | Строка | Нет | Данные файла в кодировке Base64 для передачи файла в модель в виде строки. |
file_id | Строка | Нет | Идентификатор загруженного файла, используемый в качестве входных данных. |
file_id | Строка | Нет | Имя файла, используемое для передачи файла в модель в виде строки. |
Атрибут сообщения Ассистента:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
file_id | Строка | Да | Роль автора сообщения, здесь assistant. |
file_id | Строка или массив | Нет | Содержимое вспомогательного сообщения. Требуется, если не указаны assistant или function_call. |
file_id | Строка | Нет | Необязательное имя участника. Предоставьте информацию модели, чтобы различать актеров в одной и той же роли. |
file_id | Объект или ноль | Нет | Данные о предыдущих аудиоответах модели. |
file_id | Объект или ноль | Нет | Устарело, заменено на assistant. Имя и аргументы функции, которую следует вызвать, генерируемые моделью. |
file_id | Массив | Нет | Вызовы инструментов, генерируемые моделью, например вызовы функций. |
file_id | Строка или ноль | Нет | Сообщение об отказе ассистента. |
Атрибут сообщения инструмента:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
role | Строка | Да | Роль автора сообщения, здесь tool. |
role | Строка или массив | Да | Содержимое сообщения инструмента. |
role | Строка | Да | Вызов инструмента, на который отвечает это сообщение. |
Атрибут функционального сообщения: (устарело)
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
role | Строка | Да | Роль автора сообщения, здесь tool. |
role | Строка или ноль | Да | Содержимое функционального сообщения. |
role | Строка | Да | Имя функции, которую нужно вызвать. |
role
- Тип: строка
- Требуется: Да
Идентификатор модели, который нужно использовать. Дополнительные сведения о том, какие модели доступны для Chat API, см. в матрице совместимости конечных точек модели.
role
- Тип: логический или нулевой.
- Требуется: Нет -Значение по умолчанию: ложь
Сохранять ли выходные данные этого запроса на завершение чата для использования в наших продуктах для дистилляции или оценки модели.
role
- тип: строка или ноль
- Требуется: Нет -Значение по умолчанию: средний
- Доступно только для моделей серии o.
Модели ограниченного вывода работают на умозаключении. На данный момент поддерживаются значения role, tool и high. Сокращение работы по выводу приводит к более быстрым ответам и уменьшению количества токенов, используемых для вывода в ответе.
role
- Тип: карта
- Требуется: Нет
Коллекция из 16 пар ключ-значение, которые можно прикрепить к объекту. Это полезно для хранения дополнительной информации об объекте в структурированном формате, а также для запроса объекта через API или панель мониторинга.
Ключи представляют собой строки длиной не более 64 символов. Значение представляет собой строку максимальной длиной 512 символов.
role
- Тип: массив или ноль.
- Требуется: Нет Тип вывода, который должна выдавать модель для этого запроса. Большинство моделей могут генерировать текст, это настройка по умолчанию: ["текст"]
Модель также можно использовать для генерации звука. Чтобы запросить, чтобы эта модель генерировала как текстовые, так и звуковые ответы, вы можете использовать: ["текст", "аудио"]
prediction
- Тип: Объект
- Требуется: Нет
Конфигурация прогнозных выходных данных, когда большая часть ответа модели известна заранее, может значительно сократить время ответа. Чаще всего это происходит, когда вы вносите в файл лишь незначительные изменения.
Возможные типы:
| Тип | Описание |
|---|---|
| СТАТИЧЕСКИЙ СОДЕРЖИМОЕ | Выходное содержимое статического прогнозирования, например содержимое текстового файла, которое восстанавливается с небольшими изменениями. |
Атрибуты статического контента:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
prediction | Строка или массив | Да | Что должно быть сопоставлено при генерации ответа модели. Если сгенерированная разметка соответствует этому содержимому, весь ответ модели можно будет вернуть быстрее. |
prediction | Строка | Да | Тип предоставляемого прогнозируемого контента. Текущим типом всегда является content. |
Возможные типы контента:
-
Текстовое содержимое (строка) – содержимое, используемое для прогнозирования вывода. Обычно это текст восстанавливаемого файла с небольшими изменениями.
-
ContentPartsArray(Array) — массив частей содержимого определенного типа. Поддерживаемые параметры различаются в зависимости от модели, используемой для генерации ответа. Может содержать текстовый ввод.
Свойства массива частей контента:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
prediction | Строка | Да | Текстовый контент. |
prediction | Строка | Да | Тип содержательной части. |
audio
- тип: объект или ноль
- Требуется: Нет
Параметры аудиовыхода. Требуется при запросе вывода звука с помощью audio.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
audio | Строка | Да | Определяет выходной аудиоформат. Должно быть одно из следующих: wav, mp3, flac, opus или pcm16. |
audio | Строка | Да | Звук, на который модель реагирует. Поддерживаемые звуки: сплав, ясень, баллада, коралл, эхо, басня, новая звезда, оникс, шалфей и мерцание. |
audio
- тип: число или ноль
- Требуется: Нет
- Значение по умолчанию: 1
Используемая температура выборки от 0 до 2. Более высокие значения (например, 0,8) делают выходные данные более случайными, а более низкие значения (например, 0,2) делают их более целенаправленными и детерминированными. Обычно мы рекомендуем изменить это значение или audio, но не оба одновременно.
audio
- тип: число или ноль
- Требуется: Нет
- Значение по умолчанию: 1
Альтернатива температуре отбора проб называется выборкой ядра, где модель учитывает помеченные результаты с массой вероятности top_p. Следовательно, 0,1 означает, что учитываются только токены, содержащие верхнюю 10%-ную массу вероятности.
Обычно мы рекомендуем изменить это значение или audio, но не оба одновременно.
audio
- Тип: целое число или ноль.
- Требуется: Нет
- Значение по умолчанию: 1
Сколько вариантов завершения чата генерируется для каждого входного сообщения. Обратите внимание, что с вас будет взиматься плата в зависимости от количества тегов, созданных для всех выбранных вариантов. Оставьте audio равным 1, чтобы минимизировать затраты.
audio
- Тип: строка/массив/ноль.
- Требуется: Нет -Значение по умолчанию: ноль
- Не поддерживает последние модели вывода и .o3, o4-mini.
API прекратит генерировать последовательности, содержащие еще до 4 тегов. Возвращенный текст не будет содержать стоп-последовательности.
audio
- Тип: целое число или ноль.
- Требуется: Нет Максимальное количество токенов, которое может быть сгенерировано при завершении чата. Это значение можно использовать для управления стоимостью текста, генерируемого через API.
Это значение теперь устарело в пользу max_completion_tokens и несовместимо с моделями семейства o1.
max_completion_tokens
- Тип: целое число или ноль.
- Требуется: Нет
Верхний предел количества токенов, которые могут быть сгенерированы при завершении, включая видимые выходные токены и токены вывода.
max_completion_tokens
- тип: число или ноль
- Требуется: Нет
- Значение по умолчанию: 0
Число от -2,0 до 2,0. Положительные значения наказывают новые токены в зависимости от их появления в тексте, тем самым увеличивая вероятность того, что модель обсуждает новые темы.
max_completion_tokens
- тип: число или ноль
- Требуется: Нет
- Значение по умолчанию: 0
Число от -2,0 до 2,0. Положительные значения наказывают новые токены на основе их существующей частоты в тексте, что снижает вероятность того, что модель будет дословно повторять одну и ту же строку.
max_completion_tokens
- Тип: карта
- Требуется: Нет -Значение по умолчанию: ноль
Изменяет вероятность того, что указанный тег появится в завершенном виде.
Принимает объект JSON, который сопоставляет токены (указанные идентификаторами токенов в токенизаторе) со связанными значениями смещения от -100 до 100. Математически смещение добавляется к логарифму, сгенерированному моделью перед выборкой. Точный эффект будет варьироваться от модели к модели, но значения от -1 до 1 должны уменьшить или увеличить вероятность выбора; значения типа -100 или 100 должны привести к подавлению или исключительному выбору соответствующей отметки.
max_completion_tokens
- Тип: логический или нулевой.
- Требуется: Нет -Значение по умолчанию: ложь
Возвращать ли вероятность журнала выходного токена. Если true, возвращает вероятность журнала каждого выходного токена в max_completion_tokens.
max_completion_tokens
- Тип: строка
- Требуется: Нет
Представляет уникальный идентификатор конечного пользователя, который помогает OpenAI отслеживать и обнаруживать злоупотребления. Подробнее.
max_completion_tokens
- тип: строка или ноль
- Требуется: Нет -По умолчанию: авто
Указывает уровень задержки, используемый для обработки запросов. Этот параметр актуален для клиентов, подписанных на услугу уровня масштабирования:
- Если установлено значение «авто», и в проекте включен уровень масштабирования, система будет использовать кредиты уровня масштабирования до тех пор, пока они не будут исчерпаны.
- Если установлено значение «авто», а в проекте не включен уровень масштабирования, запросы будут обрабатываться с использованием уровня обслуживания по умолчанию, с меньшим временем безотказной работы и без гарантий задержки.
- Если установлено значение «по умолчанию», запросы будут обрабатываться с использованием уровня обслуживания по умолчанию, с меньшим временем безотказной работы и без гарантий задержки. — Если установлено значение «flex», запросы будут обрабатываться с использованием иерархии служб обработки Flex. Подробности смотрите в документации.
- Если не установлено, поведение по умолчанию — «авто».
- Если этот параметр установлен, тело ответа будет содержать используемый уровень службы.
stream_options
- тип: объект или ноль
- Требуется: Нет -Значение по умолчанию: ноль
Варианты потоковой передачи ответов. Используется только при настройке stream_options.
Возможные атрибуты:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
stream_options | Логическое | Нет | Если установлено, дополнительный фрагмент будет передаваться перед сообщением data: [DONE]. Поле использования в блоке показывает статистику использования токена для всего запроса, а поле выбора всегда представляет собой пустой массив. Все остальные блоки также будут содержать поле использования, но с нулевым значением. Примечание. Если поток прерывается, вы можете не получить окончательный блок использования, содержащий общее количество использованных токенов для запроса. |
stream_options
- Тип: Объект
- Требуется: Нет
Указывает формат, в котором должна быть выведена модель.
— Установите значение stream_options, чтобы включить структурированный вывод и гарантировать, что модель будет соответствовать предоставленной вами схеме JSON.
— Установите значение stream_options, чтобы включить режим JSON и гарантировать, что сообщения, генерируемые моделью, являются допустимыми JSON.
Важно: при использовании схемы JSON вы также должны указать модели генерировать JSON самостоятельно с помощью системного или пользовательского сообщения. В противном случае модель может генерировать бесконечные пробелы, пока генерация не достигнет предела токенов.
Возможные типы:
| Тип | Описание |
|---|---|
| текст | Формат ответа по умолчанию. Используется для генерации текстовых ответов. |
| json_schema | Формат ответа схемы JSON. Используется для генерации структурированных ответов JSON. Узнайте больше о структурированном выводе. |
| json_object | Формат ответа объекта JSON. Старый способ генерации ответов JSON. Для поддерживаемых моделей рекомендуется использовать json_schema. |
текстовый атрибут:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
type | Строка | Да | Определяемый тип формата ответа. Всегда text. |
атрибут json_schema:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
type | Объект | Да | Параметры конфигурации структурированного вывода, включая схему JSON. |
type | Строка | Да | Определяемый тип формата ответа. Всегда text. |
атрибут json_schema.json_schema:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
name | Строка | Да | Имя формата ответа. Должны быть от A до Z, от A до Z, от 0 до 9 или содержать символы подчеркивания и тире. Максимальная длина — 64. |
name | Строка | Нет | Описание назначения формата ответа, которое используется моделью для определения того, как отвечать в этом формате. |
name | Объект | Нет | Схема формата ответа, описанная как объект схемы JSON. |
name | Логическое или нулевое значение | Нет | Включить ли строгое соответствие схемы при создании выходных данных. Если установлено значение true, модель всегда будет следовать точной схеме, определенной в поле схемы. Если для параметра strict установлено значение true, поддерживается только подмножество схемы JSON. |
атрибут json_object:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
type | Строка | Да | Определяемый тип формата ответа. Всегда json_object. |
type
- Тип: целое число или ноль.
- Требуется: Нет Бета-функции. Если указано, наша система будет выполнять детерминированную выборку с максимальной эффективностью, чтобы повторные запросы с одним и тем же начальным числом и параметрами должны возвращать одни и те же результаты. Детерминизм не гарантируется, и вам следует обратиться к system_fingerprint параметров ответа, чтобы отслеживать изменения на серверной части.
type
- Тип: массив
- Требуется: Нет
Список инструментов, которые может вызывать модель. В настоящее время в качестве инструментов поддерживаются только функции. Используйте этот параметр, чтобы предоставить список функций, для которых модель может генерировать входные данные JSON. Поддерживается до 128 функций.
Свойства:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
type | Объект | Да | Информация о функции для вызова |
type | Строка | Да | Тип инструмента. В настоящее время поддерживаются только функции. |
атрибут функции:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
name | Строка | Да | Имя вызываемой функции. Должны быть от A до Z, от A до Z, от 0 до 9 или содержать символы подчеркивания и тире. Максимальная длина — 64. |
name | Строка | Нет | Описание того, что делает функция, которое используется моделью для выбора, когда и как вызывать функцию. |
name | Объект | Нет | Параметры, принимаемые функцией, описываемые как объекты схемы JSON. Примеры см. в руководстве, а документацию по формату — в справочнике по схеме JSON. Отсутствие параметров определяет функцию с пустым списком параметров. |
name | Логическое или нулевое значение | Нет | По умолчанию: ложь. Включить ли строгое соответствие архитектуре при генерации вызовов функций. Если установлено значение true, модель будет следовать точной схеме, определенной в поле параметров. Если для параметра strict установлено значение true, поддерживается только подмножество схемы JSON. Подробности см. в разделе «Структурированный вывод» Руководства по вызову функций. |
name
- Тип: массив
- Требуется: Нет
- Примечание. Устарело, рекомендуется использовать
name.
Модель может генерировать список функций в качестве входных данных JSON.
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
name | Строка | Да | Имя вызываемой функции. Должно быть от A до Z, от A до Z, от 0 до 9 или содержать символы подчеркивания и тире. Максимальная длина — 64. |
description | Строка | Нет | Описание того, что делает функция, которое используется моделью для выбора, когда и как вызывать функцию. |
description | Объект | Нет | Параметры, принимаемые функцией, описываемые как объекты схемы JSON. Отсутствие параметров определяет функцию с пустым списком параметров. |
description
- Тип: строка или объект.
- Требуется: Нет
Укажите, какой инструмент (если есть) вызывает модель:
description: Модель не вызывает никаких инструментов, но генерирует сообщенияdescription: модель может выбирать между генерацией сообщения или вызовом одного или нескольких инструментов.description: модель должна вызывать один или несколько инструментов.description: заставить модель вызывать определенный инструмент.
По умолчанию используется description, когда инструмент отсутствует, и auto, когда инструмент есть.
Возможные типы:
| Тип | Описание |
|---|---|
| Строка | none означает, что модель не будет вызывать какие-либо инструменты, а вместо этого будет генерировать сообщения. auto означает, что модель может выбирать между генерацией сообщения или вызовом одного или нескольких инструментов. требуется указывает, что модель должна вызвать один или несколько инструментов. |
| Объект | Указывает инструмент, который должна использовать модель. Используется, чтобы заставить модель вызвать определенную функцию. |
Свойства объекта:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
description | Объект | Да | Объект, содержащий информацию о функции |
type | Строка | Да | Тип инструмента. В настоящее время поддерживаются только функции. |
атрибут функции:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
type | Строка | Да | Имя функции, которую нужно вызвать. |
type
- Тип: строка или объект.
- Требуется: Нет
- Значение по умолчанию:
type, когда функция отсутствует,auto, когда функция есть. - Примечание. Устарело, рекомендуется использовать
type.
Укажите, какую функцию (если есть) вызывает модель:
type: модель не вызывает функцию, а генерирует сообщение.type: модель может выбирать между генерацией сообщений или вызовом функций.type: заставить модель вызывать определенную функцию.
Свойства типа объекта:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
type | Строка | Да | Имя функции, которую нужно вызвать. |
type
- Тип: Логический
- Требуется: Нет -Значение по умолчанию: правда
Включить ли параллельные вызовы функций во время использования инструмента.
type
- Тип: логический или нулевой.
- Требуется: Нет -Значение по умолчанию: ложь
Если установлено значение true, данные ответа модели будут передаваться клиенту через события, отправленные сервером, при создании. Дополнительные сведения см. в разделе «Потоковые ответы» ниже, а также в руководстве «Потоковые ответы», чтобы узнать, как обрабатывать события потоковой передачи.
type
- Тип: целое число или ноль.
- Требуется: Нет
Целое число от 0 до 20, определяющее количество наиболее вероятных тегов, возвращаемых в каждой позиции тега, причем каждый тег имеет связанную с ним логарифмическую вероятность. Если этот параметр используется, для type должно быть установлено значение true.
type
- Тип: Объект
- Требуется: Нет
Этот инструмент ищет в Интернете соответствующие результаты ответов. Узнайте больше об инструментах веб-поиска.
Возможные атрибуты:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
search_context_size | Строка | Нет | По умолчанию: средний. Общее руководство по объему контекстного окна, используемому для поиска. Необязательные значения: низкий, средний или высокий. средний — значение по умолчанию. |
search_context_size | Объект или ноль | Нет | Параметр приблизительного положения для поиска. |
атрибут user_location:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
search_context_size | Объект | Есть | приблизительный параметр положения для поиска. |
приблизительный атрибут:
| Недвижимость | Тип | Требуется | Описание |
|---|---|---|---|
search_context_size | Строка | Нет | Произвольный ввод текста для города пользователя, например Сан-Франциско. |
search_context_size | Строка | Нет | Двухбуквенный код страны пользователя по стандарту ISO, например США. |
search_context_size | Строка | Нет | Произвольный ввод текста для локали пользователя, например Калифорнии. |
search_context_size | Строка | Нет | Часовой пояс пользователя в соответствии с IANA, например America/Los_Angeles. |
search_context_size | Строка | Да | Тип близости позиции. Всегда приблизительно. |
📥 Ответ
Объект завершения чата
Возвращает объект завершения чата или, если запрос передается в потоковом режиме, потоковую последовательность объектов блока завершения чата.
search_context_size
- Тип: строка
- Описание: Уникальный идентификатор ответа.
search_context_size
- Тип: строка
- Описание: тип объекта, значение «chat.completion».
created
- Тип: целое число
- Описание: временная метка создания ответа.
created
- Тип: строка
- Описание: используемое название модели.
created
- Тип: строка
- Описание: системный идентификатор отпечатка пальца, указывающий серверную конфигурацию работающей модели. Может использоваться с параметром начального запроса, чтобы понять, когда были внесены изменения в серверную часть, которые могут повлиять на детерминизм.
created
- Тип: массив
- Описание: содержит список сгенерированных вариантов ответа. Если n больше 1, вариантов может быть несколько.
- Свойства:
created: индекс опции в списке опций.created: сообщение о завершении чата, созданное моделью.created: роль автора сообщения.created: содержимое сообщения может быть нулевым.created: сообщение об отклонении, созданное моделью, может быть нулевым.created: комментарии к сообщению, предоставляемые, когда это применимо, например, при использовании инструмента веб-поиска.created: тип аннотации, всегда «url_citation», если он цитируется по URL.created: ссылка на URL-адрес при использовании веб-поиска.created: индекс первого символа URL-адреса в сообщении.created: индекс последнего символа URL-адреса в сообщении.created: URL-адрес сетевого ресурса.created: заголовок сетевого ресурса.
created: если запрашивается модальное окно вывода звука, этот объект содержит данные из звукового ответа модели.created: аудиобайты в кодировке Base64, генерируемые моделью, формат указан в запросе.created: уникальный идентификатор этого звукового ответа.created: транскрипция звука, генерируемого моделью.created: временная метка Unix (в секундах), когда этот звуковой ответ был доступен на сервере для нескольких раундов разговора.
created: (УСТАРЕЛО) Имя и аргументы вызываемой функции, генерируемые моделью. Заменен наtool_calls.created: имя вызываемой функции.created: параметры, используемые для вызова функции, генерируемые моделью в формате JSON.
created: вызовы инструментов для создания модели, например вызовы функций.
id: идентификатор вызова инструмента.id: Тип инструмента. В настоящее время поддерживаются только функции.id: функция, вызываемая моделью.id: имя вызываемой функции.id: параметры, используемые для вызова функции, генерируемые моделью в формате JSON. Обратите внимание, что модель не всегда создает действительный JSON и может создавать параметры, которые не определены в вашей схеме функции. Прежде чем вызывать функцию, проверьте параметры в своем коде.
id: записать информацию о вероятности.id: список тегов содержимого сообщения с информацией о вероятности регистрации.id: отметка.id: запишите вероятность появления этого токена, если он входит в число 20 наиболее вероятных токенов. В противном случае использование значения -9999,0 указывает на то, что этот тег маловероятен.id: список целых чисел, представляющих байтовое представление тега в формате UTF-8. Полезно в ситуациях, когда символ представлен несколькими токенами, и их байтовые представления необходимо объединить для создания правильного текстового представления. Может быть нулевым, если тег не имеет байтового представления.id: список наиболее вероятных маркеров в этой позиции маркера и их логарифмические вероятности. В редких случаях количество возвращаемых top_logprobs может быть меньше запрошенного.
id: список маркеров отклонения сообщений с информацией о вероятности регистрации.
id: причина, по которой модель перестала генерировать маркеры. «stop», если модель достигает естественной точки остановки или предоставленной последовательности остановки, «length», если достигнуто максимальное количество токенов, указанное в запросе, «content_filter», если контент опущен из-за токена фильтра содержимого, «tool_calls», если модель вызывает инструмент, или «function_call» (устарело), если модель вызывает функцию.
id
- Тип: Объект
- Описание: Статистика использования запросов на выполнение.
- Свойства:
id: количество токенов в приглашении.id: количество токенов в сгенерированном завершении.id: общее количество токенов, использованных в запросе (подсказка + завершение).id: разбивка тегов, используемых в приглашении.id: тег кэша присутствует в командной строке.id: тег аудиовхода присутствует в подсказке.
id: разбивка жетонов, использованных при завершении.id: токен вывода, созданный моделью.
audio_tokens: аудиоразметка, созданная моделью.audio_tokens: количество токенов, которые, по прогнозам, появятся в завершении при использовании вывода прогноза.audio_tokens: при использовании вывода прогноза количество токенов в прогнозе, которые не появляются в завершении. Однако, как и токены вывода, эти токены по-прежнему учитываются в качестве токенов общего завершения для ограничений окон выставления счетов, вывода и контекста.
audio_tokens
- тип: строка или ноль
- Описание: указывает уровень задержки, используемый для обработки запросов. Этот параметр актуален для клиентов, подписанных на услугу уровня масштабирования:
- Если установлено значение «авто», и в проекте включен уровень масштабирования, система будет использовать кредиты уровня масштабирования до тех пор, пока они не будут исчерпаны.
- Если установлено значение «авто», а в проекте не включен уровень масштабирования, запросы будут обрабатываться с использованием уровня обслуживания по умолчанию, с меньшим временем безотказной работы и без гарантий задержки.
- Если установлено значение «по умолчанию», запросы будут обрабатываться с использованием уровня обслуживания по умолчанию, с меньшим временем безотказной работы и без гарантий задержки.
- Если установлено значение «flex», запросы будут обрабатываться с использованием иерархии служб Flex Processing.
- Если не установлено, поведение по умолчанию — «авто».
- Если этот параметр установлен, тело ответа будет содержать используемый уровень службы.
Пример ответа объекта завершения чата
{
"id": "chatcmpl-B9MHDbslfkBeAs8l4bebGdFOJ6PeG",
"object": "chat.completion",
"created": 1741570283,
"model": "gpt-4o-2024-08-06",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Изображение, показывающее деревянный тротуар через пышную зеленую траву или луг.。небесно-голубой,Усеяно несколькими рассеянными облаками,Создайте мирную и мирную атмосферу для всей сцены.。На заднем плане видны деревья и кусты。",
"refusal": null,
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1117,
"completion_tokens": 46,
"total_tokens": 1163,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
},
"service_tier": "default",
"system_fingerprint": "fp_fc9f1d7035"
}Объект списка завершения чата
Когда возвращается несколько завершений чата, API может вернуть объект списка завершения чата.
object
- Тип: строка
- Описание: Тип объекта, всегда «список».
object
- Тип: массив
- Описание: Массив объектов завершения чата.
object
- Тип: строка
- Описание: идентификатор первого завершения чата в массиве данных.
object
- Тип: строка
- Описание: идентификатор последнего завершения чата в массиве данных.
object
- Тип: Логический
- Описание: указывает, доступны ли дополнительные завершения чата.
Пример ответа на список завершения чата
{
"object": "list",
"data": [
{
"object": "chat.completion",
"id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2",
"model": "gpt-4o-2024-08-06",
"created": 1738960610,
"request_id": "req_ded8ab984ec4bf840f37566c1011c417",
"tool_choice": null,
"usage": {
"total_tokens": 31,
"completion_tokens": 18,
"prompt_tokens": 13
},
"seed": 4944116822809979520,
"top_p": 1.0,
"temperature": 1.0,
"presence_penalty": 0.0,
"frequency_penalty": 0.0,
"system_fingerprint": "fp_50cad350e4",
"input_user": null,
"service_tier": "default",
"tools": null,
"metadata": {},
"choices": [
{
"index": 0,
"message": {
"content": "Сердце шепчет кругом,\nИзучение закономерностей в тишине—\nИскра спокойствия для будущего。",
"role": "assistant",
"tool_calls": null,
"function_call": null
},
"finish_reason": "stop",
"logprobs": null
}
],
"response_format": null
}
],
"first_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2",
"last_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2",
"has_more": false
}Объект списка сообщений завершения чата
Объект списка сообщений завершения чата представляет список сообщений чата.
object
- Тип: строка
- Описание: Тип объекта, всегда «список».
object
- Тип: массив
- Описание: Массив объектов сообщения о завершении чата. Каждый объект сообщения содержит следующие свойства:
object: идентификатор сообщения чата.object: роль автора сообщения.object: содержимое сообщения может быть нулевым.object: имя отправителя сообщения, может быть нулевым.object: сообщение об отказе, созданное моделью, может быть нулевым.object: комментарии к сообщению, предоставляемые, когда это применимо, например, при использовании инструмента веб-поиска.object: тип аннотации, всегда «url_citation», если цитируется по URL.object: ссылка на URL-адрес при использовании веб-поиска.object: индекс первого символа URL-адреса в сообщении.object: индекс последнего символа URL-адреса в сообщении.object: URL-адрес сетевого ресурса.object: Название сетевого ресурса.
object: если запрашивается модальное окно вывода звука, этот объект содержит данные из звукового ответа модели.object: аудиобайты в кодировке Base64, генерируемые моделью, формат указан в запросе.object: уникальный идентификатор этого звукового ответа.object: транскрипция звука, генерируемого моделью.object: временная метка Unix (в секундах), когда этот звуковой ответ был доступен на сервере для нескольких раундов разговора.
object: (УСТАРЕЛО) Имя и аргументы вызываемой функции, генерируемые моделью. Заменен наtool_calls.object: имя вызываемой функции.object: параметры, используемые для вызова функции, сгенерированные моделью в формате JSON.
object: вызовы инструментов для создания модели, например вызовы функций.object: идентификатор вызова инструмента.object: Тип инструмента. На данный момент поддерживаются только функцииobject: функция, вызываемая моделью.object: имя вызываемой функции.object: параметры, используемые для вызова функции, сгенерированные моделью в формате JSON.
first_id
- Тип: строка
- Описание: идентификатор первого сообщения чата в массиве данных.
first_id
- Тип: строка
- Описание: идентификатор последнего сообщения чата в массиве данных.
first_id
- Тип: Логический
- Описание: указывает, доступны ли дополнительные сообщения чата.
Пример ответа на список сообщений о завершении чата
{
"object": "list",
"data": [
{
"id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2-0",
"role": "user",
"content": "Напишите хайку об искусственном интеллекте",
"name": null,
"content_parts": null
}
],
"first_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2-0",
"last_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2-0",
"has_more": false
}