Referência da API em tempo real (Versão prévia)
Observação
Esse recurso está atualmente em visualização pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não recomendamos isso para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
A API em tempo real é uma API baseada em WebSocket que permite que você interaja com o serviço Azure OpenAI 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. 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 modela conexões de ponto de extremidade. Não o utilize diretamente em dispositivos de usuários finais não confiáveis.
Dica
Para começar a usar a API em tempo real, veja o início rápido e o guia prático.
Conexão
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 seguro WebSocket (
wss://
) - O nome do host do ponto de extremidade do recurso do Azure OpenAI, por exemplo,
my-aoai-resource.openai.azure.com
- O caminho da API
openai/realtime
- Um parâmetro de cadeia de caracteres de consulta
api-version
para uma versão de API suportada, como2024-10-01-preview
- Um parâmetro de cadeia de caracteres de consulta
deployment
com o nome da suagpt-4o-realtime-preview
implantação do modelo
O exemplo a seguir é um URI de solicitação /realtime
bem construído:
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 API
/realtime
para um recurso do Serviço OpenAI do Azure com identidade gerenciada habilitada. Aplique um token de autenticação recuperado usando umBearer
token com o cabeçalhoAuthorization
. - Chave de API: Um
api-key
pode ser fornecido de duas maneiras:- Usando um cabeçalho de conexão
api-key
na conexão pré-handshake. Essa opção não está disponível em um ambiente de navegador. - Usando um parâmetro de cadeia de caracteres de consulta
api-key
no URI da solicitação. Os parâmetros da cadeia de caracteres de consulta são criptografados ao usar https/wss.
- Usando um cabeçalho de conexão
Eventos do cliente
Há nove eventos de cliente que podem ser enviados do cliente para o servidor:
Evento | Descrição |
---|---|
RealtimeClientEventConversationItemCreate | Envie esse evento do cliente ao adicionar um item à conversa. |
RealtimeClientEventConversationItemDelete | Envie esse evento de cliente quando quiser remover qualquer item do histórico de conversas. |
RealtimeClientEventConversationItemTruncate | Envie esse evento do cliente quando quiser truncar o áudio de uma mensagem anterior do assistente. |
RealtimeClientEventInputAudioBufferAppend | Envie esse evento de cliente para anexar bytes de áudio ao buffer de áudio de entrada. |
RealtimeClientEventInputAudioBufferClear | Envie esse evento de cliente para limpar os bytes de áudio no buffer. |
RealtimeClientEventInputAudioBufferCommit | Envie esse evento de cliente para confirmar bytes de áudio em uma mensagem do usuário. |
RealtimeClientEventResponseCancel | Envie esse evento de cliente para cancelar uma resposta em andamento. |
RealtimeClientEventResponseCreate | Envie esse evento de cliente para acionar uma geração de resposta. |
RealtimeClientEventSessionUpdate | Envie esse evento de cliente para atualizar a configuração padrão da sessão. |
RealtimeClientEventConversationItemCreate
O evento conversation.item.create
do cliente é usado para adicionar um novo item ao contexto da conversa, incluindo mensagens, chamadas de função e respostas às chamadas de função. Esse evento pode ser usado para preencher um histórico da conversa e adicionar novos itens no meio do caminho. Atualmente, esse evento não pode preencher mensagens de áudio do assistente.
Se for bem-sucedido, o servidor responde com um evento conversation.item.created
, caso contrário, um evento error
é enviado.
Estrutura do evento
{
"type": "conversation.item.create",
"previous_item_id": "<previous_item_id>"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser conversation.item.create . |
previous_item_id | string | O ID do item anterior após o qual o novo item é inserido. Se não for 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 conversation.item.delete
do cliente é usado para remover um item do histórico de conversas.
O servidor responde com um evento conversation.item.deleted
, 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser conversation.item.delete . |
item_id | string | O ID do item a ser excluído. |
RealtimeClientEventConversationItemTruncate
O evento conversation.item.truncate
do cliente é usado para truncar o áudio de uma mensagem anterior do assistente. O servidor produz áudio mais rápido do que em tempo real, então esse evento é útil quando o usuário interrompe para truncar o áudio que foi enviado ao cliente, mas ainda não foi reproduzido. A compreensão do áudio pelo servidor com a reprodução do cliente é sincronizada.
Truncar o áudio exclui a transcrição do 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 evento conversation.item.truncated
.
Estrutura do evento
{
"type": "conversation.item.truncate",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser conversation.item.truncate . |
item_id | string | O ID do item de mensagem do assistente a ser truncado. Somente itens de mensagens do assistente podem ser truncados. |
content_index | Número inteiro | O índice da parte do conteúdo a ser truncada. Defina essa propriedade como "0". |
audio_end_ms | Número inteiro | Duração inclusiva até a qual o áudio é truncado, em milissegundos. Se audio_end_ms for maior que a duração real do áudio, o servidor responderá com um erro. |
RealtimeClientEventInputAudioBufferAppend
O evento input_audio_buffer.append
do cliente é usado para anexar bytes de áudio ao buffer de áudio de entrada. O buffer de áudio é um armazenamento temporário no qual você pode gravar e depois confirmar.
No modo VAD (Voice Activity Detection) do servidor, o buffer de áudio é usado para detectar a fala e o servidor decide quando confirmar. Quando o VAD do servidor é desabilitado, o cliente pode escolher quanto áudio colocar em cada evento até um máximo de 15 MiB. Por exemplo, transmitir 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 ao evento input_audio_buffer.append
do cliente.
Estrutura do evento
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser input_audio_buffer.append . |
audio | string | Bytes de áudio codificados em Base64. Esse valor deve estar no formato especificado pelo campo input_audio_format na configuração da sessão. |
RealtimeClientEventInputAudioBufferClear
O evento input_audio_buffer.clear
do cliente é usado para limpar os bytes de áudio no buffer.
O servidor responde com um evento input_audio_buffer.cleared
.
Estrutura do evento
{
"type": "input_audio_buffer.clear"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser input_audio_buffer.clear . |
RealtimeClientEventInputAudioBufferCommit
O evento input_audio_buffer.commit
do cliente é usado para confirmar o buffer de áudio da entrada do usuário, o que cria um novo item de mensagem do usuário na conversa. O áudio será transcrito se input_audio_transcription
estiver configurado para a sessão.
Quando estiver 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 do áudio para criar um item de mensagem do usuário. Esse evento de cliente produz um erro se o buffer do áudio de entrada estiver vazio.
A confirmação do buffer de áudio de entrada não cria uma resposta do modelo.
O servidor responde com um evento input_audio_buffer.committed
.
Estrutura do evento
{
"type": "input_audio_buffer.commit"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser input_audio_buffer.commit . |
RealtimeClientEventResponseCancel
O evento response.cancel
de cliente é usado para cancelar uma resposta em andamento.
O servidor responde com um evento response.cancelled
ou um erro se não houver resposta para cancelar.
Estrutura do evento
{
"type": "response.cancel"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.cancel . |
RealtimeClientEventResponseCreate
O evento response.create
do cliente é usado para instruir o servidor a criar uma resposta por meio de 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 response.created
, um ou mais itens e eventos de conteúdo (como conversation.item.created
e response.content_part.added
), e, por fim, um evento response.done
para indicar que a resposta foi concluída.
Observação
O evento response.create
do cliente inclui configuração de inferência como instructions
e temperature
. Esses campos substituem a configuração da sessão somente para essa resposta.
Estrutura do evento
{
"type": "response.create"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.create . |
response | RealtimeResponseOptions | As opções de resposta. |
RealtimeClientEventSessionUpdate
O evento session.update
de cliente é usado para atualizar a configuração padrão da sessão. O cliente pode enviar esse evento a qualquer momento para atualizar a configuração da sessão, e qualquer campo pode ser atualizado a qualquer momento, exceto voz.
Somente os campos presentes são atualizados. Para limpar um campo (como instructions
), passe uma cadeia de caracteres vazia.
O servidor responde com um evento session.updated
que contem a configuração efetiva completa.
Estrutura do evento
{
"type": "session.update"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser session.update . |
seçã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 na conversa é excluído. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted | Evento do servidor quando a transcrição de áudio de entrada é 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 do 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 detecção de ativação do servidor quando a fala é detectada. |
RealtimeServerEventInputAudioBufferSpeechStopped | Evento do servidor no modo de detecção de turno do servidor quando a fala é interrompida. |
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 estiver 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 é concluída 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 do assistente durante a geração de resposta. |
RealtimeServerEventResponseContentPartDone | Evento do servidor quando uma parte do conteúdo é concluída em 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 é transmitida. 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 terminam de ser transmitidos. 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 é transmitido. 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 estiver 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 conversation.created
do servidor é retornado logo após a criação da sessão. Uma conversa é criada por sessão.
Estrutura do evento
{
"type": "conversation.created",
"conversation": {
"id": "<id>",
"object": "<object>"
}
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser conversation.created . |
conversa | objeto | O recurso de conversação. |
Propriedades de conversação
Campo | Type | Descrição |
---|---|---|
id | string | A ID exclusiva da conversa. |
objeto | string | O tipo de objeto deve ser realtime.conversation . |
RealtimeServerEventConversationItemCreated
O evento conversation.item.created
do servidor é retornado quando um item de conversa é criado. Existem vários cenários que produzem esse evento:
- O servidor está gerando uma resposta que, se bem-sucedida, produz um ou dois itens, que são do tipo
message
(funçãoassistant
) ou tipofunction_call
. - O buffer de áudio de entrada é confirmado 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 evento
conversation.item.create
para adicionar um novo item à conversa.
Estrutura do evento
{
"type": "conversation.item.created",
"previous_item_id": "<previous_item_id>"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | 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 entenda a ordem da conversa. |
item | RealtimeConversationResponseItem | O item que foi criado. |
RealtimeServerEventConversationItemDeleted
O evento conversation.item.deleted
do servidor é retornado quando o cliente exclui um item na conversa com um evento conversation.item.delete
. Esse evento é usado para sincronizar a compreensão do histórico de conversas pelo servidor com a visão do cliente.
Estrutura do evento
{
"type": "conversation.item.deleted",
"item_id": "<item_id>"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser conversation.item.deleted . |
item_id | string | O ID do item que foi excluído. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted
O evento conversation.item.input_audio_transcription.completed
do servidor é o resultado da transcrição de áudio da fala gravada no buffer de áudio.
A transcrição começa quando o buffer de áudio de entrada é confirmado pelo cliente ou servidor (no modo server_vad
). A transcrição é executada de forma assíncrona com a criação da resposta, portanto, esse evento pode ocorrer 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 o whisper-1
. Portanto, 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser conversation.item.input_audio_transcription.completed . |
item_id | string | O ID do item de mensagem do usuário que contém o áudio. |
content_index | Número inteiro | O índice da parte do conteúdo que contém o áudio. |
transcript | string | O texto transcrito. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed
O evento conversation.item.input_audio_transcription.failed
do servidor é retornado quando a transcrição de áudio de entrada é configurada e uma solicitação de transcrição para uma mensagem do usuário falhou. Esses eventos são separados de outros eventos error
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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser conversation.item.input_audio_transcription.failed . |
item_id | string | O ID do item de mensagem do usuário. |
content_index | Número inteiro | O índice da parte do conteúdo que contém o áudio. |
error | objeto | Detalhes do erro de transcrição. Consulte as propriedades aninhadas na próxima tabela. |
Propriedades de erro
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de erro. |
código | 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 conversation.item.truncated
do servidor é retornado quando o cliente trunca um item de mensagem de áudio do assistente anterior com um evento conversation.item.truncate
. Esse evento é usado para sincronizar a compreensão do áudio pelo servidor com a reprodução do cliente.
Essa evento trunca o áudio e remove a transcrição do 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser conversation.item.truncated . |
item_id | string | O ID do item de mensagem do assistente que foi truncado. |
content_index | Número inteiro | O índice da parte do conteúdo que foi truncada. |
audio_end_ms | Número inteiro | A duração até a qual o áudio foi truncado, em milissegundos. |
RealtimeServerEventError
O evento error
do servidor é retornado quando ocorre um erro, que pode ser um problema do cliente ou do servidor. A maioria dos erros são recuperáveis e a sessão permanece aberta.
Estrutura do evento
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser error . |
error | objeto | Detalhes do erro. Consulte as propriedades aninhadas na próxima tabela. |
Propriedades de erro
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de erro. Por exemplo, "invalid_request_error" e "server_error" são tipos de erro. |
código | 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 | O ID do evento do cliente que causou o erro, se aplicável. |
RealtimeServerEventInputAudioBufferCleared
O evento input_audio_buffer.cleared
do servidor é retornado quando o cliente limpa o buffer de áudio de entrada com um evento input_audio_buffer.clear
.
Estrutura do evento
{
"type": "input_audio_buffer.cleared"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser input_audio_buffer.cleared . |
RealtimeServerEventInputAudioBufferCommitted
O evento input_audio_buffer.committed
do servidor é retornado quando um buffer de áudio de entrada é confirmado, pelo cliente ou automaticamente no modo VAD do servidor. A propriedade item_id
é o ID do item de mensagem do usuário criado. Assim, um evento conversation.item.created
também é enviado ao cliente.
Estrutura do evento
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser input_audio_buffer.committed . |
previous_item_id | string | O ID do item anterior após o qual o novo item é inserido. |
item_id | string | O ID do item de mensagem do usuário criado. |
RealtimeServerEventInputAudioBufferSpeechStarted
O evento input_audio_buffer.speech_started
do servidor é retornado no modo server_vad
quando uma fala é detectada no buffer de áudio. Esse evento pode ocorrer sempre que áudio for adicionado ao buffer (a menos que a fala já tenha sido detectada).
Observação
O cliente pode usar esse evento para interromper a reprodução de áudio ou fornecer feedback visual ao usuário.
O cliente deve esperar receber um evento input_audio_buffer.speech_stopped
quando a fala parar. A propriedade item_id
é a ID do item de mensagem do usuário criado quando a fala é interrompida. O item_id
também é incluído no evento input_audio_buffer.speech_stopped
, a 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser input_audio_buffer.speech_started . |
audio_start_ms | Número inteiro | Milissegundos desde o início de todo o áudio gravado no buffer durante a sessão quando a fala foi detectada pela primeira vez. Essa propriedade corresponde ao início do áudio enviado ao modelo e, portanto, inclui o prefix_padding_ms configurado na sessão. |
item_id | string | O ID do item de mensagem do usuário criado quando a fala é interrompida. |
RealtimeServerEventInputAudioBufferSpeechStopped
O evento input_audio_buffer.speech_stopped
do servidor é retornado no modo server_vad
quando o servidor detecta o fim da fala no buffer de áudio.
O servidor também envia um evento conversation.item.created
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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser input_audio_buffer.speech_stopped . |
audio_end_ms | Número inteiro | Milissegundos desde o início da sessão quando a fala parou. Essa propriedade corresponde ao final do áudio enviado ao modelo e, portanto, inclui o min_silence_duration_ms configurado na sessão. |
item_id | string | O ID do item de mensagem do usuário criado. |
RealtimeServerEventRateLimitsUpdated
O evento rate_limits.updated
do servidor é 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 taxa mostrados aqui refletem essa reserva, que é ajustada de acordo quando a resposta é concluída.
Estrutura do evento
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser rate_limits.updated . |
rate_limits | matriz deRealtimeServerEventRateLimitsUpdatedRateLimitsItem | A lista de informações sobre limites de taxa. |
RealtimeServerEventResponseAudioDelta
O evento response.audio.delta
do servidor é 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.audio.delta . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item. |
output_index | Número inteiro | O índice do item de saída na resposta. |
content_index | Número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
delta | string | Delta de dados de áudio Base64-encoded. |
RealtimeServerEventResponseAudioDone
O evento response.audio.done
do servidor é 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.audio.done . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item. |
output_index | Número inteiro | O índice do item de saída na resposta. |
content_index | Número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
RealtimeServerEventResponseAudioTranscriptDelta
O evento response.audio_transcript.delta
do servidor é 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.audio_transcript.delta . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item. |
output_index | Número inteiro | O índice do item de saída na resposta. |
content_index | Número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
delta | string | A transcrição delta. |
RealtimeServerEventResponseAudioTranscriptDone
O evento response.audio_transcript.done
do servidor é retornado quando o streaming da transcrição gerada pelo modelo da saída de áudio é concluído.
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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.audio_transcript.done . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item. |
output_index | Número inteiro | O índice do item de saída na resposta. |
content_index | Número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
transcript | string | A transcrição final do áudio. |
RealtimeServerEventResponseContentPartAdded
O evento response.content_part.added
do servidor é retornado quando uma nova parte de conteúdo é adicionada a um item de mensagem do 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.content_part.added . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item ao qual a parte do conteúdo foi adicionada. |
output_index | Número inteiro | O índice do item de saída na resposta. |
content_index | Número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
part | RealtimeContentPart | A parte de conteúdo que foi adicionada. |
Propriedades de parte
Campo | Type | Descrição |
---|---|---|
tipo | RealtimeContentPartType |
RealtimeServerEventResponseContentPartDone
O evento response.content_part.done
do servidor é retornado quando uma parte do conteúdo conclui o streaming de um item de mensagem do 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.content_part.done . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item. |
output_index | Número inteiro | O índice do item de saída na resposta. |
content_index | Número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
part | RealtimeContentPart | A parte do conteúdo que está pronta. |
Propriedades de parte
Campo | Type | Descrição |
---|---|---|
tipo | RealtimeContentPartType |
RealtimeServerEventResponseCreated
O evento response.created
do servidor é retornado quando uma nova resposta é criada. Esse é 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.created . |
response | RealtimeResponse | O objeto de resposta. |
RealtimeServerEventResponseDone
O evento response.done
do servidor é retornado quando o streaming de uma resposta é concluído. Esse evento sempre é emitido, independentemente do estado final. O objeto de resposta incluído no evento response.done
inclui todos os itens de saída na resposta, mas omite os dados de áudio brutos.
Estrutura do evento
{
"type": "response.done"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.done . |
response | RealtimeResponse | O objeto de resposta. |
RealtimeServerEventResponseFunctionCallArgumentsDelta
O evento response.function_call_arguments.delta
do servidor é 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.function_call_arguments.delta . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item de chamada de função. |
output_index | Número inteiro | 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 response.function_call_arguments.done
do servidor é retornado quando o streaming dos argumentos de chamada de função gerados pelo modelo é concluído.
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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.function_call_arguments.done . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item de chamada de função. |
output_index | Número inteiro | O índice do item de saída na resposta. |
call_id | string | O ID da chamada de função. |
arguments | string | Os argumentos finais como uma cadeia de caracteres JSON. |
RealtimeServerEventResponseOutputItemAdded
O evento response.output_item.added
do servidor é 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.output_item.added . |
response_id | string | O ID da resposta à qual o item pertence. |
output_index | Número inteiro | O índice do item de saída na resposta. |
item | RealtimeConversationResponseItem | O item que foi adicionado. |
RealtimeServerEventResponseOutputItemDone
O evento response.output_item.done
do servidor é retornado quando o streaming de um item é concluído.
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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.output_item.done . |
response_id | string | O ID da resposta à qual o item pertence. |
output_index | Número inteiro | O índice do item de saída na resposta. |
item | RealtimeConversationResponseItem | O item cujo streaming foi concluído. |
RealtimeServerEventResponseTextDelta
O evento response.text.delta
do servidor é retornado quando o texto gerado pelo modelo é atualizado. O texto corresponde à parte de conteúdo text
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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.text.delta . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item. |
output_index | Número inteiro | O índice do item de saída na resposta. |
content_index | Número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
delta | string | O texto delta. |
RealtimeServerEventResponseTextDone
O evento response.text.done
do servidor é retornado quando o streaming do texto gerado pelo modelo é concluído. O texto corresponde à parte de conteúdo text
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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser response.text.done . |
response_id | string | O ID da resposta. |
item_id | string | O ID do item. |
output_index | Número inteiro | O índice do item de saída na resposta. |
content_index | Número inteiro | O índice da parte de conteúdo na matriz de conteúdo do item. |
text | string | O conteúdo final do texto. |
RealtimeServerEventSessionCreated
O evento session.created
do servidor é 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 | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser session.created . |
seção | RealtimeResponseSession | O objeto de sessão. |
RealtimeServerEventSessionUpdated
O evento session.updated
do servidor é retornado quando uma sessão é atualizada pelo cliente. Se houver um erro, o servidor enviará um evento error
.
Estrutura do evento
{
"type": "session.updated"
}
Propriedades
Campo | Type | Descrição |
---|---|---|
type | string | O tipo de evento deve ser session.updated . |
seção | RealtimeResponseSession | O objeto de sessão. |
Componentes
RealtimeAudioFormat
Valores Permitidos:
pcm16
g711_ulaw
g711_alaw
RealtimeAudioInputTranscriptionModel
Valores Permitidos:
whisper-1
RealtimeAudioInputTranscriptionSettings
Campo | Type | Descrição |
---|---|---|
modelo | RealtimeAudioInputTranscriptionModel | Atualmente, o modelo whisper-1 padrão é o único modelo com suporte para transcrição de entrada de áudio. |
RealtimeClientEvent
Campo | Type | Descrição |
---|---|---|
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 | Type | Descrição |
---|---|---|
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 | Type | Descrição |
---|---|---|
tipo | RealtimeItemType | O tipo do item. |
ID | string | A ID exclusiva do item. |
RealtimeConversationResponseItem
Campo | Type | Descrição |
---|---|---|
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. Essa propriedade é anulável. |
RealtimeFunctionTool
A definição de uma ferramenta de função conforme usada pelo ponto de extremidade em tempo real.
Campo | Type | Descrição |
---|---|---|
type | string | O tipo da ferramenta. Valores permitidos: function |
name | 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 | Type | Descrição |
---|---|---|
função | string | A função da mensagem. Valores permitidos: assistant |
content | matriz de RealtimeRequestTextContentPart | O conteúdo da mensagem. |
RealtimeRequestAudioContentPart
Campo | Type | Descrição |
---|---|---|
type | string | O tipo da parte de conteúdo. Valores permitidos: input_audio |
transcript | string | A transcrição do áudio. |
RealtimeRequestFunctionCallItem
Campo | Type | Descrição |
---|---|---|
type | string | O tipo do item. Valores permitidos: function_call |
name | string | A ID do item de chamada de função. |
call_id | string | O ID do item de chamada de função. |
arguments | string | Os argumentos do item de chamada de função. |
status | RealtimeItemStatus | O status do item. |
RealtimeRequestFunctionCallOutputItem
Campo | Type | Descrição |
---|---|---|
type | string | O tipo do item. Valores permitidos: function_call_output |
call_id | string | O ID do item de chamada de função. |
output | string | A saída do item de chamada de função. |
RealtimeRequestMessageItem
Campo | Type | Descrição |
---|---|---|
type | string | O tipo do item. Valores permitidos: message |
função | RealtimeMessageRole | A função da mensagem. |
status | RealtimeItemStatus | O status do item. |
RealtimeRequestMessageReferenceItem
Campo | Type | Descrição |
---|---|---|
type | string | O tipo do item. Valores permitidos: message |
ID | string | A ID do item de mensagem. |
RealtimeRequestSession
Campo | Type | Descrição |
---|---|---|
modalidades | matriz | As modalidades compatíveis com a sessão. Valores permitidos: text e audio Por exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para habilitar apenas o texto, defina "modalities": ["text"] . Você não pode habilitar 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 algumas instruções de exemplo 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 algumas instruções de exemplo para ajudar a orientar o comportamento de áudio: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Embora o modelo nem sempre siga estas instruções, eles fornecem diretrizes sobre o comportamento desejado. |
voice | RealtimeVoice | A voz usada para a resposta do modelo para a sessão. Depois 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 do áudio de entrada. |
output_audio_format | RealtimeAudioFormat | O formato do áudio de saída. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | As configurações de transcrição de entrada de áudio. Essa propriedade é anulável. |
turn_detection | RealtimeTurnDetection | As configurações de detecção de turno para a sessão. Essa propriedade é anulável. |
manuais | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
tool_choice | RealtimeToolChoice | A opção de ferramenta para a sessão. |
temperatura | número | A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a [0,6, 1,2]. O valor padrão é 0,8. |
max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída para uma única 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" .Assume o padrão de "inf" . |
RealtimeRequestSystemMessageItem
Campo | Type | Descrição |
---|---|---|
função | string | A função da mensagem. Valores permitidos: system |
content | matriz de RealtimeRequestTextContentPart | O conteúdo da mensagem. |
RealtimeRequestTextContentPart
Campo | Type | Descrição |
---|---|---|
type | string | O tipo da parte de conteúdo. Valores permitidos: input_text |
text | string | O conteúdo do texto. |
RealtimeRequestUserMessageItem
Campo | Type | Descrição |
---|---|---|
função | string | A função da mensagem. Valores permitidos: user |
content | matriz de RealtimeRequestTextContentPart ou RealtimeRequestAudioContentPart | O conteúdo da mensagem. |
RealtimeResponse
Campo | Type | Descrição |
---|---|---|
objeto | string | O objeto de resposta. Valores permitidos: realtime.response |
ID | string | A ID exclusiva 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. Essa propriedade é anulável. |
output | matriz de RealtimeConversationResponseItem | Os itens de saída da resposta. |
uso | objeto | Estatísticas de uso 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. Veja as propriedades aninhadas a seguir. |
total_tokens | Número inteiro | O número total de tokens na resposta, incluindo tokens de texto e áudio de entrada e saída. Uma propriedade do objeto usage . |
+ input_tokens | Número inteiro | O número de tokens de entrada usados na resposta, incluindo tokens de texto e áudio. Uma propriedade do objeto usage . |
+ output_tokens | Número inteiro | O número de tokens de saída enviados na resposta, incluindo tokens de texto e áudio. Uma propriedade do objeto usage . |
+ input_token_details | objeto | Detalhes sobre os tokens de entrada usados na resposta. Uma propriedade do objeto usage .br> Veja as propriedades aninhadas a seguir. |
+ cached_tokens | Número inteiro | O número de tokens armazenados em cache usados na resposta. Uma propriedade do objeto input_token_details . |
+ text_tokens | Número inteiro | O número de tokens de texto usados na resposta. Uma propriedade do objeto input_token_details . |
+ audio_tokens | Número inteiro | O número de tokens de áudio usados na resposta. Uma propriedade do objeto input_token_details . |
+ output_token_details | objeto | Detalhes sobre os tokens de saída usados na resposta. Uma propriedade do objeto usage .Veja as propriedades aninhadas a seguir. |
+ text_tokens | Número inteiro | O número de tokens de texto usados na resposta. Uma propriedade do objeto output_token_details . |
+ audio_tokens | Número inteiro | O número de tokens de áudio usados na resposta. Uma propriedade do objeto output_token_details . |
RealtimeResponseAudioContentPart
Campo | Type | Descrição |
---|---|---|
type | string | O tipo da parte de conteúdo. Valores permitidos: audio |
transcript | string | A transcrição do áudio. Essa propriedade é anulável. |
RealtimeResponseBase
O recurso de resposta.
RealtimeResponseFunctionCallItem
Campo | Type | Descrição |
---|---|---|
type | string | O tipo do item. Valores permitidos: function_call |
name | string | A ID do item de chamada de função. |
call_id | string | O ID do item de chamada de função. |
arguments | string | Os argumentos do item de chamada de função. |
status | RealtimeItemStatus | O status do item. |
RealtimeResponseFunctionCallOutputItem
Campo | Type | Descrição |
---|---|---|
type | string | O tipo do item. Valores permitidos: function_call_output |
call_id | string | O ID do item de chamada de função. |
output | string | A saída do item de chamada de função. |
RealtimeResponseMessageItem
Campo | Type | Descrição |
---|---|---|
type | string | O tipo do item. Valores permitidos: message |
função | RealtimeMessageRole | A função da mensagem. |
content | matriz | O conteúdo da mensagem. Itens de matriz: RealtimeResponseTextContentPart |
status | RealtimeItemStatus | O status do item. |
RealtimeResponseOptions
Campo | Type | Descrição |
---|---|---|
modalidades | matriz | As modalidades compatíveis com a sessão. Valores permitidos: text e audio Por exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para habilitar apenas o texto, defina "modalities": ["text"] . Você não pode habilitar 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 algumas instruções de exemplo 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 algumas instruções de exemplo para ajudar a orientar o comportamento de áudio: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Embora o modelo nem sempre siga estas instruções, eles fornecem diretrizes sobre o comportamento desejado. |
voice | RealtimeVoice | A voz usada para a resposta do modelo para a sessão. Depois 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 do áudio de saída. |
manuais | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
tool_choice | RealtimeToolChoice | A opção de ferramenta para a sessão. |
temperatura | número | A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a [0,6, 1,2]. O valor padrão é 0,8. |
max__output_tokens | inteiro ou "inf" | O número máximo de tokens de saída para uma única 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" .Assume o padrão de "inf" . |
RealtimeResponseSession
Campo | Type | Descrição |
---|---|---|
objeto | string | O objeto de sessão. Valores permitidos: realtime.session |
ID | string | A ID exclusiva da sessão. |
modelo | string | O modelo usado para a sessão. |
modalidades | matriz | As modalidades compatíveis com a sessão. Valores permitidos: text e audio Por exemplo, "modalities": ["text", "audio"] é a configuração padrão que habilita as modalidades de texto e áudio. Para habilitar apenas o texto, defina "modalities": ["text"] . Você não pode habilitar 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 algumas instruções de exemplo 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 algumas instruções de exemplo para ajudar a orientar o comportamento de áudio: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Embora o modelo nem sempre siga estas instruções, eles fornecem diretrizes sobre o comportamento desejado. |
voice | RealtimeVoice | A voz usada para a resposta do modelo para a sessão. Depois 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 do áudio de entrada. |
output_audio_format | RealtimeAudioFormat | O formato do áudio de saída. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | As configurações de transcrição de entrada de áudio. Essa propriedade é anulável. |
turn_detection | RealtimeTurnDetection | As configurações de detecção de turno para a sessão. Essa propriedade é anulável. |
manuais | matriz de RealtimeTool | As ferramentas disponíveis para o modelo para a sessão. |
tool_choice | RealtimeToolChoice | A opção de ferramenta para a sessão. |
temperatura | número | A temperatura de amostragem do modelo. Os valores de temperatura permitidos são limitados a [0,6, 1,2]. O valor padrão é 0,8. |
max_response_output_tokens | inteiro ou "inf" | O número máximo de tokens de saída para uma única 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 | Type | Descrição |
---|---|---|
tipo | RealtimeResponseStatus | O status da resposta. |
RealtimeResponseTextContentPart
Campo | Type | Descrição |
---|---|---|
type | string | O tipo da parte de conteúdo. Valores permitidos: text |
text | string | O conteúdo do texto. |
RealtimeServerEvent
Campo | Type | Descrição |
---|---|---|
tipo | RealtimeServerEventType | O tipo do evento do servidor. |
event_id | string | A ID exclusiva do evento. |
RealtimeServerEventRateLimitsUpdatedRateLimitsItem
Campo | Type | Descrição |
---|---|---|
name | string | O nome da propriedade de limite de taxa sobre a qual esse item inclui informações. |
limite | Número inteiro | O limite máximo configurado para essa propriedade de limite de taxa. |
restante | Número inteiro | 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 | Type | Descrição |
---|---|---|
type | string | O tipo de detecção de turno. Valores permitidos: server_vad |
threshold | número | O limite de ativação para a detecção de turno do 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. Assume o padrão de 0.5 . Você pode definir o limite como um valor entre 0.0 e 1.0 . |
prefix_padding_ms | string | A duração do áudio de fala (em milissegundos) a ser incluída antes do início da fala detectada. Assume o padrão de 300 . |
silence_duration_ms | string | A duração do silêncio (em milissegundos) para detectar o fim da fala. Você deseja detectar o fim da fala o mais rápido possível, mas não muito cedo para evitar cortar a última parte da fala. O modelo responderá mais rapidamente se você definir esse valor como um número menor, mas isso poderá cortar a última parte da fala. Se você definir esse valor como um número mais alto, o modelo aguardará mais tempo para detectar 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 | Type | Descrição |
---|---|---|
tipo | RealtimeToolType | O tipo da ferramenta. |
RealtimeToolChoice
O conjunto combinado de representações disponíveis para um parâmetro tool_choice em tempo real, abrangendo opções de literais de cadeia de caracteres como 'auto' e referências estruturadas para ferramentas definidas.
RealtimeToolChoiceFunctionObject
A representação de uma escolha de ferramenta em tempo real selecionando uma ferramenta de função nomeada.
Campo | Type | Descrição |
---|---|---|
type | string | O tipo do tool_choice. Valores permitidos: function |
função | objeto | A ferramenta de função a ser selecionada. Veja as propriedades aninhadas a seguir. |
+ nome | string | O nome da ferramenta de função. Uma propriedade do objeto function . |
RealtimeToolChoiceLiteral
O conjunto disponível de opções de literal de cadeia de caracteres tool_choice em nível de modo para o ponto de extremidade em tempo real.
Valores Permitidos:
auto
none
required
RealtimeToolChoiceObject
Uma representação base para uma escolha de ferramenta em tempo real selecionando uma ferramenta nomeada.
Campo | Type | Descrição |
---|---|---|
tipo | RealtimeToolType | O tipo do 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 | Type | Descrição |
---|---|---|
tipo | RealtimeTurnDetectionType | O tipo de detecção de turno. Valores permitidos: server_vad |
RealtimeTurnDetectionType
Valores Permitidos:
server_vad
RealtimeVoice
Valores Permitidos:
alloy
shimmer
echo
Conteúdo relacionado
- Comece com o início rápido da API em tempo real.
- Saiba mais sobre Como usar a API em tempo real.