Referência da API em tempo real (visualização)
Nota
Esta funcionalidade está atualmente em pré-visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
A API em tempo real é uma API baseada em WebSocket que permite interagir com o serviço OpenAI do Azure em tempo real.
A API em tempo real (via /realtime
) é construída na API WebSockets para facilitar a comunicação de streaming totalmente assíncrona entre o usuário final e o modelo. Os detalhes do dispositivo, como captura e renderização de dados de áudio, estão fora do escopo da API em tempo real. Ele deve ser usado no contexto de um serviço intermediário confiável que gerencia conexões com usuários finais e conexões de ponto de extremidade modelo. Não o utilize diretamente a partir de dispositivos de utilizador final não fidedignos.
Connection
A API em tempo real requer um ponto de extremidade de recurso do Azure OpenAI existente em uma região com suporte. A API é acessada por meio de uma conexão WebSocket segura com o /realtime
ponto de extremidade do seu recurso do Azure OpenAI.
Você pode construir um URI de solicitação completo concatenando:
- O protocolo WebSocket (
wss://
) seguro - Seu nome de host de ponto de extremidade de recurso do Azure OpenAI, por exemplo,
my-aoai-resource.openai.azure.com
- O caminho da
openai/realtime
API - Um
api-version
parâmetro de cadeia de caracteres de consulta para uma versão de API suportada, como2024-10-01-preview
- Um
deployment
parâmetro de cadeia de caracteres de consulta com o nome da implantação dogpt-4o-realtime-preview
modelo
O exemplo a seguir é um URI de solicitação bem construído /realtime
:
wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-10-01-preview&deployment=gpt-4o-realtime-preview-1001
Autenticação
Para autenticar:
- Microsoft Entra (recomendado): use a autenticação baseada em token com a
/realtime
API para um recurso do Serviço OpenAI do Azure com identidade gerenciada habilitada. Aplique um token de autenticação recuperado usando umBearer
token com oAuthorization
cabeçalho. - Chave de API: um
api-key
pode ser fornecido de duas maneiras:- Usando um
api-key
cabeçalho de conexão na conexão de pré-handshake. Esta opção não está disponível em um ambiente de navegador. - Usando um
api-key
parâmetro de cadeia de caracteres de consulta no URI da solicitação. Os parâmetros da cadeia de caracteres de consulta são criptografados ao usar https/wss.
- Usando um
Eventos do cliente
Há nove eventos de cliente que podem ser enviados do cliente para o servidor:
Evento | Descrição |
---|---|
RealtimeClientEventConversationItemCreate | Envie este evento de cliente ao adicionar um item à conversa. |
RealtimeClientEventConversationItemDelete | Envie este evento de cliente quando quiser remover qualquer item do histórico de conversas. |
RealtimeClientEventConversationItemTruncate | Envie este evento de cliente quando quiser truncar o áudio de uma mensagem de assistente anterior. |
RealtimeClientEventInputAudioBufferAppend | Envie este evento de cliente para acrescentar bytes de áudio ao buffer de áudio de entrada. |
RealtimeClientEventInputAudioBufferClear | Envie este evento de cliente para limpar os bytes de áudio no buffer. |
RealtimeClientEventInputAudioBufferCommit | Envie este evento de cliente para confirmar bytes de áudio em uma mensagem de usuário. |
RealtimeClientEventResponseCancel | Envie este evento de cliente para cancelar uma resposta em andamento. |
RealtimeClientEventResponseCriar | Envie este evento de cliente para disparar uma geração de resposta. |
RealtimeClientEventSessionUpdate | Envie este evento de cliente para atualizar a configuração padrão da sessão. |
RealtimeClientEventConversationItemCreate
O evento client conversation.item.create
é usado para adicionar um novo item ao contexto da conversa, incluindo mensagens, chamadas de função e respostas de chamada de função. Esse evento pode ser usado para preencher um histórico da conversa e adicionar novos itens no meio do fluxo. Atualmente, esse evento não pode preencher mensagens de áudio do assistente.
Se for bem-sucedido, o servidor responderá com um conversation.item.created
evento, caso contrário, um error
evento será enviado.
Estrutura do evento
{
"type": "conversation.item.create",
"previous_item_id": "<previous_item_id>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser conversation.item.create . |
previous_item_id | string | A ID do item anterior após o qual o novo item é inserido. Se não estiver definido, o novo item será anexado ao final da conversa. Se definido, permite que um item seja inserido no meio da conversa. Se o ID não puder ser encontrado, um erro será retornado e o item não será adicionado. |
item | RealtimeConversationRequestItem | O item a ser adicionado à conversa. |
RealtimeClientEventConversationItemDelete
O evento client conversation.item.delete
é usado para remover um item do histórico de conversas.
O servidor responde com um conversation.item.deleted
evento, a menos que o item não exista no histórico de conversas, caso em que o servidor responde com um erro.
Estrutura do evento
{
"type": "conversation.item.delete",
"item_id": "<item_id>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser conversation.item.delete . |
item_id | string | A ID do item a ser excluído. |
RealtimeClientEventConversationItemTruncate
O evento client conversation.item.truncate
é usado para truncar o áudio de uma mensagem de assistente anterior. O servidor produz áudio mais rápido do que em tempo real, portanto, esse evento é útil quando o usuário interrompe para truncar o áudio que foi enviado para o cliente, mas ainda não foi reproduzido. A compreensão do servidor do áudio com a reprodução do cliente é sincronizada.
Truncar o áudio exclui a transcrição de texto do lado do servidor para garantir que não haja texto no contexto que o usuário não conheça.
Se o evento do cliente for bem-sucedido, o servidor responderá com um conversation.item.truncated
evento.
Estrutura do evento
{
"type": "conversation.item.truncate",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser conversation.item.truncate . |
item_id | string | A ID do item de mensagem do assistente a ser truncar. Apenas os itens de mensagem do assistente podem ser truncados. |
content_index | integer | O índice da parte de conteúdo a truncar. Defina esta propriedade como "0". |
audio_end_ms | integer | Duração inclusiva até à qual o áudio é truncado, em milissegundos. Se o audio_end_ms for maior do que a duração real do áudio, o servidor responderá com um erro. |
RealtimeClientEventInputAudioBufferAppend
O evento client input_audio_buffer.append
é usado para acrescentar bytes de áudio ao buffer de áudio de entrada. O buffer de áudio é um armazenamento temporário no qual você pode gravar e confirmar posteriormente.
No modo VAD (Deteção de Atividade de Voz) do servidor, o buffer de áudio é usado para detetar fala e o servidor decide quando confirmar. Quando o VAD do servidor está desativado, o cliente pode escolher a quantidade de áudio a colocar em cada evento até um máximo de 15 MiB. Por exemplo, o streaming de partes menores do cliente pode permitir que o VAD seja mais responsivo.
Ao contrário de outros eventos de cliente, o servidor não envia uma resposta de confirmação para o evento do cliente input_audio_buffer.append
.
Estrutura do evento
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser input_audio_buffer.append . |
áudio | string | Bytes de áudio codificados em Base64. Esse valor deve estar no formato especificado pelo input_audio_format campo na configuração da sessão. |
RealtimeClientEventInputAudioBufferClear
O evento client input_audio_buffer.clear
é usado para limpar os bytes de áudio no buffer.
O servidor responde com um input_audio_buffer.cleared
evento.
Estrutura do evento
{
"type": "input_audio_buffer.clear"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser input_audio_buffer.clear . |
RealtimeClientEventInputAudioBufferCommit
O evento client input_audio_buffer.commit
é usado para confirmar o buffer de áudio de entrada do usuário, que cria um novo item de mensagem do usuário na conversa. O áudio é transcrito se input_audio_transcription
estiver configurado para a sessão.
Quando no modo VAD do servidor, o cliente não precisa enviar esse evento, o servidor confirma o buffer de áudio automaticamente. Sem o VAD do servidor, o cliente deve confirmar o buffer de áudio para criar um item de mensagem do usuário. Esse evento de cliente produz um erro se o buffer de áudio de entrada estiver vazio.
Confirmar o buffer de áudio de entrada não cria uma resposta do modelo.
O servidor responde com um input_audio_buffer.committed
evento.
Estrutura do evento
{
"type": "input_audio_buffer.commit"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser input_audio_buffer.commit . |
RealtimeClientEventResponseCancel
O evento client response.cancel
é usado para cancelar uma resposta em andamento.
O servidor responde com um response.cancelled
evento ou um erro se não houver resposta para cancelar.
Estrutura do evento
{
"type": "response.cancel"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.cancel . |
RealtimeClientEventResponseCriar
O evento client response.create
é usado para instruir o servidor a criar uma resposta por meio da inferência de modelo. Quando a sessão é configurada no modo VAD do servidor, o servidor cria respostas automaticamente.
Uma resposta inclui pelo menos um item
, e pode ter dois, caso em que o segundo é uma chamada de função. Esses itens são anexados ao histórico de conversas.
O servidor responde com um evento, um response.created
ou mais eventos de item e conteúdo (como conversation.item.created
e response.content_part.added
) e, finalmente, um response.done
evento para indicar que a resposta está completa.
Nota
O evento client response.create
inclui configuração de inferência como instructions
, e temperature
. Esses campos podem substituir a configuração da sessão somente para essa resposta.
Estrutura do evento
{
"type": "response.create"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.create . |
resposta | RealtimeResponseOptions | As opções de resposta. |
RealtimeClientEventSessionUpdate
O evento client session.update
é usado para atualizar a configuração padrão da sessão. O cliente pode enviar este evento a qualquer momento para atualizar a configuração da sessão, e qualquer campo pode ser atualizado a qualquer momento, exceto voz.
Apenas os campos presentes são atualizados. Para limpar um campo (como instructions
), passe uma cadeia de caracteres vazia.
O servidor responde com um session.updated
evento que contém a configuração efetiva completa.
Estrutura do evento
{
"type": "session.update"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser session.update . |
sessão | RealtimeRequestSession | A configuração da sessão. |
Eventos do servidor
Há 28 eventos de servidor que podem ser recebidos do servidor:
Evento | Descrição |
---|---|
RealtimeServerEventConversationCreated | Evento do servidor quando uma conversa é criada. Emitido logo após a criação da sessão. |
RealtimeServerEventConversationItemCreated | Evento do servidor quando um item de conversa é criado. |
RealtimeServerEventConversationItemDeleted | Evento do servidor quando um item da conversa é excluído. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted | Evento do servidor quando a transcrição de áudio de entrada está habilitada e uma transcrição é bem-sucedida. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed | Evento do servidor quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem de usuário falhou. |
RealtimeServerEventConversationItemTruncated | Evento do servidor quando o cliente trunca um item de mensagem de áudio do assistente anterior. |
RealtimeServerEventError | Evento do servidor quando ocorre um erro. |
RealtimeServerEventInputAudioBufferCleared | Evento do servidor quando o cliente limpa o buffer de áudio de entrada. |
RealtimeServerEventInputAudioBufferCommitted | Evento do servidor quando um buffer de áudio de entrada é confirmado, pelo cliente ou automaticamente no modo VAD do servidor. |
RealtimeServerEventInputAudioBufferSpeechStarted | Evento do servidor no modo de deteção de turno do servidor quando a fala é detetada. |
RealtimeServerEventInputAudioBufferSpeechStopped | Evento do servidor no modo de deteção de turno do servidor quando a fala para. |
RealtimeServerEventRateLimitsUpdated | Emitido após cada evento "response.done" para indicar os limites de taxa atualizados. |
RealtimeServerEventResponseAudioDelta | Evento do servidor quando o áudio gerado pelo modelo é atualizado. |
RealtimeServerEventResponseAudioDone | Evento do servidor quando o áudio gerado pelo modelo é concluído. Também emitido quando uma resposta é interrompida, incompleta ou cancelada. |
RealtimeServerEventResponseAudioTranscriptDelta | Evento do servidor quando a transcrição gerada pelo modelo da saída de áudio é atualizada. |
RealtimeServerEventResponseAudioTranscriptDone | Evento do servidor quando a transcrição gerada pelo modelo da saída de áudio é feita em streaming. Também emitido quando uma resposta é interrompida, incompleta ou cancelada. |
RealtimeServerEventResponseContentPartAdded | Evento do servidor quando uma nova parte de conteúdo é adicionada a um item de mensagem de assistente durante a geração de resposta. |
RealtimeServerEventResponseContentPartDone | Evento do servidor quando uma parte do conteúdo é feita streaming em um item de mensagem do assistente. Também emitido quando uma resposta é interrompida, incompleta ou cancelada. |
RealtimeServerEventResponseCreated | Evento do servidor quando uma nova resposta é criada. O primeiro evento de criação de resposta, onde a resposta está em um estado inicial de "in_progress". |
RealtimeServerEventResponseDone | Evento do servidor quando uma resposta é feita streaming. Sempre emitido, não importa o estado final. |
RealtimeServerEventResponseFunctionCallArgumentsDelta | Evento do servidor quando os argumentos de chamada de função gerados pelo modelo são atualizados. |
RealtimeServerEventResponseFunctionCallArgumentsDone | Evento do servidor quando os argumentos de chamada de função gerados pelo modelo são feitos de streaming. Também emitido quando uma resposta é interrompida, incompleta ou cancelada. |
RealtimeServerEventResponseOutputItemAdded | Evento do servidor quando um novo item de saída é adicionado a uma resposta. |
RealtimeServerEventResponseOutputItemDone | Evento do servidor quando um item de saída é feito streaming. Também emitido quando uma resposta é interrompida, incompleta ou cancelada. |
RealtimeServerEventResponseTextDelta | Evento do servidor quando o texto gerado pelo modelo é atualizado. |
RealtimeServerEventResponseTextDone | Evento do servidor quando o texto gerado pelo modelo é concluído. Também emitido quando uma resposta é interrompida, incompleta ou cancelada. |
RealtimeServerEventSessionCreated | Evento do servidor quando uma sessão é criada. |
RealtimeServerEventSessionUpdated | Evento do servidor quando uma sessão é atualizada. |
RealtimeServerEventConversationCreated
O evento server conversation.created
é retornado logo após a criação da sessão. É criada uma conversa por sessão.
Estrutura do evento
{
"type": "conversation.created",
"conversation": {
"id": "<id>",
"object": "<object>"
}
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser conversation.created . |
conversa | objeto | O recurso de conversação. |
Propriedades da conversação
Campo | Tipo | Descrição |
---|---|---|
id | string | O ID exclusivo da conversação. |
objeto | string | O tipo de objeto deve ser realtime.conversation . |
RealtimeServerEventConversationItemCreated
O evento server conversation.item.created
é retornado quando um item de conversa é criado. Existem vários cenários que produzem este evento:
- O servidor está gerando uma resposta, que se bem-sucedida produz um ou dois itens, que é do tipo
message
(funçãoassistant
) ou tipofunction_call
. - O buffer de áudio de entrada é confirmado, seja pelo cliente ou pelo servidor (no
server_vad
modo). O servidor pega o conteúdo do buffer de áudio de entrada e o adiciona a um novo item de mensagem do usuário. - O cliente enviou um
conversation.item.create
evento para adicionar um novo item à conversa.
Estrutura do evento
{
"type": "conversation.item.created",
"previous_item_id": "<previous_item_id>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser conversation.item.created . |
previous_item_id | string | O ID do item anterior no contexto da conversa, permite que o cliente compreenda a ordem da conversa. |
item | RealtimeConversationResponseItem | O item que foi criado. |
RealtimeServerEventConversationItemDeleted
O evento server conversation.item.deleted
é retornado quando o cliente excluiu um item na conversa com um conversation.item.delete
evento. Esse evento é usado para sincronizar o entendimento do servidor do histórico de conversas com a exibição do cliente.
Estrutura do evento
{
"type": "conversation.item.deleted",
"item_id": "<item_id>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser conversation.item.deleted . |
item_id | string | A ID do item que foi excluído. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted
O evento do servidor conversation.item.input_audio_transcription.completed
é o resultado da transcrição de áudio para fala gravada no buffer de áudio.
A transcrição começa quando o buffer de áudio de entrada é confirmado pelo cliente ou servidor (no server_vad
modo). A transcrição é executada de forma assíncrona com a criação de resposta, para que esse evento possa vir antes ou depois dos eventos de resposta.
Os modelos de API em tempo real aceitam áudio nativamente e, portanto, a transcrição de entrada é um processo separado executado em um modelo de reconhecimento de fala separado, atualmente sempre whisper-1
. Assim, a transcrição pode divergir um pouco da interpretação do modelo, e deve ser tratada como um guia aproximado.
Estrutura do evento
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser conversation.item.input_audio_transcription.completed . |
item_id | string | A ID do item de mensagem do usuário que contém o áudio. |
content_index | integer | O índice da parte de conteúdo que contém o áudio. |
Transcrição | string | O texto transcrito. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed
O evento do servidor conversation.item.input_audio_transcription.failed
é retornado quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem de usuário falhou. Este evento é separado de outros error
eventos para que o cliente possa identificar o item relacionado.
Estrutura do evento
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser conversation.item.input_audio_transcription.failed . |
item_id | string | A ID do item de mensagem do usuário. |
content_index | integer | O índice da parte de conteúdo que contém o áudio. |
error | objeto | Detalhes do erro de transcrição. Consulte as propriedades aninhadas na tabela seguinte. |
Propriedades do erro
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de erro. |
code | string | Código de erro, se houver. |
mensagem | string | Uma mensagem de erro legível por humanos. |
param | string | Parâmetro relacionado ao erro, se houver. |
RealtimeServerEventConversationItemTruncated
O evento server conversation.item.truncated
é retornado quando o cliente trunca um item de mensagem de áudio do assistente anterior com um conversation.item.truncate
evento. Este evento é usado para sincronizar a compreensão do servidor do áudio com a reprodução do cliente.
Esse evento trunca o áudio e remove a transcrição de texto do lado do servidor para garantir que não haja texto no contexto que o usuário não conheça.
Estrutura do evento
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser conversation.item.truncated . |
item_id | string | A ID do item de mensagem do assistente que foi truncado. |
content_index | integer | O índice da parte de conteúdo que foi truncada. |
audio_end_ms | integer | A duração até a qual o áudio foi truncado, em milissegundos. |
RealtimeServerEventError
O evento do servidor error
é retornado quando ocorre um erro, que pode ser um problema do cliente ou do servidor. A maioria dos erros é recuperável e a sessão permanece aberta.
Estrutura do evento
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser error . |
error | objeto | Detalhes do erro. Consulte as propriedades aninhadas na tabela seguinte. |
Propriedades do erro
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de erro. Por exemplo, "invalid_request_error" e "server_error" são tipos de erro. |
code | string | Código de erro, se houver. |
mensagem | string | Uma mensagem de erro legível por humanos. |
param | string | Parâmetro relacionado ao erro, se houver. |
event_id | string | A ID do evento do cliente que causou o erro, se aplicável. |
RealtimeServerEventInputAudioBufferCleared
O evento do servidor input_audio_buffer.cleared
é retornado quando o cliente limpa o buffer de áudio de entrada com um input_audio_buffer.clear
evento.
Estrutura do evento
{
"type": "input_audio_buffer.cleared"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser input_audio_buffer.cleared . |
RealtimeServerEventInputAudioBufferCommitted
O evento do servidor input_audio_buffer.committed
é retornado quando um buffer de áudio de entrada é confirmado, pelo cliente ou automaticamente no modo VAD do servidor. A item_id
propriedade é a ID do item de mensagem do usuário criado. Assim, um conversation.item.created
evento também é enviado para o cliente.
Estrutura do evento
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser input_audio_buffer.committed . |
previous_item_id | string | A ID do item anterior após o qual o novo item é inserido. |
item_id | string | A ID do item de mensagem do usuário criado. |
RealtimeServerEventInputAudioBufferSpeechStarted
O evento do servidor input_audio_buffer.speech_started
é retornado no server_vad
modo quando a fala é detetada no buffer de áudio. Esse evento pode acontecer sempre que o áudio for adicionado ao buffer (a menos que a fala já seja detetada).
Nota
O cliente pode querer usar esse evento para interromper a reprodução de áudio ou fornecer feedback visual ao usuário.
O cliente deve esperar receber um input_audio_buffer.speech_stopped
evento quando a fala parar. A item_id
propriedade é a ID do item de mensagem do usuário criado quando a fala é interrompida. O item_id
também está incluído no evento, a input_audio_buffer.speech_stopped
menos que o cliente confirme manualmente o buffer de áudio durante a ativação do VAD.
Estrutura do evento
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser input_audio_buffer.speech_started . |
audio_start_ms | integer | Milissegundos desde o início de todo o áudio gravado no buffer durante a sessão quando a fala foi detetada pela primeira vez. Esta propriedade corresponde ao início do áudio enviado para o modelo e, portanto, inclui o prefix_padding_ms configurado na sessão. |
item_id | string | A ID do item de mensagem do usuário criado quando a fala é interrompida. |
RealtimeServerEventInputAudioBufferSpeechStopped
O evento do servidor input_audio_buffer.speech_stopped
é retornado no server_vad
modo quando o servidor deteta o fim da fala no buffer de áudio.
O servidor também envia um conversation.item.created
evento com o item de mensagem do usuário criado a partir do buffer de áudio.
Estrutura do evento
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser input_audio_buffer.speech_stopped . |
audio_end_ms | integer | Milésimos de segundo desde o início da sessão quando a fala parou. Esta propriedade corresponde ao final do áudio enviado para o modelo e, portanto, inclui o min_silence_duration_ms configurado na sessão. |
item_id | string | A ID do item de mensagem do usuário criado. |
RealtimeServerEventRateLimitsUpdated
O evento server rate_limits.updated
é emitido no início de uma resposta para indicar os limites de taxa atualizados.
Quando uma resposta é criada, alguns tokens são reservados para os tokens de saída. Os limites de tarifa mostrados aqui refletem essa reserva, que é ajustada em conformidade assim que a resposta for concluída.
Estrutura do evento
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser rate_limits.updated . |
rate_limits | matriz de RealtimeServerEventRateLimitsUpdatedRateLimitsItem | A lista de informações sobre limites de taxa. |
RealtimeServerEventResponseAudioDelta
O evento server response.audio.delta
é retornado quando o áudio gerado pelo modelo é atualizado.
Estrutura do evento
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.audio.delta . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item. |
output_index | integer | O índice do item de saída na resposta. |
content_index | integer | O índice da parte de conteúdo na matriz de conteúdo do item. |
delta | string | delta de dados de áudio codificados em Base64. |
RealtimeServerEventResponseAudioDone
O evento server response.audio.done
é retornado quando o áudio gerado pelo modelo é concluído.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.audio.done . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item. |
output_index | integer | O índice do item de saída na resposta. |
content_index | integer | O índice da parte de conteúdo na matriz de conteúdo do item. |
RealtimeServerEventResponseAudioTranscriptDelta
O evento server response.audio_transcript.delta
é retornado quando a transcrição gerada pelo modelo da saída de áudio é atualizada.
Estrutura do evento
{
"type": "response.audio_transcript.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.audio_transcript.delta . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item. |
output_index | integer | O índice do item de saída na resposta. |
content_index | integer | O índice da parte de conteúdo na matriz de conteúdo do item. |
delta | string | O delta da transcrição. |
RealtimeServerEventResponseAudioTranscriptDone
O evento server response.audio_transcript.done
é retornado quando a transcrição gerada pelo modelo da saída de áudio é feita em streaming.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.audio_transcript.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"transcript": "<transcript>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.audio_transcript.done . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item. |
output_index | integer | O índice do item de saída na resposta. |
content_index | integer | O índice da parte de conteúdo na matriz de conteúdo do item. |
Transcrição | string | A transcrição final do áudio. |
RealtimeServerEventResponseContentPartAdded
O evento server response.content_part.added
é retornado quando uma nova parte de conteúdo é adicionada a um item de mensagem assistente durante a geração de resposta.
Estrutura do evento
{
"type": "response.content_part.added",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.content_part.added . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item ao qual a parte de conteúdo foi adicionada. |
output_index | integer | O índice do item de saída na resposta. |
content_index | integer | O índice da parte de conteúdo na matriz de conteúdo do item. |
parte | RealtimeContentPart | A parte de conteúdo que foi adicionada. |
Propriedades da peça
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeContentPartType |
RealtimeServerEventResponseContentPartDone
O evento server response.content_part.done
é retornado quando uma parte do conteúdo é feita streaming em um item de mensagem assistente.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.content_part.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.content_part.done . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item. |
output_index | integer | O índice do item de saída na resposta. |
content_index | integer | O índice da parte de conteúdo na matriz de conteúdo do item. |
parte | RealtimeContentPart | A parte de conteúdo que é feita. |
Propriedades da peça
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeContentPartType |
RealtimeServerEventResponseCreated
O evento server response.created
é retornado quando uma nova resposta é criada. Este é o primeiro evento de criação de resposta, onde a resposta está em um estado inicial de in_progress
.
Estrutura do evento
{
"type": "response.created"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.created . |
resposta | RealtimeResponse | O objeto de resposta. |
RealtimeServerEventResponseDone
O evento do servidor response.done
é retornado quando uma resposta é feita de streaming. Este evento é sempre emitido, independentemente do estado final. O objeto de resposta incluído no response.done
evento inclui todos os itens de saída na resposta, mas omite os dados de áudio brutos.
Estrutura do evento
{
"type": "response.done"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.done . |
resposta | RealtimeResponse | O objeto de resposta. |
RealtimeServerEventResponseFunctionCallArgumentsDelta
O evento server response.function_call_arguments.delta
é retornado quando os argumentos de chamada de função gerados pelo modelo são atualizados.
Estrutura do evento
{
"type": "response.function_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"delta": "<delta>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.function_call_arguments.delta . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item de chamada de função. |
output_index | integer | O índice do item de saída na resposta. |
call_id | string | O ID da chamada de função. |
delta | string | Os argumentos delta como uma cadeia de caracteres JSON. |
RealtimeServerEventResponseFunctionCallArgumentsDone
O evento server response.function_call_arguments.done
é retornado quando os argumentos de chamada de função gerados pelo modelo são feitos de streaming.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.function_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"arguments": "<arguments>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.function_call_arguments.done . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item de chamada de função. |
output_index | integer | O índice do item de saída na resposta. |
call_id | string | O ID da chamada de função. |
Argumentos | string | Os argumentos finais como uma cadeia de caracteres JSON. |
RealtimeServerEventResponseOutputItemAdded
O evento server response.output_item.added
é retornado quando um novo item é criado durante a geração de resposta.
Estrutura do evento
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.output_item.added . |
response_id | string | A ID da resposta à qual o item pertence. |
output_index | integer | O índice do item de saída na resposta. |
item | RealtimeConversationResponseItem | O item que foi adicionado. |
RealtimeServerEventResponseOutputItemDone
O evento server response.output_item.done
é retornado quando um item é feito streaming.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.output_item.done . |
response_id | string | A ID da resposta à qual o item pertence. |
output_index | integer | O índice do item de saída na resposta. |
item | RealtimeConversationResponseItem | O item que é feito streaming. |
RealtimeServerEventResponseTextDelta
O evento server response.text.delta
é retornado quando o texto gerado pelo modelo é atualizado. O texto corresponde à text
parte de conteúdo de um item de mensagem do assistente.
Estrutura do evento
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.text.delta . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item. |
output_index | integer | O índice do item de saída na resposta. |
content_index | integer | O índice da parte de conteúdo na matriz de conteúdo do item. |
delta | string | O texto delta. |
RealtimeServerEventResponseTextDone
O evento server response.text.done
é retornado quando o texto gerado pelo modelo é feito streaming. O texto corresponde à text
parte de conteúdo de um item de mensagem do assistente.
Esse evento também é retornado quando uma resposta é interrompida, incompleta ou cancelada.
Estrutura do evento
{
"type": "response.text.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"text": "<text>"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser response.text.done . |
response_id | string | O ID da resposta. |
item_id | string | A ID do item. |
output_index | integer | O índice do item de saída na resposta. |
content_index | integer | O índice da parte de conteúdo na matriz de conteúdo do item. |
texto | string | O conteúdo do texto final. |
RealtimeServerEventSessionCreated
O evento server session.created
é o primeiro evento de servidor quando você estabelece uma nova conexão com a API em tempo real. Esse evento cria e retorna uma nova sessão com a configuração de sessão padrão.
Estrutura do evento
{
"type": "session.created"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser session.created . |
sessão | RealtimeResponseSession | O objeto session. |
RealtimeServerEventSessionUpdated
O evento server session.updated
é retornado quando uma sessão é atualizada pelo cliente. Se houver um erro, o servidor enviará um error
evento.
Estrutura do evento
{
"type": "session.updated"
}
Propriedades
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de evento deve ser session.updated . |
sessão | RealtimeResponseSession | O objeto session. |
Componentes
RealtimeAudioFormat
Valores permitidos:
pcm16
g711_ulaw
g711_alaw
RealtimeAudioInputTranscriptionModel
Valores permitidos:
whisper-1
RealtimeAudioInputTranscriptionSettings
Campo | Tipo | Description |
---|---|---|
modelo | RealtimeAudioInputTranscriptionModel | O modelo padrão whisper-1 é atualmente o único modelo suportado para transcrição de entrada de áudio. |
RealtimeClientEvent
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeClientEventType | O tipo do evento do cliente. |
event_id | string | A ID exclusiva do evento. |
RealtimeClientEventType
Valores permitidos:
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
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeContentPartType | O tipo da parte de conteúdo. |
RealtimeContentPartType
Valores permitidos:
input_text
input_audio
text
audio
RealtimeConversationItemBase
O item a ser adicionado à conversa.
RealtimeConversationRequestItem
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeItemType | O tipo do item. |
id | string | A ID exclusiva do item. |
RealtimeConversationResponseItem
Campo | Tipo | Description |
---|---|---|
objeto | string | O item de resposta da conversa. Valores permitidos: realtime.item |
tipo | RealtimeItemType | O tipo do item. |
id | string | A ID exclusiva do item. Esta propriedade é anulável. |
RealtimeFunctionTool
A definição de uma ferramenta de função como usada pelo ponto de extremidade em tempo real.
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo da ferramenta. Valores permitidos: function |
nome | string | O nome da função. |
descrição | string | A descrição da função. |
parâmetros | objeto | Os parâmetros da função. |
RealtimeItemStatus
Valores permitidos:
in_progress
completed
incomplete
RealtimeItemType
Valores permitidos:
message
function_call
function_call_output
RealtimeMessageRole
Valores permitidos:
system
user
assistant
RealtimeRequestAssistantMessageItem
Campo | Tipo | Description |
---|---|---|
função | string | O papel da mensagem. Valores permitidos: assistant |
content | matriz de RealtimeRequestTextContentPart | O conteúdo da mensagem. |
RealtimeRequestAudioContentPart
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo da parte de conteúdo. Valores permitidos: input_audio |
Transcrição | string | A transcrição do áudio. |
RealtimeRequestFunctionCallItem
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo do item. Valores permitidos: function_call |
nome | string | O nome do item de chamada de função. |
call_id | string | A ID do item de chamada de função. |
Argumentos | string | Os argumentos do item de chamada de função. |
status | RealtimeItemStatus | O status do item. |
RealtimeRequestFunctionCallOutputItem
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo do item. Valores permitidos: function_call_output |
call_id | string | A ID do item de chamada de função. |
saída | string | A saída do item de chamada de função. |
RealtimeRequestMessageItem
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo do item. Valores permitidos: message |
função | RealtimeMessageRole | O papel da mensagem. |
status | RealtimeItemStatus | O status do item. |
RealtimeRequestMessageReferenceItem
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo do item. Valores permitidos: message |
id | string | A ID do item de mensagem. |
RealtimeRequestSession
Campo | Tipo | Description |
---|---|---|
Modalidades | matriz | As modalidades que a sessão suporta. Valores permitidos: text , audio Por exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para ativar apenas texto, defina "modalities": ["text"] . Não é possível ativar apenas o áudio. |
instruções | string | As instruções (a mensagem do sistema) para orientar as respostas de texto e áudio do modelo. Aqui estão alguns exemplos de instruções para ajudar a orientar o conteúdo e o formato das respostas de texto e áudio: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Aqui estão alguns exemplos de instruções para ajudar a orientar o comportamento do áudio: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Embora o modelo nem sempre siga essas instruções, elas fornecem orientação sobre o comportamento desejado. |
voice | RealtimeVoice | A voz usada para a resposta do modelo para a sessão. Uma vez que a voz é usada na sessão para a resposta de áudio do modelo, ela não pode ser alterada. |
input_audio_format | RealtimeAudioFormat | O formato para o áudio de entrada. |
output_audio_format | RealtimeAudioFormat | O formato para o áudio de saída. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | As configurações para transcrição de entrada de áudio. Esta propriedade é anulável. |
turn_detection | RealtimeTurnDetection | As configurações de deteção de turno para a sessão. Esta propriedade é anulável. |
ferramentas | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
tool_choice | RealtimeToolChoice | A escolha da ferramenta para a sessão. |
temperatura | Número | A temperatura de amostragem para o modelo. Os valores de temperatura permitidos estão limitados a [0,6, 1,2]. O padrão é 0,8. |
max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída por resposta do assistente, incluindo chamadas de ferramentas. Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor como "inf" para permitir o número máximo de tokens. Por exemplo, para limitar os tokens de saída a 1000, defina "max_response_output_tokens": 1000 . Para permitir o número máximo de tokens, defina "max_response_output_tokens": "inf" .O padrão é "inf" . |
RealtimeRequestSystemMessageItem
Campo | Tipo | Description |
---|---|---|
função | string | O papel da mensagem. Valores permitidos: system |
content | matriz de RealtimeRequestTextContentPart | O conteúdo da mensagem. |
RealtimeRequestTextContentPart
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo da parte de conteúdo. Valores permitidos: input_text |
texto | string | O conteúdo do texto. |
RealtimeRequestUserMessageItem
Campo | Tipo | Description |
---|---|---|
função | string | O papel da mensagem. Valores permitidos: user |
content | matriz de RealtimeRequestTextContentPart ou RealtimeRequestAudioContentPart | O conteúdo da mensagem. |
RealtimeResponse
Campo | Tipo | Description |
---|---|---|
objeto | string | O objeto de resposta. Valores permitidos: realtime.response |
id | string | O ID exclusivo da resposta. |
status | RealtimeResponseStatus | O status da resposta. O valor de status padrão é in_progress . |
status_details | RealtimeResponseStatusDetails | Os detalhes do status da resposta. Esta propriedade é anulável. |
saída | matriz de RealtimeConversationResponseItem | Os itens de saída da resposta. |
ativa | objeto | Estatísticas de utilização da resposta. Cada sessão de API em tempo real mantém um contexto de conversa e acrescenta novos itens à conversa. A saída de turnos anteriores (tokens de texto e áudio) é a entrada para turnos posteriores. Consulte as propriedades aninhadas a seguir. |
+ total_tokens | integer | O número total de tokens na Resposta, incluindo texto de entrada e saída e tokens de áudio. Uma propriedade do usage objeto. |
+ input_tokens | integer | O número de tokens de entrada usados na resposta, incluindo tokens de texto e áudio. Uma propriedade do usage objeto. |
+ output_tokens | integer | O número de tokens de saída enviados na resposta, incluindo tokens de texto e áudio. Uma propriedade do usage objeto. |
+ input_token_details | objeto | Detalhes sobre os tokens de entrada usados na resposta. Uma propriedade do usage objeto.br> Consulte as propriedades aninhadas a seguir. |
+ cached_tokens | integer | O número de tokens armazenados em cache usados na resposta. Uma propriedade do input_token_details objeto. |
+ text_tokens | integer | O número de tokens de texto usados na resposta. Uma propriedade do input_token_details objeto. |
+ audio_tokens | integer | O número de tokens de áudio usados na resposta. Uma propriedade do input_token_details objeto. |
+ output_token_details | objeto | Detalhes sobre os tokens de saída usados na resposta. Uma propriedade do usage objeto.Consulte as propriedades aninhadas a seguir. |
+ text_tokens | integer | O número de tokens de texto usados na resposta. Uma propriedade do output_token_details objeto. |
+ audio_tokens | integer | O número de tokens de áudio usados na resposta. Uma propriedade do output_token_details objeto. |
RealtimeResponseAudioContentPart
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo da parte de conteúdo. Valores permitidos: audio |
Transcrição | string | A transcrição do áudio. Esta propriedade é anulável. |
RealtimeResponseBase
O recurso de resposta.
RealtimeResponseFunctionCallItem
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo do item. Valores permitidos: function_call |
nome | string | O nome do item de chamada de função. |
call_id | string | A ID do item de chamada de função. |
Argumentos | string | Os argumentos do item de chamada de função. |
status | RealtimeItemStatus | O status do item. |
RealtimeResponseFunctionCallOutputItem
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo do item. Valores permitidos: function_call_output |
call_id | string | A ID do item de chamada de função. |
saída | string | A saída do item de chamada de função. |
RealtimeResponseMessageItem
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo do item. Valores permitidos: message |
função | RealtimeMessageRole | O papel da mensagem. |
content | matriz | O conteúdo da mensagem. Itens de matriz: RealtimeResponseTextContentPart |
status | RealtimeItemStatus | O status do item. |
RealtimeResponseOptions
Campo | Tipo | Description |
---|---|---|
Modalidades | matriz | As modalidades que a sessão suporta. Valores permitidos: text , audio Por exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para ativar apenas texto, defina "modalities": ["text"] . Não é possível ativar apenas o áudio. |
instruções | string | As instruções (a mensagem do sistema) para orientar as respostas de texto e áudio do modelo. Aqui estão alguns exemplos de instruções para ajudar a orientar o conteúdo e o formato das respostas de texto e áudio: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Aqui estão alguns exemplos de instruções para ajudar a orientar o comportamento do áudio: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Embora o modelo nem sempre siga essas instruções, elas fornecem orientação sobre o comportamento desejado. |
voice | RealtimeVoice | A voz usada para a resposta do modelo para a sessão. Uma vez que a voz é usada na sessão para a resposta de áudio do modelo, ela não pode ser alterada. |
output_audio_format | RealtimeAudioFormat | O formato para o áudio de saída. |
ferramentas | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
tool_choice | RealtimeToolChoice | A escolha da ferramenta para a sessão. |
temperatura | Número | A temperatura de amostragem para o modelo. Os valores de temperatura permitidos estão limitados a [0,6, 1,2]. O padrão é 0,8. |
max__output_tokens | inteiro ou "inf" | O número máximo de tokens de saída por resposta do assistente, incluindo chamadas de ferramentas. Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor como "inf" para permitir o número máximo de tokens. Por exemplo, para limitar os tokens de saída a 1000, defina "max_response_output_tokens": 1000 . Para permitir o número máximo de tokens, defina "max_response_output_tokens": "inf" .O padrão é "inf" . |
RealtimeResponseSession
Campo | Tipo | Description |
---|---|---|
objeto | string | O objeto session. Valores permitidos: realtime.session |
id | string | O ID exclusivo da sessão. |
modelo | string | O modelo usado para a sessão. |
Modalidades | matriz | As modalidades que a sessão suporta. Valores permitidos: text , audio Por exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para ativar apenas texto, defina "modalities": ["text"] . Não é possível ativar apenas o áudio. |
instruções | string | As instruções (a mensagem do sistema) para orientar as respostas de texto e áudio do modelo. Aqui estão alguns exemplos de instruções para ajudar a orientar o conteúdo e o formato das respostas de texto e áudio: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Aqui estão alguns exemplos de instruções para ajudar a orientar o comportamento do áudio: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Embora o modelo nem sempre siga essas instruções, elas fornecem orientação sobre o comportamento desejado. |
voice | RealtimeVoice | A voz usada para a resposta do modelo para a sessão. Uma vez que a voz é usada na sessão para a resposta de áudio do modelo, ela não pode ser alterada. |
input_audio_format | RealtimeAudioFormat | O formato para o áudio de entrada. |
output_audio_format | RealtimeAudioFormat | O formato para o áudio de saída. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | As configurações para transcrição de entrada de áudio. Esta propriedade é anulável. |
turn_detection | RealtimeTurnDetection | As configurações de deteção de turno para a sessão. Esta propriedade é anulável. |
ferramentas | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
tool_choice | RealtimeToolChoice | A escolha da ferramenta para a sessão. |
temperatura | Número | A temperatura de amostragem para o modelo. Os valores de temperatura permitidos estão limitados a [0,6, 1,2]. O padrão é 0,8. |
max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída por resposta do assistente, incluindo chamadas de ferramentas. Especifique um inteiro entre 1 e 4096 para limitar os tokens de saída. Caso contrário, defina o valor como "inf" para permitir o número máximo de tokens. Por exemplo, para limitar os tokens de saída a 1000, defina "max_response_output_tokens": 1000 . Para permitir o número máximo de tokens, defina "max_response_output_tokens": "inf" . |
RealtimeResponseStatus
Valores permitidos:
in_progress
completed
cancelled
incomplete
failed
RealtimeResponseStatusDetails
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeResponseStatus | O status da resposta. |
RealtimeResponseTextContentPart
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo da parte de conteúdo. Valores permitidos: text |
texto | string | O conteúdo do texto. |
RealtimeServerEvent
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeServerEventType | O tipo do evento do servidor. |
event_id | string | A ID exclusiva do evento. |
RealtimeServerEventRateLimitsUpdatedRateLimitsItem
Campo | Tipo | Description |
---|---|---|
nome | string | O nome da propriedade de limite de taxa sobre o qual este item inclui informações. |
limit | integer | O limite máximo configurado para essa propriedade de limite de taxa. |
restante | integer | A cota restante disponível em relação ao limite configurado para essa propriedade de limite de taxa. |
reset_seconds | Número | O tempo restante, em segundos, até que essa propriedade de limite de taxa seja redefinida. |
RealtimeServerEventType
Valores permitidos:
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
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de deteção de volta. Valores permitidos: server_vad |
limiar | Número | O limite de ativação para a deteção de turno VAD do servidor. Em ambientes barulhentos, talvez seja necessário aumentar o limite para evitar falsos positivos. Em ambientes silenciosos, talvez seja necessário diminuir o limite para evitar falsos negativos. O padrão é 0.5 . Você pode definir o limite para um valor entre 0.0 e 1.0 . |
prefix_padding_ms | string | A duração do áudio de fala (em milissegundos) para incluir antes do início da fala detetada. O padrão é 300 . |
silence_duration_ms | string | A duração do silêncio (em milissegundos) para detetar o fim da fala. Você quer detetar o fim do discurso o mais rápido possível, mas não muito cedo para evitar cortar a última parte do discurso. O modelo responderá mais rapidamente se você definir esse valor para um número menor, mas pode cortar a última parte do discurso. Se você definir esse valor para um número maior, o modelo esperará mais tempo para detetar o fim da fala, mas pode levar mais tempo para responder. |
RealtimeSessionBase
Configuração de objeto de sessão em tempo real.
RealtimeTool
A representação base de uma definição de ferramenta em tempo real.
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeToolType | O tipo da ferramenta. |
RealtimeToolChoice
O conjunto combinado de representações disponíveis para um parâmetro de tool_choice em tempo real, abrangendo opções literais de cadeia de caracteres como 'auto' e referências estruturadas para ferramentas definidas.
RealtimeToolChoiceFunctionObject
A representação de um tool_choice em tempo real selecionando uma ferramenta de função nomeada.
Campo | Tipo | Description |
---|---|---|
tipo | string | O tipo de tool_choice. Valores permitidos: function |
function | objeto | A ferramenta de função a ser selecionada. Consulte as propriedades aninhadas a seguir. |
+ nome | string | O nome da ferramenta de função. Uma propriedade do function objeto. |
RealtimeToolChoiceLiteral
O conjunto disponível de opções de tool_choice literal de cadeia de caracteres de nível de modo para o ponto de extremidade em tempo real.
Valores permitidos:
auto
none
required
RealtimeToolChoiceObject
Uma representação base para um tool_choice em tempo real selecionando uma ferramenta nomeada.
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeToolType | O tipo de tool_choice. |
RealtimeToolType
Os discriminadores de tipo de ferramenta suportados para ferramentas em tempo real. Atualmente, apenas ferramentas de "função" são suportadas.
Valores permitidos:
function
RealtimeTurnDetection
Campo | Tipo | Description |
---|---|---|
tipo | RealtimeTurnDetectionType | O tipo de deteção de volta. Valores permitidos: server_vad |
RealtimeTurnDetectionType
Valores permitidos:
server_vad
RealtimeVoice
Valores permitidos:
alloy
shimmer
echo
Conteúdos relacionados
- Comece a usar o Guia de início rápido da API em tempo real.
- Saiba mais sobre Como usar a API em tempo real.