88API88API
AI-приложенияAPIПомощь и поддержка

Формат разговора 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.

Возможные типы контента:

  1. Текстовое содержимое (строка) – содержимое, используемое для прогнозирования вывода. Обычно это текст восстанавливаемого файла с небольшими изменениями.

  2. 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
}