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


Справочник по 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-10-01-preview
  • deployment Параметр строки запроса с именем gpt-4o-realtime-preview развертывания модели

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

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

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

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

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

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

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

Мероприятие Description
RealtimeClientEventConversationItemCreate Отправьте это событие клиента при добавлении элемента в беседу.
RealtimeClientEventConversationItemDelete Отправьте это событие клиента, если вы хотите удалить любой элемент из журнала бесед.
RealtimeClientEventConversationItemTruncate Отправьте это событие клиента, если вы хотите усечь звук предыдущего помощника.
RealtimeClientEventInputAudioBufferAppend Отправьте это событие клиента, чтобы добавить звуковые байты в входной буфер звука.
RealtimeClientEventInputAudioBufferClear Отправьте это событие клиента, чтобы очистить звуковые байты в буфере.
RealtimeClientEventInputAudioBufferCommit Отправьте это событие клиента, чтобы зафиксировать звуковые байты в сообщение пользователя.
RealtimeClientEventResponseCancel Отправьте это событие клиента, чтобы отменить ответ на ход выполнения.
RealtimeClientEventResponseCreate Отправьте это событие клиента для активации создания ответа.
RealtimeClientEventSessionUpdate Отправьте это событие клиента, чтобы обновить конфигурацию сеанса по умолчанию.

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 Событие сервера при создании беседы. Создается сразу после создания сеанса.
RealtimeServerEventConversationItemCreated Событие сервера при создании элемента беседы.
RealtimeServerEventConversationItemDeleted Событие сервера при удалении элемента в беседе.
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted Событие сервера при включении входного транскрибирования звука и успешное транскрибирование.
RealtimeServerEventConversationItemInputAudioTranscriptionFailed Событие сервера при настройке входного транскрибирования звука, а запрос транскрибирования для сообщения пользователя завершился сбоем.
RealtimeServerEventConversationItemTruncated Событие сервера при усечении предыдущего элемента звукового сообщения помощника.
RealtimeServerEventError Событие сервера при возникновении ошибки.
RealtimeServerEventInputAudioBufferCleared Событие сервера, когда клиент очищает входной звуковой буфер.
RealtimeServerEventInputAudioBufferCommitted Событие сервера при фиксации входного звукового буфера либо клиентом, либо автоматически в режиме VAD сервера.
RealtimeServerEventInputAudioBufferSpeechStarted Событие сервера в режиме обнаружения поворота сервера при обнаружении речи.
RealtimeServerEventInputAudioBufferSpeechStopped Событие сервера в режиме обнаружения поворота сервера при остановке речи.
RealtimeServerEventRateLimitsUpdated Создается после каждого события "response.done" для указания обновленных ограничений скорости.
RealtimeServerEventResponseAudioDelta Событие сервера при обновлении звука, созданного моделью.
RealtimeServerEventResponseAudioDone Событие сервера при выполнении звука, созданного моделью. Также создается при прерывании, неполном или отмене ответа.
RealtimeServerEventResponseAudioTranscriptDelta Событие сервера при обновлении транскрибирования звука, созданного моделью.
RealtimeServerEventResponseAudioTranscriptDone Событие сервера, когда транскрибирование выходных данных звука, созданное моделью, выполняется потоковая передача. Также создается при прерывании, неполном или отмене ответа.
RealtimeServerEventResponseContentPartAdded Событие сервера при добавлении новой части содержимого в элемент сообщения помощника во время создания ответа.
RealtimeServerEventResponseContentPartDone Событие сервера при выполнении потоковой передачи части содержимого в элементе сообщения помощника. Также создается при прерывании, неполном или отмене ответа.
RealtimeServerEventResponseCreated Событие сервера при создании нового ответа. Первое событие создания ответа, в котором ответ находится в исходном состоянии "in_progress".
RealtimeServerEventResponseDone Событие сервера при выполнении потоковой передачи ответа. Всегда генерируется, независимо от конечного состояния.
RealtimeServerEventResponseFunctionCallArgumentsDelta Событие сервера при обновлении аргументов вызова функции, созданных моделью.
RealtimeServerEventResponseFunctionCallArgumentsDone Событие сервера, когда аргументы вызова функции, созданные моделью, выполняют потоковую передачу. Также создается при прерывании, неполном или отмене ответа.
RealtimeServerEventResponseOutputItemAdded Событие сервера при добавлении нового выходного элемента в ответ.
RealtimeServerEventResponseOutputItemDone Событие сервера при выполнении потоковой передачи выходного элемента. Также создается при прерывании, неполном или отмене ответа.
RealtimeServerEventResponseTextDelta Событие сервера при обновлении текста, созданного моделью.
RealtimeServerEventResponseTextDone Событие сервера при завершении создания текста модели. Также создается при прерывании, неполном или отмене ответа.
RealtimeServerEventSessionCreated Событие сервера при создании сеанса.
RealtimeServerEventSessionUpdated Событие сервера при обновлении сеанса.

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 Тип части содержимого.

RealtimeContentPartType

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

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

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

RealtimeConversationRequestItem

Поле Тип Описание
type RealtimeItemType Тип элемента.
id строка Уникальный идентификатор элемента.

RealtimeConversationResponseItem

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

Допустимые значения: realtime.item
type RealtimeItemType Тип элемента.
id строка Уникальный идентификатор элемента.

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

RealtimeFunctionTool

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

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

Допустимые значения: function
name строка Имя функции.
описание строка Описание функции.
parameters объект Параметры функции.

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

Поле Тип Описание
Условия 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".

По умолчанию — "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".

RealtimeResponseSession

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

Допустимые значения: 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

RealtimeTurnDetectionType

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

  • server_vad

RealtimeVoice

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

  • alloy
  • shimmer
  • echo