Поделиться через


Справочник по API реального времени (предварительная версия)

Примечание.

Эта функция сейчас доступна в виде общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

API Realtime — это API на основе WebSocket, который позволяет взаимодействовать со службой Azure OpenAI в режиме реального времени.

API Реального времени (через /realtime) основан на API WebSockets для обеспечения полной асинхронной потоковой передачи между конечным пользователем и моделью. Сведения об устройстве, такие как запись и отрисовка звуковых данных, находятся вне области API Реального времени. Она должна использоваться в контексте доверенной промежуточной службы, которая управляет подключениями как к конечным пользователям, так и к конечным точкам модели. Не используйте его непосредственно с ненадежных устройств конечных пользователей.

Совет

Чтобы приступить к работе с API Реального времени, ознакомьтесь с кратким руководством и руководством.

Connection

API в режиме реального времени требует существующей конечной точки ресурса Azure OpenAI в поддерживаемом регионе. Доступ к API осуществляется через безопасное подключение WebSocket к /realtime конечной точке ресурса Azure OpenAI.

Полный универсальный код ресурса (URI) запроса можно создать, сцепляя:

  • Безопасный протокол WebSocket (wss://)
  • Имя узла конечной точки ресурса Azure OpenAI, например my-aoai-resource.openai.azure.com
  • openai/realtime Путь к API.
  • api-version Параметр строки запроса для поддерживаемой версии API, например2024-12-17
  • deployment Параметр строки запроса с именем gpt-4o-realtime-preview развертывания или gpt-4o-mini-realtime-preview модели.

Следующий пример — это хорошо созданный /realtime универсальный код ресурса (URI) запроса:

wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-12-17&deployment=gpt-4o-realtime-preview

Проверка подлинности

Для проверки подлинности:

  • Microsoft Entra (рекомендуется): используйте проверку подлинности на основе маркеров с /realtime ПОМОЩЬЮ API для ресурса Службы OpenAI Azure с включенным управляемым удостоверением. Примените полученный маркер проверки подлинности с помощью маркера с заголовком BearerAuthorization .
  • Ключ API: api-key можно предоставить один из двух способов:
    • Использование заголовка api-key подключения в предварительном подключении. Этот параметр недоступен в среде браузера.
    • api-key Использование параметра строки запроса в URI запроса. Параметры строки запроса шифруются при использовании https/wss.

События клиента

Существует девять событий клиента, которые можно отправлять с клиента на сервер:

Мероприятие Description
RealtimeClientEventConversationItemCreate Событие клиента conversation.item.create используется для добавления нового элемента в контекст беседы, включая сообщения, вызовы функций и ответы на вызовы функций.
RealtimeClientEventConversationItemDelete Событие клиента conversation.item.delete используется для удаления элемента из журнала бесед.
RealtimeClientEventConversationItemTruncate Событие клиента conversation.item.truncate используется для усечения звука предыдущего помощника.
RealtimeClientEventInputAudioBufferAppend Событие клиента input_audio_buffer.append используется для добавления звуковых байтов в входной звуковой буфер.
RealtimeClientEventInputAudioBufferClear Событие клиента input_audio_buffer.clear используется для очистки звуковых байтов в буфере.
RealtimeClientEventInputAudioBufferCommit Событие клиента input_audio_buffer.commit используется для фиксации входного звукового буфера пользователя.
RealtimeClientEventResponseCancel Событие клиента response.cancel используется для отмены ответа на ход выполнения.
RealtimeClientEventResponseCreate Событие клиента response.create используется для указания серверу создать ответ с помощью вывода модели.
RealtimeClientEventSessionUpdate Событие клиента session.update используется для обновления конфигурации сеанса по умолчанию.

RealtimeClientEventConversationItemCreate

Событие клиента conversation.item.create используется для добавления нового элемента в контекст беседы, включая сообщения, вызовы функций и ответы на вызовы функций. Это событие можно использовать для заполнения журнала беседы и добавления новых элементов в середине потока. В настоящее время это событие не может заполнять звуковые сообщения помощника.

В случае успешного conversation.item.created выполнения сервер отвечает на событие, в противном случае error отправляется событие.

Структура событий

{
  "type": "conversation.item.create",
  "previous_item_id": "<previous_item_id>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть conversation.item.create.
previous_item_id строка Идентификатор предыдущего элемента, после которого вставляется новый элемент. Если этот параметр не задан, новый элемент добавляется в конец беседы. Если задано, он позволяет вставлять элемент в середине беседы. Если идентификатор не найден, возвращается ошибка и элемент не добавляется.
элемент RealtimeConversationRequestItem Элемент, добавляемый в беседу.

RealtimeClientEventConversationItemDelete

Событие клиента conversation.item.delete используется для удаления элемента из журнала бесед.

Сервер отвечает на conversation.item.deleted событие, если элемент не существует в журнале бесед, в этом случае сервер отвечает с ошибкой.

Структура событий

{
  "type": "conversation.item.delete",
  "item_id": "<item_id>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть conversation.item.delete.
item_id строка Идентификатор удаленного элемента.

RealtimeClientEventConversationItemTruncate

Событие клиента conversation.item.truncate используется для усечения звука предыдущего помощника. Сервер создает звук быстрее, чем в режиме реального времени, поэтому это событие полезно, когда пользователь прерывает усечение звука, отправленного клиенту, но еще не воспроизводится. Понимание звука сервера с воспроизведением клиента синхронизируется.

Усечение звука удаляет расшифровку текста на стороне сервера, чтобы убедиться, что в контексте нет текста, о том, что пользователь не знает.

Если событие клиента успешно выполнено, сервер отвечает на conversation.item.truncated событие.

Структура событий

{
  "type": "conversation.item.truncate",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Свойства

Поле Тип Описание
type строка Тип события должен быть conversation.item.truncate.
item_id строка Идентификатор элемента сообщения помощника для усечения. Только элементы сообщения помощника могут быть усечены.
content_index integer Индекс части содержимого для усечения. Задайте для этого свойства значение "0".
audio_end_ms integer Инклюзивное время, до которого усечен звук в миллисекундах. Если audio_end_ms больше фактической продолжительности звука, сервер отвечает ошибкой.

RealtimeClientEventInputAudioBufferAppend

Событие клиента input_audio_buffer.append используется для добавления звуковых байтов в входной звуковой буфер. Буфер звука — это временное хранилище, в который можно записать и позже зафиксировать.

В режиме обнаружения действий голосовой связи сервера буфер звука используется для обнаружения речи, а сервер решает, когда зафиксировать. При отключении VAD сервера клиент может выбрать, сколько звука должно размещаться в каждом событии не более 15 МиБ. Например, потоковая передача небольших блоков от клиента может позволить VAD быть более адаптивным.

В отличие от большинства других событий клиента, сервер не отправляет ответ подтверждения на событие клиента input_audio_buffer.append .

Структура событий

{
  "type": "input_audio_buffer.append",
  "audio": "<audio>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть input_audio_buffer.append.
audio строка Аудиобайты в кодировке Base64. Это значение должно быть в формате, указанном input_audio_format полем в конфигурации сеанса.

RealtimeClientEventInputAudioBufferClear

Событие клиента input_audio_buffer.clear используется для очистки звуковых байтов в буфере.

Сервер отвечает на input_audio_buffer.cleared событие.

Структура событий

{
  "type": "input_audio_buffer.clear"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть input_audio_buffer.clear.

RealtimeClientEventInputAudioBufferCommit

Событие клиента input_audio_buffer.commit используется для фиксации входного звукового буфера пользователя, который создает новый элемент сообщения пользователя в беседе. Звук транскрибируется, если input_audio_transcription настроен для сеанса.

Если в режиме VAD сервера клиент не должен отправлять это событие, сервер автоматически фиксирует буфер звука. Без vaD сервера клиент должен зафиксировать звуковой буфер, чтобы создать элемент сообщения пользователя. Это событие клиента приводит к ошибке, если входной звуковой буфер пуст.

Фиксация входного звукового буфера не создает ответ от модели.

Сервер отвечает на input_audio_buffer.committed событие.

Структура событий

{
  "type": "input_audio_buffer.commit"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть input_audio_buffer.commit.

RealtimeClientEventResponseCancel

Событие клиента response.cancel используется для отмены ответа на ход выполнения.

Сервер реагирует на response.cancelled событие или ошибку, если нет ответа на отмену.

Структура событий

{
  "type": "response.cancel"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.cancel.

RealtimeClientEventResponseCreate

Событие клиента response.create используется для указания серверу создать ответ с помощью вывода модели. Если сеанс настроен в режиме VAD сервера, сервер автоматически создает ответы.

Ответ включает по крайней мере один item, и может иметь два, в этом случае второй — вызов функции. Эти элементы добавляются в журнал бесед.

Сервер реагирует на response.created событие, одно или несколько событий элемента и содержимого (например conversation.item.created , и response.content_part.added), и, наконец response.done , событие, указывающее, что ответ завершен.

Примечание.

Событие клиента response.create включает конфигурацию вывода, например instructions, и temperature. Эти поля могут переопределить конфигурацию сеанса только для этого ответа.

Структура событий

{
  "type": "response.create"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.create.
Отклик RealtimeResponseOptions Параметры ответа.

RealtimeClientEventSessionUpdate

Событие клиента session.update используется для обновления конфигурации сеанса по умолчанию. Клиент может отправлять это событие в любое время, чтобы обновить конфигурацию сеанса, и любое поле можно обновлять в любое время, за исключением голосовой связи.

Обновляются только те поля, которые присутствуют. Чтобы очистить поле (например instructions, ), передайте пустую строку.

Сервер отвечает на session.updated событие, содержащее полную эффективную конфигурацию.

Структура событий

{
  "type": "session.update"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть session.update.
session RealtimeRequestSession Конфигурация сеанса.

События сервера

С сервера можно получить 28 событий сервера:

Мероприятие Description
RealtimeServerEventConversationCreated Событие сервера conversation.created возвращается сразу после создания сеанса. Для каждого сеанса создается одна беседа.
RealtimeServerEventConversationItemCreated Событие сервера conversation.item.created возвращается при создании элемента беседы.
RealtimeServerEventConversationItemDeleted Событие сервера conversation.item.deleted возвращается, когда клиент удалил элемент в беседе с событием conversation.item.delete .
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted Событие сервера conversation.item.input_audio_transcription.completed является результатом транскрибирования звука для речи, записанной в буфер звука.
RealtimeServerEventConversationItemInputAudioTranscriptionFailed Событие сервера conversation.item.input_audio_transcription.failed возвращается при настройке входного транскрибирования звука, а запрос транскрибирования для сообщения пользователя завершился ошибкой.
RealtimeServerEventConversationItemTruncated Событие сервера conversation.item.truncated возвращается при усечении предыдущего элемента звукового сообщения помощника с событием conversation.item.truncate .
RealtimeServerEventError Событие сервера error возвращается при возникновении ошибки, которая может быть проблемой клиента или проблемой сервера.
RealtimeServerEventInputAudioBufferCleared Событие сервера input_audio_buffer.cleared возвращается, когда клиент очищает входной звуковой буфер с событием input_audio_buffer.clear .
RealtimeServerEventInputAudioBufferCommitted Событие сервера input_audio_buffer.committed возвращается, когда входной звуковой буфер фиксируется клиентом или автоматически в режиме VAD сервера.
RealtimeServerEventInputAudioBufferSpeechStarted Событие сервера input_audio_buffer.speech_started возвращается в server_vad режиме, когда речь обнаруживается в звуковом буфере.
RealtimeServerEventInputAudioBufferSpeechStopped Событие сервера input_audio_buffer.speech_stopped возвращается в server_vad режиме, когда сервер обнаруживает конец речи в звуковом буфере.
RealtimeServerEventRateLimitsUpdated Событие сервера rate_limits.updated создается в начале ответа, чтобы указать обновленные ограничения скорости.
RealtimeServerEventResponseAudioDelta Событие сервера response.audio.delta возвращается при обновлении звука, созданного моделью.
RealtimeServerEventResponseAudioDone Событие сервера response.audio.done возвращается при завершении звука, созданного моделью.
RealtimeServerEventResponseAudioTranscriptDelta Событие сервера response.audio_transcript.delta возвращается при обновлении транскрибирования звука, созданного моделью.
RealtimeServerEventResponseAudioTranscriptDone Событие сервера response.audio_transcript.done возвращается при выполнении потоковой передачи данных, созданной моделью.
RealtimeServerEventResponseContentPartAdded Событие сервера response.content_part.added возвращается при добавлении новой части содержимого в элемент сообщения помощника.
RealtimeServerEventResponseContentPartDone Событие сервера response.content_part.done возвращается при выполнении потоковой передачи части содержимого.
RealtimeServerEventResponseCreated Событие сервера response.created возвращается при создании нового ответа. Это первое событие создания ответа, где ответ находится в начальном состоянии in_progress.
RealtimeServerEventResponseDone Событие сервера response.done возвращается при выполнении потоковой передачи ответа.
RealtimeServerEventResponseFunctionCallArgumentsDelta Событие сервера response.function_call_arguments.delta возвращается при обновлении аргументов вызова функции, созданных моделью.
RealtimeServerEventResponseFunctionCallArgumentsDone Событие сервера response.function_call_arguments.done возвращается, когда аргументы вызова функции, созданные моделью, выполняют потоковую передачу.
RealtimeServerEventResponseOutputItemAdded Событие сервера response.output_item.added возвращается при создании нового элемента во время создания ответа.
RealtimeServerEventResponseOutputItemDone Событие сервера response.output_item.done возвращается при выполнении потоковой передачи элемента.
RealtimeServerEventResponseTextDelta Событие сервера response.text.delta возвращается при обновлении текста, созданного моделью.
RealtimeServerEventResponseTextDone Событие сервера response.text.done возвращается при выполнении потоковой передачи созданного моделью текста.
RealtimeServerEventSessionCreated Событие сервера — это первое событие сервера session.created при создании нового подключения к API Realtime. Это событие создает и возвращает новый сеанс с конфигурацией сеанса по умолчанию.
RealtimeServerEventSessionUpdated Событие сервера session.updated возвращается при обновлении сеанса клиентом. Если возникла ошибка, сервер отправляет error событие.

RealtimeServerEventConversationCreated

Событие сервера conversation.created возвращается сразу после создания сеанса. Для каждого сеанса создается одна беседа.

Структура событий

{
  "type": "conversation.created",
  "conversation": {
    "id": "<id>",
    "object": "<object>"
  }
}

Свойства

Поле Тип Описание
type строка Тип события должен быть conversation.created.
область объект Ресурс беседы.

Свойства беседы

Поле Тип Описание
id строка Уникальный ИД беседы.
объект строка Тип объекта должен быть realtime.conversation.

RealtimeServerEventConversationItemCreated

Событие сервера conversation.item.created возвращается при создании элемента беседы. Существует несколько сценариев, которые создают это событие:

  • Сервер создает ответ, который при успешном выполнении создает один или два элемента, который имеет тип message (роль assistant) или тип function_call.
  • Входной звуковой буфер фиксируется клиентом или сервером (в server_vad режиме). Сервер принимает содержимое входного звукового буфера и добавляет его в новый элемент сообщения пользователя.
  • Клиент отправил conversation.item.create событие для добавления нового элемента в беседу.

Структура событий

{
  "type": "conversation.item.created",
  "previous_item_id": "<previous_item_id>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть conversation.item.created.
previous_item_id строка Идентификатор предыдущего элемента в контексте беседы позволяет клиенту понять порядок беседы.
элемент RealtimeConversationResponseItem Созданный элемент.

RealtimeServerEventConversationItemDeleted

Событие сервера conversation.item.deleted возвращается, когда клиент удалил элемент в беседе с событием conversation.item.delete . Это событие используется для синхронизации понимания сервера журнала бесед с представлением клиента.

Структура событий

{
  "type": "conversation.item.deleted",
  "item_id": "<item_id>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть conversation.item.deleted.
item_id строка Идентификатор удаленного элемента.

RealtimeServerEventConversationItemInputAudioTranscriptionCompleted

Событие сервера conversation.item.input_audio_transcription.completed является результатом транскрибирования звука для речи, записанной в буфер звука.

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

Модели API реального времени принимают звук в собственном коде, поэтому входные транскрибирование — это отдельный процесс, выполняемый в отдельной модели распознавания речи, в настоящее время всегда whisper-1. Таким образом, расшифровка может несколько отличаться от интерпретации модели и должна рассматриваться как грубое руководство.

Структура событий

{
  "type": "conversation.item.input_audio_transcription.completed",
  "item_id": "<item_id>",
  "content_index": 0,
  "transcript": "<transcript>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть conversation.item.input_audio_transcription.completed.
item_id строка Идентификатор элемента сообщения пользователя, содержащего звук.
content_index integer Индекс части содержимого, содержащей звук.
расшифровка строка Транскрибированные тексты.

RealtimeServerEventConversationItemInputAudioTranscriptionFailed

Событие сервера conversation.item.input_audio_transcription.failed возвращается при настройке входного транскрибирования звука, а запрос транскрибирования для сообщения пользователя завершился ошибкой. Это событие отличается от других error событий, чтобы клиент смог идентифицировать связанный элемент.

Структура событий

{
  "type": "conversation.item.input_audio_transcription.failed",
  "item_id": "<item_id>",
  "content_index": 0,
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>"
  }
}

Свойства

Поле Тип Описание
type строка Тип события должен быть conversation.item.input_audio_transcription.failed.
item_id строка Идентификатор элемента сообщения пользователя.
content_index integer Индекс части содержимого, содержащей звук.
error объект Сведения об ошибке транскрибирования.

См. вложенные свойства в следующей таблице.

Свойства ошибки

Поле Тип Описание
type строка Тип ошибки.
кодом строка Код ошибки, если таковой есть.
message строка Сообщение об ошибке, доступное для чтения человеком.
param строка Параметр, связанный с ошибкой, если таковой есть.

RealtimeServerEventConversationItemTruncated

Событие сервера conversation.item.truncated возвращается при усечении предыдущего элемента звукового сообщения помощника с событием conversation.item.truncate . Это событие используется для синхронизации понимания сервера звука с воспроизведением клиента.

Это событие усекает звук и удаляет расшифровку текста на стороне сервера, чтобы гарантировать отсутствие текста в контексте, о том, что пользователь не знает.

Структура событий

{
  "type": "conversation.item.truncated",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Свойства

Поле Тип Описание
type строка Тип события должен быть conversation.item.truncated.
item_id строка Идентификатор элемента сообщения помощника, который был усечен.
content_index integer Индекс части контента, которая была усечена.
audio_end_ms integer Длительность усечения звука в миллисекундах.

RealtimeServerEventError

Событие сервера error возвращается при возникновении ошибки, которая может быть проблемой клиента или проблемой сервера. Большинство ошибок можно восстановить, и сеанс остается открытым.

Структура событий

{
  "type": "error",
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>",
    "event_id": "<event_id>"
  }
}

Свойства

Поле Тип Описание
type строка Тип события должен быть error.
error объект Сведения об ошибке.

См. вложенные свойства в следующей таблице.

Свойства ошибки

Поле Тип Описание
type строка Тип ошибки. Например, "invalid_request_error" и "server_error" являются типами ошибок.
кодом строка Код ошибки, если таковой есть.
message строка Сообщение об ошибке, доступное для чтения человеком.
param строка Параметр, связанный с ошибкой, если таковой есть.
event_id строка Идентификатор события клиента, вызвавшего ошибку, если применимо.

RealtimeServerEventInputAudioBufferCleared

Событие сервера input_audio_buffer.cleared возвращается, когда клиент очищает входной звуковой буфер с событием input_audio_buffer.clear .

Структура событий

{
  "type": "input_audio_buffer.cleared"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть input_audio_buffer.cleared.

RealtimeServerEventInputAudioBufferCommitted

Событие сервера input_audio_buffer.committed возвращается, когда входной звуковой буфер фиксируется клиентом или автоматически в режиме VAD сервера. Это item_id свойство является идентификатором созданного элемента пользовательского сообщения. Таким образом, conversation.item.created событие также отправляется клиенту.

Структура событий

{
  "type": "input_audio_buffer.committed",
  "previous_item_id": "<previous_item_id>",
  "item_id": "<item_id>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть input_audio_buffer.committed.
previous_item_id строка Идентификатор предыдущего элемента, после которого вставляется новый элемент.
item_id строка Идентификатор созданного элемента сообщения пользователя.

RealtimeServerEventInputAudioBufferSpeechStarted

Событие сервера input_audio_buffer.speech_started возвращается в server_vad режиме, когда речь обнаруживается в звуковом буфере. Это событие может произойти при добавлении звука в буфер (если речь еще не обнаружена).

Примечание.

Клиент может использовать это событие для прерывания воспроизведения звука или предоставления визуального отзыва пользователю.

Клиент должен ожидать получения события при остановке input_audio_buffer.speech_stopped речи. Это item_id свойство является идентификатором элемента сообщения пользователя, созданного при остановке речи. Он item_id также включен в input_audio_buffer.speech_stopped событие, если клиент вручную не фиксирует звуковой буфер во время активации VAD.

Структура событий

{
  "type": "input_audio_buffer.speech_started",
  "audio_start_ms": 0,
  "item_id": "<item_id>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть input_audio_buffer.speech_started.
audio_start_ms integer Миллисекунда с начала всех аудиозаписей, записанных в буфер во время сеанса при первом обнаружении речи. Это свойство соответствует началу аудио, отправленного в модель, и, следовательно, включает prefix_padding_ms настроенный в сеансе.
item_id строка Идентификатор элемента сообщения пользователя, созданного при остановке речи.

RealtimeServerEventInputAudioBufferSpeechStopped

Событие сервера input_audio_buffer.speech_stopped возвращается в server_vad режиме, когда сервер обнаруживает конец речи в звуковом буфере.

Сервер также отправляет conversation.item.created событие с элементом сообщения пользователя, созданным из звукового буфера.

Структура событий

{
  "type": "input_audio_buffer.speech_stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть input_audio_buffer.speech_stopped.
audio_end_ms integer Миллисекунда с момента начала сеанса при остановке речи. Это свойство соответствует концу звука, отправляемого в модель, и, следовательно, включает min_silence_duration_ms настроенный в сеансе.
item_id строка Идентификатор созданного элемента сообщения пользователя.

RealtimeServerEventRateLimitsUpdated

Событие сервера rate_limits.updated создается в начале ответа, чтобы указать обновленные ограничения скорости.

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

Структура событий

{
  "type": "rate_limits.updated",
  "rate_limits": [
    {
      "name": "<name>",
      "limit": 0,
      "remaining": 0,
      "reset_seconds": 0
    }
  ]
}

Свойства

Поле Тип Описание
type строка Тип события должен быть rate_limits.updated.
rate_limits массив RealtimeServerEventRateLimitsUpdatedRateLimitsItem Список сведений об ограничении скорости.

RealtimeServerEventResponseAudioDelta

Событие сервера response.audio.delta возвращается при обновлении звука, созданного моделью.

Структура событий

{
  "type": "response.audio.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.audio.delta.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента.
output_index integer Индекс выходного элемента в ответе.
content_index integer Индекс части содержимого в массиве содержимого элемента.
delta строка Разностные звуковые данные в кодировке Base64.

RealtimeServerEventResponseAudioDone

Событие сервера response.audio.done возвращается при завершении звука, созданного моделью.

Это событие также возвращается при прерывании, неполном или отмене ответа.

Структура событий

{
  "type": "response.audio.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.audio.done.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента.
output_index integer Индекс выходного элемента в ответе.
content_index integer Индекс части содержимого в массиве содержимого элемента.

RealtimeServerEventResponseAudioTranscriptDelta

Событие сервера response.audio_transcript.delta возвращается при обновлении транскрибирования звука, созданного моделью.

Структура событий

{
  "type": "response.audio_transcript.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.audio_transcript.delta.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента.
output_index integer Индекс выходного элемента в ответе.
content_index integer Индекс части содержимого в массиве содержимого элемента.
delta строка Разностная расшифровка.

RealtimeServerEventResponseAudioTranscriptDone

Событие сервера response.audio_transcript.done возвращается при выполнении потоковой передачи данных, созданной моделью.

Это событие также возвращается при прерывании, неполном или отмене ответа.

Структура событий

{
  "type": "response.audio_transcript.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "transcript": "<transcript>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.audio_transcript.done.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента.
output_index integer Индекс выходного элемента в ответе.
content_index integer Индекс части содержимого в массиве содержимого элемента.
расшифровка строка Окончательный расшифровка звука.

RealtimeServerEventResponseContentPartAdded

Событие сервера response.content_part.added возвращается при добавлении новой части содержимого в элемент сообщения помощника во время создания ответа.

Структура событий

{
  "type": "response.content_part.added",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.content_part.added.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента, к которому была добавлена часть содержимого.
output_index integer Индекс выходного элемента в ответе.
content_index integer Индекс части содержимого в массиве содержимого элемента.
part RealtimeContentPart Добавленная часть содержимого.

Свойства части

Поле Тип Описание
type RealtimeContentPartType

RealtimeServerEventResponseContentPartDone

Событие сервера response.content_part.done возвращается при выполнении потоковой передачи части содержимого в элементе сообщения помощника.

Это событие также возвращается при прерывании, неполном или отмене ответа.

Структура событий

{
  "type": "response.content_part.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.content_part.done.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента.
output_index integer Индекс выходного элемента в ответе.
content_index integer Индекс части содержимого в массиве содержимого элемента.
part RealtimeContentPart Выполненная часть содержимого.

Свойства части

Поле Тип Описание
type RealtimeContentPartType

RealtimeServerEventResponseCreated

Событие сервера response.created возвращается при создании нового ответа. Это первое событие создания ответа, где ответ находится в начальном состоянии in_progress.

Структура событий

{
  "type": "response.created"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.created.
Отклик RealtimeResponse Объект ответа.

RealtimeServerEventResponseDone

Событие сервера response.done возвращается при выполнении потоковой передачи ответа. Это событие всегда создается, независимо от конечного состояния. Объект ответа, включенный в response.done событие, включает все выходные элементы в ответе, но не включает необработанные звуковые данные.

Структура событий

{
  "type": "response.done"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.done.
Отклик RealtimeResponse Объект ответа.

RealtimeServerEventResponseFunctionCallArgumentsDelta

Событие сервера response.function_call_arguments.delta возвращается при обновлении аргументов вызова функции, созданных моделью.

Структура событий

{
  "type": "response.function_call_arguments.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "delta": "<delta>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.function_call_arguments.delta.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента вызова функции.
output_index integer Индекс выходного элемента в ответе.
call_id строка Идентификатор вызова функции.
delta строка Аргументы разностно в виде строки JSON.

RealtimeServerEventResponseFunctionCallArgumentsDone

Событие сервера response.function_call_arguments.done возвращается, когда аргументы вызова функции, созданные моделью, выполняют потоковую передачу.

Это событие также возвращается при прерывании, неполном или отмене ответа.

Структура событий

{
  "type": "response.function_call_arguments.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "arguments": "<arguments>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.function_call_arguments.done.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента вызова функции.
output_index integer Индекс выходного элемента в ответе.
call_id строка Идентификатор вызова функции.
аргументы строка Окончательные аргументы в виде строки JSON.

RealtimeServerEventResponseOutputItemAdded

Событие сервера response.output_item.added возвращается при создании нового элемента во время создания ответа.

Структура событий

{
  "type": "response.output_item.added",
  "response_id": "<response_id>",
  "output_index": 0
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.output_item.added.
response_id строка Идентификатор ответа, к которому принадлежит элемент.
output_index integer Индекс выходного элемента в ответе.
элемент RealtimeConversationResponseItem Добавлен элемент.

RealtimeServerEventResponseOutputItemDone

Событие сервера response.output_item.done возвращается при выполнении потоковой передачи элемента.

Это событие также возвращается при прерывании, неполном или отмене ответа.

Структура событий

{
  "type": "response.output_item.done",
  "response_id": "<response_id>",
  "output_index": 0
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.output_item.done.
response_id строка Идентификатор ответа, к которому принадлежит элемент.
output_index integer Индекс выходного элемента в ответе.
элемент RealtimeConversationResponseItem Элемент, который выполняет потоковую передачу.

RealtimeServerEventResponseTextDelta

Событие сервера response.text.delta возвращается при обновлении текста, созданного моделью. Текст соответствует text части содержимого элемента сообщения помощника.

Структура событий

{
  "type": "response.text.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.text.delta.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента.
output_index integer Индекс выходного элемента в ответе.
content_index integer Индекс части содержимого в массиве содержимого элемента.
delta строка Разностный текст.

RealtimeServerEventResponseTextDone

Событие сервера response.text.done возвращается при выполнении потоковой передачи созданного моделью текста. Текст соответствует text части содержимого элемента сообщения помощника.

Это событие также возвращается при прерывании, неполном или отмене ответа.

Структура событий

{
  "type": "response.text.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "text": "<text>"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть response.text.done.
response_id строка Идентификатор ответа.
item_id строка Идентификатор элемента.
output_index integer Индекс выходного элемента в ответе.
content_index integer Индекс части содержимого в массиве содержимого элемента.
text строка Окончательное текстовое содержимое.

RealtimeServerEventSessionCreated

Событие сервера — это первое событие сервера session.created при создании нового подключения к API Realtime. Это событие создает и возвращает новый сеанс с конфигурацией сеанса по умолчанию.

Структура событий

{
  "type": "session.created"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть session.created.
session RealtimeResponseSession Объект сеанса.

RealtimeServerEventSessionUpdated

Событие сервера session.updated возвращается при обновлении сеанса клиентом. Если возникла ошибка, сервер отправляет error событие.

Структура событий

{
  "type": "session.updated"
}

Свойства

Поле Тип Описание
type строка Тип события должен быть session.updated.
session RealtimeResponseSession Объект сеанса.

Компоненты

RealtimeAudioFormat

Допустимые значения:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

Допустимые значения:

  • whisper-1

RealtimeAudioInputTranscriptionSettings

Поле Тип Описание
модель RealtimeAudioInputTranscriptionModel Модель по умолчанию whisper-1 в настоящее время является единственной моделью, поддерживаемой для транскрибирования входных звуковых данных.

RealtimeClientEvent

Поле Тип Описание
type RealtimeClientEventType Тип события клиента.
event_id строка Уникальный идентификатор события. Клиент может указать идентификатор, который поможет определить событие.

RealtimeClientEventType

Допустимые значения:

  • session.update
  • input_audio_buffer.append
  • input_audio_buffer.commit
  • input_audio_buffer.clear
  • conversation.item.create
  • conversation.item.delete
  • conversation.item.truncate
  • response.create
  • response.cancel

RealtimeContentPart

Поле Тип Описание
type RealtimeContentPartType Тип содержимого.

Свойство function объекта.

Допустимые значения: input_text, , textinput_audioitem_reference.
text строка Текстовое содержимое. Это свойство применимо к типам контента и text типам input_text контента.
id строка Идентификатор предыдущего элемента беседы для ссылки как на созданные клиентом, так и на сервер. Это свойство применимо к типу item_reference контента в response.create событиях.
audio строка Звуковые байты в кодировке Base64. Это свойство применимо к типу input_audio контента.
расшифровка строка Расшифровка звука. Это свойство применимо к типу input_audio контента.

RealtimeContentPartType

Допустимые значения:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

Элемент, добавляемый в беседу.

В этой таблице описываются все RealtimeConversationItem свойства. Свойства, применимые для каждого события, зависят от RealtimeItemType.

Поле Тип Описание
id строка Уникальный идентификатор элемента. Клиент может указать идентификатор для управления контекстом на стороне сервера. Если клиент не предоставляет идентификатор, сервер создает его.
type RealtimeItemType Тип элемента.

Допустимые значения: message, function_callfunction_call_output
объект строка Идентификатор возвращаемого объекта API. Значение всегда будет.realtime.item
статус RealtimeItemStatus Состояние элемента. Это поле не влияет на беседу, но оно принимается для согласованности с событием conversation.item.created .

Допустимые значения: completed, incomplete
роль RealtimeMessageRole Роль отправителя сообщения. Это свойство применимо только для message элементов.

Допустимые значения: system, userassistant
content массив RealtimeContentPart Содержимое сообщения. Это свойство применимо только для message элементов.

— Элементы сообщений роли system поддерживают только input_text содержимое.
— Элементы сообщения о поддержке input_text ролей user и input_audio содержимом.
— Элементы сообщения о содержимом поддержки text ролейassistant.
call_id строка Идентификатор вызова функции (для function_call и function_call_output элементов). При передаче function_call_output элемента сервер проверяет наличие function_call элемента с тем же идентификатором в журнале бесед.
name строка Имя вызываемой функции (для function_call элементов).
аргументы строка Аргументы вызова функции (для function_call элементов).
output строка Выходные данные вызова функции (для function_call_output элементов).

RealtimeConversationRequestItem

Объект используется RealtimeConversationRequestItem для создания нового элемента в беседе с помощью события conversation.item.create .

Поле Тип Описание
type RealtimeItemType Тип элемента.
id строка Уникальный идентификатор элемента. Клиент может указать идентификатор для управления контекстом на стороне сервера. Если клиент не предоставляет идентификатор, сервер создает его.

RealtimeConversationResponseItem

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

Поле Тип Описание
объект строка Идентификатор возвращаемого объекта API.

Допустимые значения: realtime.item
type RealtimeItemType Тип элемента.

Допустимые значения: message, function_callfunction_call_output
id строка Уникальный идентификатор элемента. Клиент может указать идентификатор для управления контекстом на стороне сервера. Если клиент не предоставляет идентификатор, сервер создает его.

Это свойство допускает значение NULL.

RealtimeFunctionTool

Определение средства функции, используемого конечной точкой реального времени.

Поле Тип Описание
type строка Тип средства.

Допустимые значения: function
name строка Имя функции.
описание строка Описание функции, включая рекомендации по использованию. Например, "Используйте эту функцию для получения текущего времени".
parameters объект Параметры функции в виде объекта JSON.

RealtimeItemStatus

Допустимые значения:

  • in_progress
  • completed
  • incomplete

RealtimeItemType

Допустимые значения:

  • message
  • function_call
  • function_call_output

RealtimeMessageRole

Допустимые значения:

  • system
  • user
  • assistant

RealtimeRequestAssistantMessageItem

Поле Тип Описание
роль строка Роль сообщения.

Допустимые значения: assistant
content массив RealtimeRequestTextContentPart Содержимое сообщения.

RealtimeRequestAudioContentPart

Поле Тип Описание
type строка Тип части содержимого.

Допустимые значения: input_audio
расшифровка строка Расшифровка звука.

RealtimeRequestFunctionCallItem

Поле Тип Описание
type строка Тип элемента.

Допустимые значения: function_call
name строка Имя элемента вызова функции.
call_id строка Идентификатор элемента вызова функции.
аргументы строка Аргументы элемента вызова функции.
статус RealtimeItemStatus Состояние элемента.

RealtimeRequestFunctionCallOutputItem

Поле Тип Описание
type строка Тип элемента.

Допустимые значения: function_call_output
call_id строка Идентификатор элемента вызова функции.
output строка Выходные данные элемента вызова функции.

RealtimeRequestMessageItem

Поле Тип Описание
type строка Тип элемента.

Допустимые значения: message
роль RealtimeMessageRole Роль сообщения.
статус RealtimeItemStatus Состояние элемента.

RealtimeRequestMessageReferenceItem

Поле Тип Описание
type строка Тип элемента.

Допустимые значения: message
id строка Идентификатор элемента сообщения.

RealtimeRequestSession

Объект используется RealtimeRequestSession при обновлении конфигурации сеанса с помощью события session.update .

Поле Тип Описание
Условия array Модальности, поддерживаемые сеансом.

Допустимые значения: text, audio

Например, "modalities": ["text", "audio"] это параметр по умолчанию, который включает как текстовые, так и звуковые модалы. Чтобы включить только текст, задайте ."modalities": ["text"] Вы не можете включить только звук.
инструкции строка Инструкции (системное сообщение) для руководства по текстовым и звуковым ответам модели.

Ниже приведены некоторые примеры инструкций по использованию содержимого и формата текстовых и звуковых ответов:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Ниже приведены некоторые примеры инструкций по поведению звука:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Хотя модель может не всегда следовать этим инструкциям, они предоставляют рекомендации по требуемому поведению.
voice RealtimeVoice Голос, используемый для ответа модели для сеанса.

После использования голоса в сеансе для звукового ответа модели его нельзя изменить.
input_audio_format RealtimeAudioFormat Формат входного звука.
output_audio_format RealtimeAudioFormat Формат выходного звука.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Параметры транскрибирования входных звука.

Это свойство допускает значение NULL.
turn_detection RealtimeTurnDetection Параметры обнаружения поворота для сеанса.

Это свойство допускает значение NULL.
средства массив RealtimeTool Средства, доступные модели для сеанса.
tool_choice RealtimeToolChoice Выбор средства для сеанса.

Допустимые значения: auto, none и required. В противном случае можно указать имя используемой функции.
Температура number Температура выборки для модели. Допустимые значения температуры ограничены [0,6, 1.2]. По умолчанию используется значение 0.8.
max_response_output_tokens целое число или inf Максимальное количество выходных маркеров на ответ помощника, включающее вызовы инструментов.

Укажите целое число от 1 до 4096, чтобы ограничить выходные маркеры. В противном случае задайте значение inf, чтобы разрешить максимальное количество маркеров.

Например, чтобы ограничить выходные маркеры до 1000, задайте "max_response_output_tokens": 1000. Чтобы разрешить максимальное количество маркеров, задайте "max_response_output_tokens": "inf".

По умолчанию — "inf".

RealtimeRequestSystemMessageItem

Поле Тип Описание
роль строка Роль сообщения.

Допустимые значения: system
content массив RealtimeRequestTextContentPart Содержимое сообщения.

RealtimeRequestTextContentPart

Поле Тип Описание
type строка Тип части содержимого.

Допустимые значения: input_text
text строка Текстовое содержимое.

RealtimeRequestUserMessageItem

Поле Тип Описание
роль строка Роль сообщения.

Допустимые значения: user
content массив RealtimeRequestTextContentPart или RealtimeRequestAudioContentPart Содержимое сообщения.

RealtimeResponse

Поле Тип Описание
объект строка Объект ответа.

Допустимые значения: realtime.response
id строка Уникальный идентификатор ответа.
статус RealtimeResponseStatus Состояние ответа.

Значение состояния по умолчанию — in_progress.
status_details RealtimeResponseStatusDetails Сведения о состоянии ответа.

Это свойство допускает значение NULL.
output массив RealtimeConversationResponseItem Выходные элементы ответа.
использование объект Статистика использования ответа. Каждый сеанс API реального времени поддерживает контекст беседы и добавляет новые элементы в беседу. Выходные данные предыдущих поворотов (текстовые и звуковые маркеры) — входные данные для последующих поворотов.

Далее см. вложенные свойства.
+ total_tokens integer Общее количество маркеров в ответе, включая входной и выходной текст и маркеры звука.

Свойство usage объекта.
+ input_tokens integer Количество маркеров ввода, используемых в ответе, включая текстовые и звуковые маркеры.

Свойство usage объекта.
+ output_tokens integer Количество маркеров вывода, отправленных в ответе, включая текстовые и звуковые маркеры.

Свойство usage объекта.
+ input_token_details объект Сведения о входных маркерах, используемых в ответе.

Свойство usage объекта.
br>
Далее см. вложенные свойства.
+ cached_tokens integer Количество кэшированных маркеров, используемых в ответе.

Свойство input_token_details объекта.
+ text_tokens integer Количество текстовых маркеров, используемых в ответе.

Свойство input_token_details объекта.
+ audio_tokens integer Количество маркеров звука, используемых в ответе.

Свойство input_token_details объекта.
+ output_token_details объект Сведения о выходных маркерах, используемых в ответе.

Свойство usage объекта.

Далее см. вложенные свойства.
+ text_tokens integer Количество текстовых маркеров, используемых в ответе.

Свойство output_token_details объекта.
+ audio_tokens integer Количество маркеров звука, используемых в ответе.

Свойство output_token_details объекта.

RealtimeResponseAudioContentPart

Поле Тип Описание
type строка Тип части содержимого.

Допустимые значения: audio
расшифровка строка Расшифровка звука.

Это свойство допускает значение NULL.

RealtimeResponseBase

Ресурс ответа.

RealtimeResponseFunctionCallItem

Поле Тип Описание
type строка Тип элемента.

Допустимые значения: function_call
name строка Имя элемента вызова функции.
call_id строка Идентификатор элемента вызова функции.
аргументы строка Аргументы элемента вызова функции.
статус RealtimeItemStatus Состояние элемента.

RealtimeResponseFunctionCallOutputItem

Поле Тип Описание
type строка Тип элемента.

Допустимые значения: function_call_output
call_id строка Идентификатор элемента вызова функции.
output строка Выходные данные элемента вызова функции.

RealtimeResponseMessageItem

Поле Тип Описание
type строка Тип элемента.

Допустимые значения: message
роль RealtimeMessageRole Роль сообщения.
content array Содержимое сообщения.

Элементы массива: RealtimeResponseTextContentPart
статус RealtimeItemStatus Состояние элемента.

RealtimeResponseOptions

Поле Тип Описание
Условия array Модальности, поддерживаемые сеансом.

Допустимые значения: text, audio

Например, "modalities": ["text", "audio"] это параметр по умолчанию, который включает как текстовые, так и звуковые модалы. Чтобы включить только текст, задайте ."modalities": ["text"] Вы не можете включить только звук.
инструкции строка Инструкции (системное сообщение) для руководства по текстовым и звуковым ответам модели.

Ниже приведены некоторые примеры инструкций по использованию содержимого и формата текстовых и звуковых ответов:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Ниже приведены некоторые примеры инструкций по поведению звука:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Хотя модель может не всегда следовать этим инструкциям, они предоставляют рекомендации по требуемому поведению.
voice RealtimeVoice Голос, используемый для ответа модели для сеанса.

После использования голоса в сеансе для звукового ответа модели его нельзя изменить.
output_audio_format RealtimeAudioFormat Формат выходного звука.
средства массив RealtimeTool Средства, доступные модели для сеанса.
tool_choice RealtimeToolChoice Выбор средства для сеанса.
Температура number Температура выборки для модели. Допустимые значения температуры ограничены [0,6, 1.2]. По умолчанию используется значение 0.8.
max__output_tokens целое число или inf Максимальное количество выходных маркеров на ответ помощника, включающее вызовы инструментов.

Укажите целое число от 1 до 4096, чтобы ограничить выходные маркеры. В противном случае задайте значение inf, чтобы разрешить максимальное количество маркеров.

Например, чтобы ограничить выходные маркеры до 1000, задайте "max_response_output_tokens": 1000. Чтобы разрешить максимальное количество маркеров, задайте "max_response_output_tokens": "inf".

По умолчанию — "inf".
область строка Определяет, к какой беседе добавляется ответ. Поддерживаемые значения: auto и none.

Значение auto (или не задано это свойство) гарантирует, что содержимое ответа добавляется в беседу по умолчанию сеанса.

Задайте этому свойству значение, чтобы none создать ответ вне диапазона, в котором элементы не будут добавлены в беседу по умолчанию. Дополнительные сведения см. в руководстве.

По умолчанию — "auto".
metadata map Настройка до 16 пар "ключ-значение", которые могут быть присоединены к объекту. Это может быть полезно для хранения дополнительных сведений об объекте в структурированном формате. Ключи могут содержать не более 64 символов, а значения могут содержать не более 512 символов.

Например: metadata: { topic: "classification" }
input array Входные элементы для включения в запрос модели. Создает новый контекст для этого ответа, не включая беседу по умолчанию. Может включать ссылки на элементы из беседы по умолчанию.

Элементы массива: RealtimeConversationItemBase

RealtimeResponseSession

Объект RealtimeResponseSession представляет сеанс в API Реального времени. Он используется в некоторых событиях сервера, таких как:

Поле Тип Описание
объект строка Объект сеанса.

Допустимые значения: realtime.session
id строка Уникальный идентификатор сеанса.
модель строка Модель, используемая для сеанса.
Условия array Модальности, поддерживаемые сеансом.

Допустимые значения: text, audio

Например, "modalities": ["text", "audio"] это параметр по умолчанию, который включает как текстовые, так и звуковые модалы. Чтобы включить только текст, задайте ."modalities": ["text"] Вы не можете включить только звук.
инструкции строка Инструкции (системное сообщение) для руководства по текстовым и звуковым ответам модели.

Ниже приведены некоторые примеры инструкций по использованию содержимого и формата текстовых и звуковых ответов:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Ниже приведены некоторые примеры инструкций по поведению звука:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Хотя модель может не всегда следовать этим инструкциям, они предоставляют рекомендации по требуемому поведению.
voice RealtimeVoice Голос, используемый для ответа модели для сеанса.

После использования голоса в сеансе для звукового ответа модели его нельзя изменить.
input_audio_format RealtimeAudioFormat Формат входного звука.
output_audio_format RealtimeAudioFormat Формат выходного звука.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Параметры транскрибирования входных звука.

Это свойство допускает значение NULL.
turn_detection RealtimeTurnDetection Параметры обнаружения поворота для сеанса.

Это свойство допускает значение NULL.
средства массив RealtimeTool Средства, доступные модели для сеанса.
tool_choice RealtimeToolChoice Выбор средства для сеанса.
Температура number Температура выборки для модели. Допустимые значения температуры ограничены [0,6, 1.2]. По умолчанию используется значение 0.8.
max_response_output_tokens целое число или inf Максимальное количество выходных маркеров на ответ помощника, включающее вызовы инструментов.

Укажите целое число от 1 до 4096, чтобы ограничить выходные маркеры. В противном случае задайте значение inf, чтобы разрешить максимальное количество маркеров.

Например, чтобы ограничить выходные маркеры до 1000, задайте "max_response_output_tokens": 1000. Чтобы разрешить максимальное количество маркеров, задайте "max_response_output_tokens": "inf".

RealtimeResponseStatus

Допустимые значения:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

RealtimeResponseStatusDetails

Поле Тип Описание
type RealtimeResponseStatus Состояние ответа.

RealtimeResponseTextContentPart

Поле Тип Описание
type строка Тип части содержимого.

Допустимые значения: text
text строка Текстовое содержимое.

RealtimeServerEvent

Поле Тип Описание
type RealtimeServerEventType Тип события сервера.
event_id строка Уникальный идентификатор события сервера.

RealtimeServerEventRateLimitsUpdatedRateLimitsItem

Поле Тип Description
name строка Имя свойства ограничения скорости, о которое этот элемент содержит сведения.
limit integer Максимально настроенное ограничение для этого свойства ограничения скорости.
осталось integer Оставшаяся квота, доступная в соответствии с настроенным ограничением для этого свойства ограничения скорости.
reset_seconds number Оставшееся время (в секундах), пока это свойство ограничения скорости не будет сброшено.

RealtimeServerEventType

Допустимые значения:

  • session.created
  • session.updated
  • conversation.created
  • conversation.item.created
  • conversation.item.deleted
  • conversation.item.truncated
  • response.created
  • response.done
  • rate_limits.updated
  • response.output_item.added
  • response.output_item.done
  • response.content_part.added
  • response.content_part.done
  • response.audio.delta
  • response.audio.done
  • response.audio_transcript.delta
  • response.audio_transcript.done
  • response.text.delta
  • response.text.done
  • response.function_call_arguments.delta
  • response.function_call_arguments.done
  • input_audio_buffer.speech_started
  • input_audio_buffer.speech_stopped
  • conversation.item.input_audio_transcription.completed
  • conversation.item.input_audio_transcription.failed
  • input_audio_buffer.committed
  • input_audio_buffer.cleared
  • error

RealtimeServerVadTurnDetection

Поле Тип Описание
type строка Тип обнаружения поворота.

Допустимые значения: server_vad
порог number Порог активации для обнаружения поворота VAD сервера. В шумных средах может потребоваться увеличить пороговое значение, чтобы избежать ложных срабатываний. В тихих средах может потребоваться уменьшить пороговое значение, чтобы избежать ложных отрицательных значений.

По умолчанию — 0.5. Пороговое значение можно задать между 0.0 и 1.0.
prefix_padding_ms строка Длительность звука речи (в миллисекундах), включаемая до начала обнаруженной речи.

По умолчанию — 300.
silence_duration_ms строка Длительность молчания (в миллисекундах) для обнаружения конца речи. Вы хотите обнаружить конец речи как можно скорее, но не слишком скоро, чтобы избежать сокращения последней части речи.

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

RealtimeSessionBase

Конфигурация объекта сеанса в режиме реального времени.

RealtimeTool

Базовое представление определения инструмента в режиме реального времени.

Поле Тип Описание
type RealtimeToolType Тип средства.

RealtimeToolChoice

Объединенный набор доступных представлений для параметра реального времени tool_choice , охватывающий как строковые литеральные параметры, такие как auto, так и структурированные ссылки на определенные инструменты.

RealtimeToolChoiceFunctionObject

Представление именованного средства функции в режиме реального времени tool_choice .

Поле Тип Описание
type строка Тип tool_choice.

Допустимые значения: function
function объект Средство функции для выбора.

Далее см. вложенные свойства.
+ имя строка Имя средства функции.

Свойство function объекта.

RealtimeToolChoiceLiteral

Доступный набор параметров строкового литерала tool_choice для конечной точки реального времени.

Допустимые значения:

  • auto
  • none
  • required

RealtimeToolChoiceObject

Базовое представление для реального времени tool_choice выбора именованного инструмента.

Поле Тип Описание
type RealtimeToolType Тип tool_choice.

RealtimeToolType

Поддерживаемый тип инструмента дискриминационный для инструментов в режиме реального времени. В настоящее время поддерживаются только средства функции.

Допустимые значения:

  • function

RealtimeTurnDetection

Поле Тип Описание
type RealtimeTurnDetectionType Тип обнаружения поворота.

Допустимые значения: server_vad
порог number Порог активации для обнаружения поворота VAD сервера. В шумных средах может потребоваться увеличить пороговое значение, чтобы избежать ложных срабатываний. В тихих средах может потребоваться уменьшить пороговое значение, чтобы избежать ложных отрицательных значений.

По умолчанию — 0.5. Пороговое значение можно задать между 0.0 и 1.0.
prefix_padding_ms строка Длительность звука речи (в миллисекундах), включаемая до начала обнаруженной речи.

По умолчанию используется 300 миллисекунда.
silence_duration_ms строка Длительность молчания (в миллисекундах) для обнаружения конца речи. Вы хотите обнаружить конец речи как можно скорее, но не слишком скоро, чтобы избежать сокращения последней части речи.

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

По умолчанию используется 500 миллисекунда.
create_response boolean Указывает, будет ли сервер автоматически создавать ответ при включении VAD и остановке речи.

По умолчанию — true.

RealtimeTurnDetectionType

Допустимые значения:

  • server_vad

RealtimeVoice

Допустимые значения:

  • alloy
  • ash
  • ballad
  • coral
  • echo
  • sage
  • shimmer
  • verse