Справочник по 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
Путь к APIapi-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
Связанный контент
- Краткое руководство по началу работы с API Realtime.
- Узнайте больше об использовании API реального времени.