Condividi tramite


Informazioni di riferimento sulle API in tempo reale (anteprima)

Nota

Questa funzionalità è attualmente in anteprima pubblica. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.

L'API Realtime è un'API basata su WebSocket che consente di interagire con il servizio OpenAI di Azure in tempo reale.

L'API Realtime (tramite /realtime) è basata sull'API WebSocket per facilitare la comunicazione di streaming completamente asincrona tra l'utente finale e il modello. I dettagli del dispositivo, ad esempio l'acquisizione e il rendering dei dati audio, non rientrano nell'ambito dell'API Realtime. Deve essere usato nel contesto di un servizio intermedio attendibile che gestisce entrambe le connessioni agli utenti finali e alle connessioni endpoint del modello. Non usarlo direttamente dai dispositivi degli utenti finali non attendibili.

Suggerimento

Per iniziare a usare l'API Realtime, vedere la guida introduttiva e la guida pratica.

Connessione

L'API Realtime richiede un endpoint di risorsa OpenAI di Azure esistente in un'area supportata. L'API è accessibile tramite una connessione WebSocket sicura all'endpoint /realtime della risorsa OpenAI di Azure.

È possibile costruire un URI di richiesta completo concatenando:

  • Protocollo WebSocket (wss://) sicuro
  • Nome host dell'endpoint della risorsa OpenAI di Azure, ad esempio my-aoai-resource.openai.azure.com
  • Percorso DELL'API openai/realtime
  • Parametro api-version della stringa di query per una versione dell'API supportata, ad esempio 2024-10-01-preview
  • Parametro deployment della stringa di query con il nome della distribuzione del gpt-4o-realtime-preview modello

L'esempio seguente è un URI di richiesta ben costruito /realtime :

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

Autenticazione

Per eseguire l'autenticazione:

  • Microsoft Entra (scelta consigliata): usare l'autenticazione basata su token con l'API per una risorsa del servizio OpenAI di Azure con l'identità /realtime gestita abilitata. Applicare un token di autenticazione recuperato usando un Bearer token con l'intestazione Authorization .
  • Chiave API: api-key un oggetto può essere fornito in uno dei due modi seguenti:
    • Utilizzo di un'intestazione api-key di connessione nella connessione prehandshake. Questa opzione non è disponibile in un ambiente browser.
    • Uso di un api-key parametro della stringa di query nell'URI della richiesta. I parametri della stringa di query vengono crittografati quando si usa https/wss.

Eventi client

Esistono nove eventi client che possono essere inviati dal client al server:

Evento Descrizione
RealtimeClientEventConversationItemCreate Inviare questo evento client quando si aggiunge un elemento alla conversazione.
RealtimeClientEventConversationItemDelete Invia questo evento client quando vuoi rimuovere qualsiasi elemento dalla cronologia delle conversazioni.
RealtimeClientEventConversationItemTruncate Invia questo evento client quando vuoi troncare l'audio di un messaggio assistente precedente.
RealtimeClientEventInputAudioBufferAppend Inviare questo evento client per aggiungere byte audio al buffer audio di input.
RealtimeClientEventInputAudioBufferClear Invia questo evento client per cancellare i byte audio nel buffer.
RealtimeClientEventInputAudioBufferCommit Inviare questo evento client per eseguire il commit dei byte audio in un messaggio utente.
RealtimeClientEventResponseCancel Inviare questo evento client per annullare una risposta in corso.
RealtimeClientEventResponseCreate Inviare questo evento client per attivare una generazione di risposta.
RealtimeClientEventSessionUpdate Inviare questo evento client per aggiornare la configurazione predefinita della sessione.

RealtimeClientEventConversationItemCreate

L'evento client conversation.item.create viene usato per aggiungere un nuovo elemento al contesto della conversazione, inclusi messaggi, chiamate di funzione e risposte alle chiamate di funzione. Questo evento può essere usato per popolare una cronologia della conversazione e per aggiungere nuovi elementi a metà flusso. Attualmente questo evento non può popolare i messaggi audio dell'assistente.

In caso di esito positivo, il server risponde con un conversation.item.created evento; in caso contrario, viene inviato un error evento.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere conversation.item.create.
previous_item_id string ID dell'elemento precedente dopo il quale viene inserito il nuovo elemento. Se non impostato, il nuovo elemento viene aggiunto alla fine della conversazione. Se impostata, consente l'inserimento di un elemento a metà conversazione. Se l'ID non viene trovato, viene restituito un errore e l'elemento non viene aggiunto.
oggetto RealtimeConversationRequestItem Elemento da aggiungere alla conversazione.

RealtimeClientEventConversationItemDelete

L'evento client conversation.item.delete viene usato per rimuovere un elemento dalla cronologia delle conversazioni.

Il server risponde con un conversation.item.deleted evento, a meno che l'elemento non esista nella cronologia delle conversazioni, nel qual caso il server risponde con un errore.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere conversation.item.delete.
item_id string ID dell'elemento da eliminare.

RealtimeClientEventConversationItemTruncate

L'evento client conversation.item.truncate viene usato per troncare l'audio di un messaggio assistente precedente. Il server produce audio più velocemente rispetto al tempo reale, quindi questo evento è utile quando l'utente interrompe il troncamento dell'audio inviato al client ma non ancora riprodotto. La comprensione dell'audio con la riproduzione del client viene sincronizzata.

Il troncamento dell'audio elimina la trascrizione del testo sul lato server per assicurarsi che nel contesto non sia presente testo che l'utente non conosce.

Se l'evento client ha esito positivo, il server risponde con un conversation.item.truncated evento.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere conversation.item.truncate.
item_id string ID dell'elemento del messaggio dell'assistente da troncare. È possibile troncare solo gli elementi del messaggio dell'assistente.
content_index integer Indice della parte di contenuto da troncare. Impostare questa proprietà su "0".
audio_end_ms integer Durata inclusiva fino al quale l'audio viene troncato, in millisecondi. Se il audio_end_ms è maggiore della durata audio effettiva, il server risponde con un errore.

RealtimeClientEventInputAudioBufferAppend

L'evento client input_audio_buffer.append viene usato per aggiungere byte audio al buffer audio di input. Il buffer audio è un archivio temporaneo in cui è possibile scrivere e successivamente eseguire il commit.

In modalità VaD server (rilevamento attività vocali) il buffer audio viene usato per rilevare la voce e il server decide quando eseguire il commit. Quando il VAD del server è disabilitato, il client può scegliere la quantità di audio da inserire in ogni evento fino a un massimo di 15 MiB. Ad esempio, lo streaming di blocchi più piccoli dal client può consentire al VAD di essere più reattivo.

A differenza di altri eventi client, il server non invia una risposta di conferma all'evento client input_audio_buffer.append .

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere input_audio_buffer.append.
audio string Byte audio con codifica Base64. Questo valore deve essere nel formato specificato dal input_audio_format campo nella configurazione della sessione.

RealtimeClientEventInputAudioBufferClear

L'evento client input_audio_buffer.clear viene usato per cancellare i byte audio nel buffer.

Il server risponde con un input_audio_buffer.cleared evento.

Struttura dell'evento

{
  "type": "input_audio_buffer.clear"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere input_audio_buffer.clear.

RealtimeClientEventInputAudioBufferCommit

L'evento client input_audio_buffer.commit viene usato per eseguire il commit del buffer audio di input dell'utente, che crea un nuovo elemento del messaggio utente nella conversazione. L'audio viene trascritto se input_audio_transcription è configurato per la sessione.

Quando si usa la modalità VAD del server, il client non deve inviare questo evento, il server esegue automaticamente il commit del buffer audio. Senza VAD server, il client deve eseguire il commit del buffer audio per creare un elemento di messaggio utente. Questo evento client genera un errore se il buffer audio di input è vuoto.

Il commit del buffer audio di input non crea una risposta dal modello.

Il server risponde con un input_audio_buffer.committed evento.

Struttura dell'evento

{
  "type": "input_audio_buffer.commit"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere input_audio_buffer.commit.

RealtimeClientEventResponseCancel

L'evento client response.cancel viene usato per annullare una risposta in corso.

Il server risponde con un response.cancelled evento o un errore se non è presente alcuna risposta all'annullamento.

Struttura dell'evento

{
  "type": "response.cancel"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.cancel.

RealtimeClientEventResponseCreate

L'evento client response.create viene usato per indicare al server di creare una risposta tramite l'inferenza del modello. Quando la sessione è configurata in modalità VAD server, il server crea automaticamente le risposte.

Una risposta include almeno un itemoggetto e può avere due, nel qual caso il secondo è una chiamata di funzione. Questi elementi vengono aggiunti alla cronologia delle conversazioni.

Il server risponde con un response.created evento, uno o più eventi di contenuto e elementi ,ad esempio conversation.item.created e response.content_part.added, e infine un response.done evento per indicare che la risposta è stata completata.

Nota

L'evento client response.create include la configurazione dell'inferenza, ad esempio instructions, e temperature. Questi campi possono eseguire l'override della configurazione della sessione solo per questa risposta.

Struttura dell'evento

{
  "type": "response.create"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.create.
Risposta RealtimeResponseOptions Opzioni di risposta.

RealtimeClientEventSessionUpdate

L'evento client session.update viene usato per aggiornare la configurazione predefinita della sessione. Il client può inviare questo evento in qualsiasi momento per aggiornare la configurazione della sessione e qualsiasi campo può essere aggiornato in qualsiasi momento, ad eccezione della voce.

Vengono aggiornati solo i campi presenti. Per cancellare un campo , ad esempio instructions, passare una stringa vuota.

Il server risponde con un session.updated evento che contiene la configurazione effettiva completa.

Struttura dell'evento

{
  "type": "session.update"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere session.update.
session RealtimeRequestSession Configurazione della sessione.

Eventi server

Dal server possono essere ricevuti 28 eventi del server:

Evento Descrizione
RealtimeServerEventConversationCreated Evento server quando viene creata una conversazione. Generato subito dopo la creazione della sessione.
RealtimeServerEventConversationItemCreated Evento server quando viene creato un elemento di conversazione.
RealtimeServerEventConversationItemDeleted Evento server quando viene eliminato un elemento nella conversazione.
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted Evento server quando la trascrizione audio di input è abilitata e una trascrizione ha esito positivo.
RealtimeServerEventConversationItemInputAudioTranscriptionFailed Evento server quando è configurata la trascrizione audio di input e una richiesta di trascrizione per un messaggio utente non è riuscita.
RealtimeServerEventConversationItemTruncated Evento server quando il client tronca un elemento audio assistente precedente.
RealtimeServerEventError Evento del server quando si verifica un errore.
RealtimeServerEventInputAudioBufferCleared Evento server quando il client cancella il buffer audio di input.
RealtimeServerEventInputAudioBufferCommitted Evento server quando viene eseguito il commit di un buffer audio di input, dal client o automaticamente in modalità VAD del server.
RealtimeServerEventInputAudioBufferSpeechStarted Evento del server in modalità di rilevamento dei turni del server quando viene rilevato il riconoscimento vocale.
RealtimeServerEventInputAudioBufferSpeechStopped Evento del server in modalità di rilevamento dei turni del server quando il riconoscimento vocale si arresta.
RealtimeServerEventRateLimitsUpdated Generato dopo ogni evento "response.done" per indicare i limiti di frequenza aggiornati.
RealtimeServerEventResponseAudioDelta Evento server quando viene aggiornato l'audio generato dal modello.
RealtimeServerEventResponseAudioDone Evento server quando viene eseguita l'audio generato dal modello. Generato anche quando una risposta viene interrotta, incompleta o annullata.
RealtimeServerEventResponseAudioTranscriptDelta Evento server quando viene aggiornata la trascrizione dell'output audio generata dal modello.
RealtimeServerEventResponseAudioTranscriptDone Evento server quando viene eseguita la trascrizione dell'output audio generata dal modello. Generato anche quando una risposta viene interrotta, incompleta o annullata.
RealtimeServerEventResponseContentPartAdded Evento server quando viene aggiunta una nuova parte di contenuto a un elemento del messaggio di assistente durante la generazione della risposta.
RealtimeServerEventResponseContentPartDone Evento server quando una parte del contenuto viene eseguita in streaming in un elemento di messaggio assistente. Generato anche quando una risposta viene interrotta, incompleta o annullata.
RealtimeServerEventResponseCreated Evento server quando viene creata una nuova risposta. Primo evento di creazione della risposta, in cui la risposta si trova in uno stato iniziale di "in_progress".
RealtimeServerEventResponseDone Evento del server quando viene eseguita la trasmissione di una risposta. Sempre emesso, indipendentemente dallo stato finale.
RealtimeServerEventResponseFunctionCallArgumentsDelta Evento server quando vengono aggiornati gli argomenti della chiamata di funzione generata dal modello.
RealtimeServerEventResponseFunctionCallArgumentsDone Evento server quando gli argomenti di chiamata di funzione generati dal modello vengono eseguiti in streaming. Generato anche quando una risposta viene interrotta, incompleta o annullata.
RealtimeServerEventResponseOutputItemAdded Evento server quando un nuovo elemento di output viene aggiunto a una risposta.
RealtimeServerEventResponseOutputItemDone Evento server quando viene eseguito lo streaming di un elemento di output. Generato anche quando una risposta viene interrotta, incompleta o annullata.
RealtimeServerEventResponseTextDelta Evento server quando viene aggiornato il testo generato dal modello.
RealtimeServerEventResponseTextDone Evento server al termine del testo generato dal modello. Generato anche quando una risposta viene interrotta, incompleta o annullata.
RealtimeServerEventSessionCreated Evento del server quando viene creata una sessione.
RealtimeServerEventSessionUpdated Evento server quando viene aggiornata una sessione.

RealtimeServerEventConversationCreated

L'evento server conversation.created viene restituito subito dopo la creazione della sessione. Viene creata una conversazione per sessione.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere conversation.created.
conversazione oggetto Risorsa di conversazione.

Proprietà della conversazione

Campo Tipo Descrizione
id string L'ID univoco della conversazione.
oggetto string Il tipo di oggetto deve essere realtime.conversation.

RealtimeServerEventConversationItemCreated

L'evento server conversation.item.created viene restituito quando viene creato un elemento di conversazione. Esistono diversi scenari che producono questo evento:

  • Il server genera una risposta, che se ha esito positivo produce uno o due elementi, ovvero di tipo message (ruolo assistant) o di tipo function_call.
  • Viene eseguito il commit del buffer audio di input, dal client o dal server (in server_vad modalità). Il server accetta il contenuto del buffer audio di input e lo aggiunge a un nuovo elemento del messaggio utente.
  • Il client ha inviato un conversation.item.create evento per aggiungere un nuovo elemento alla conversazione.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere conversation.item.created.
previous_item_id string L'ID dell'elemento precedente nel contesto della conversazione consente al client di comprendere l'ordine della conversazione.
oggetto RealtimeConversationResponseItem Elemento creato.

RealtimeServerEventConversationItemDeleted

L'evento server conversation.item.deleted viene restituito quando il client ha eliminato un elemento nella conversazione con un conversation.item.delete evento. Questo evento viene usato per sincronizzare la comprensione della cronologia delle conversazioni del server con la visualizzazione del client.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere conversation.item.deleted.
item_id string ID dell'elemento eliminato.

RealtimeServerEventConversationItemInputAudioTranscriptionCompleted

L'evento server conversation.item.input_audio_transcription.completed è il risultato della trascrizione audio per il parlato scritto nel buffer audio.

La trascrizione inizia quando viene eseguito il commit del buffer audio di input dal client o dal server (in server_vad modalità). La trascrizione viene eseguita in modo asincrono con la creazione della risposta, in modo che questo evento possa venire prima o dopo gli eventi di risposta.

I modelli API in tempo reale accettano l'audio in modo nativo e pertanto la trascrizione di input è un processo separato eseguito su un modello di riconoscimento vocale separato, attualmente sempre whisper-1. Pertanto, la trascrizione può divergere in qualche modo dall'interpretazione del modello e deve essere considerata una guida approssimativa.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere conversation.item.input_audio_transcription.completed.
item_id string ID dell'elemento del messaggio utente contenente l'audio.
content_index integer Indice della parte di contenuto contenente l'audio.
transcript string Testo trascritto.

RealtimeServerEventConversationItemInputAudioTranscriptionFailed

L'evento server conversation.item.input_audio_transcription.failed viene restituito quando è configurata la trascrizione audio di input e una richiesta di trascrizione per un messaggio utente non è riuscita. Questo evento è separato da altri error eventi in modo che il client possa identificare l'elemento correlato.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere conversation.item.input_audio_transcription.failed.
item_id string ID dell'elemento del messaggio utente.
content_index integer Indice della parte di contenuto contenente l'audio.
Errore oggetto Dettagli dell'errore di trascrizione.

Vedere le proprietà annidate nella tabella successiva.

Proprietà dell'errore

Campo Tipo Descrizione
type string Tipo di errore.
codice string Codice di errore, se disponibile.
messaggio string Messaggio di errore leggibile.
param string Parametro correlato all'errore, se presente.

RealtimeServerEventConversationItemTruncated

L'evento server conversation.item.truncated viene restituito quando il client tronca un elemento di messaggio audio assistente precedente con un conversation.item.truncate evento. Questo evento viene usato per sincronizzare la comprensione dell'audio del server con la riproduzione del client.

Questo evento tronca l'audio e rimuove la trascrizione del testo sul lato server per assicurarsi che non ci sia testo nel contesto che l'utente non conosce.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere conversation.item.truncated.
item_id string ID dell'elemento del messaggio dell'assistente troncato.
content_index integer Indice della parte di contenuto troncata.
audio_end_ms integer Durata fino alla quale l'audio è stato troncato, in millisecondi.

RealtimeServerEventError

L'evento server error viene restituito quando si verifica un errore, che potrebbe essere un problema del client o un problema del server. La maggior parte degli errori è recuperabile e la sessione rimane aperta.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere error.
Errore oggetto Dettagli dell'errore.

Vedere le proprietà annidate nella tabella successiva.

Proprietà dell'errore

Campo Tipo Descrizione
type string Tipo di errore. Ad esempio, "invalid_request_error" e "server_error" sono tipi di errore.
codice string Codice di errore, se disponibile.
messaggio string Messaggio di errore leggibile.
param string Parametro correlato all'errore, se presente.
event_id string ID dell'evento client che ha causato l'errore, se applicabile.

RealtimeServerEventInputAudioBufferCleared

L'evento server input_audio_buffer.cleared viene restituito quando il client cancella il buffer audio di input con un input_audio_buffer.clear evento.

Struttura dell'evento

{
  "type": "input_audio_buffer.cleared"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere input_audio_buffer.cleared.

RealtimeServerEventInputAudioBufferCommitted

L'evento server input_audio_buffer.committed viene restituito quando viene eseguito il commit di un buffer audio di input, dal client o automaticamente in modalità VAD del server. La item_id proprietà è l'ID dell'elemento del messaggio utente creato. conversation.item.created Un evento viene quindi inviato anche al client.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere input_audio_buffer.committed.
previous_item_id string ID dell'elemento precedente dopo il quale viene inserito il nuovo elemento.
item_id string ID dell'elemento del messaggio utente creato.

RealtimeServerEventInputAudioBufferSpeechStarted

L'evento server input_audio_buffer.speech_started viene restituito in server_vad modalità quando viene rilevato il riconoscimento vocale nel buffer audio. Questo evento può verificarsi ogni volta che l'audio viene aggiunto al buffer (a meno che il riconoscimento vocale non sia già stato rilevato).

Nota

Il client potrebbe voler usare questo evento per interrompere la riproduzione audio o fornire feedback visivo all'utente.

Il client dovrebbe aspettarsi di ricevere un input_audio_buffer.speech_stopped evento quando il riconoscimento vocale si arresta. La item_id proprietà è l'ID dell'elemento del messaggio utente creato all'arresto vocale. Viene item_id incluso anche nell'evento input_audio_buffer.speech_stopped , a meno che il client non esegua manualmente il commit del buffer audio durante l'attivazione di VAD.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere input_audio_buffer.speech_started.
audio_start_ms integer Millisecondi dall'inizio di tutto l'audio scritto nel buffer durante la sessione durante la prima volta che è stato rilevato il riconoscimento vocale. Questa proprietà corrisponde all'inizio dell'audio inviato al modello e include quindi l'oggetto prefix_padding_ms configurato nella sessione.
item_id string ID dell'elemento del messaggio utente creato all'arresto vocale.

RealtimeServerEventInputAudioBufferSpeechStopped

L'evento server input_audio_buffer.speech_stopped viene restituito in server_vad modalità quando il server rileva la fine della voce nel buffer audio.

Il server invia anche un conversation.item.created evento con l'elemento del messaggio utente creato dal buffer audio.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere input_audio_buffer.speech_stopped.
audio_end_ms integer Millisecondi dall'avvio della sessione all'arresto del parlato. Questa proprietà corrisponde alla fine dell'audio inviato al modello e include quindi l'oggetto min_silence_duration_ms configurato nella sessione.
item_id string ID dell'elemento del messaggio utente creato.

RealtimeServerEventRateLimitsUpdated

L'evento server rate_limits.updated viene generato all'inizio di una risposta per indicare i limiti di frequenza aggiornati.

Quando viene creata una risposta, alcuni token sono riservati per i token di output. I limiti di velocità indicati di seguito riflettono la prenotazione, che viene quindi modificata di conseguenza al termine della risposta.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere rate_limits.updated.
rate_limits matrice di RealtimeServerEventRateLimitsUpdatedRateLimitsItem Elenco di informazioni sul limite di velocità.

RealtimeServerEventResponseAudioDelta

L'evento server response.audio.delta viene restituito quando viene aggiornato l'audio generato dal modello.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.audio.delta.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
delta string Delta dei dati audio con codifica Base64.

RealtimeServerEventResponseAudioDone

L'evento server response.audio.done viene restituito al termine dell'audio generato dal modello.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.audio.done.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.

RealtimeServerEventResponseAudioTranscriptDelta

L'evento server response.audio_transcript.delta viene restituito quando viene aggiornata la trascrizione dell'output audio generata dal modello.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.audio_transcript.delta.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
delta string Delta della trascrizione.

RealtimeServerEventResponseAudioTranscriptDone

L'evento server response.audio_transcript.done viene restituito quando viene eseguita la trascrizione dell'output audio generata dal modello.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.audio_transcript.done.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
transcript string Trascrizione finale dell'audio.

RealtimeServerEventResponseContentPartAdded

L'evento server response.content_part.added viene restituito quando viene aggiunta una nuova parte di contenuto a un elemento del messaggio di assistente durante la generazione della risposta.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.content_part.added.
response_id string ID della risposta.
item_id string ID dell'elemento a cui è stata aggiunta la parte di contenuto.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
part RealtimeContentPart Parte del contenuto aggiunta.

Proprietà della parte

Campo Tipo Descrizione
type RealtimeContentPartType

RealtimeServerEventResponseContentPartDone

L'evento server response.content_part.done viene restituito quando una parte del contenuto viene eseguita in streaming in un elemento di messaggio assistente.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.content_part.done.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
part RealtimeContentPart Parte del contenuto eseguita.

Proprietà della parte

Campo Tipo Descrizione
type RealtimeContentPartType

RealtimeServerEventResponseCreated

L'evento server response.created viene restituito quando viene creata una nuova risposta. Si tratta del primo evento di creazione della risposta, in cui la risposta si trova in uno stato iniziale di in_progress.

Struttura dell'evento

{
  "type": "response.created"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.created.
Risposta RealtimeResponse Oggetto risposta.

RealtimeServerEventResponseDone

L'evento server response.done viene restituito quando viene eseguita una risposta in streaming. Questo evento viene sempre generato, indipendentemente dallo stato finale. L'oggetto risposta incluso nell'evento response.done include tutti gli elementi di output nella risposta, ma omette i dati audio non elaborati.

Struttura dell'evento

{
  "type": "response.done"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.done.
Risposta RealtimeResponse Oggetto risposta.

RealtimeServerEventResponseFunctionCallArgumentsDelta

L'evento server response.function_call_arguments.delta viene restituito quando gli argomenti della chiamata di funzione generati dal modello vengono aggiornati.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.function_call_arguments.delta.
response_id string ID della risposta.
item_id string ID dell'elemento di chiamata di funzione.
output_index integer Indice dell'elemento di output nella risposta.
call_id string ID della chiamata di funzione.
delta string Gli argomenti delta come stringa JSON.

RealtimeServerEventResponseFunctionCallArgumentsDone

L'evento server response.function_call_arguments.done viene restituito quando gli argomenti di chiamata di funzione generati dal modello vengono eseguiti in streaming.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.function_call_arguments.done.
response_id string ID della risposta.
item_id string ID dell'elemento di chiamata di funzione.
output_index integer Indice dell'elemento di output nella risposta.
call_id string ID della chiamata di funzione.
argomenti string Argomenti finali come stringa JSON.

RealtimeServerEventResponseOutputItemAdded

L'evento server response.output_item.added viene restituito quando viene creato un nuovo elemento durante la generazione della risposta.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.output_item.added.
response_id string ID della risposta a cui appartiene l'elemento.
output_index integer Indice dell'elemento di output nella risposta.
oggetto RealtimeConversationResponseItem Elemento aggiunto.

RealtimeServerEventResponseOutputItemDone

L'evento server response.output_item.done viene restituito al termine del flusso di un elemento.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.output_item.done.
response_id string ID della risposta a cui appartiene l'elemento.
output_index integer Indice dell'elemento di output nella risposta.
oggetto RealtimeConversationResponseItem Elemento completato in streaming.

RealtimeServerEventResponseTextDelta

L'evento server response.text.delta viene restituito quando viene aggiornato il testo generato dal modello. Il testo corrisponde alla text parte del contenuto di un elemento del messaggio di assistente.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.text.delta.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
delta string Delta del testo.

RealtimeServerEventResponseTextDone

L'evento server response.text.done viene restituito quando il testo generato dal modello viene eseguito in streaming. Il testo corrisponde alla text parte del contenuto di un elemento del messaggio di assistente.

Questo evento viene restituito anche quando una risposta viene interrotta, incompleta o annullata.

Struttura dell'evento

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

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere response.text.done.
response_id string ID della risposta.
item_id string ID dell'elemento.
output_index integer Indice dell'elemento di output nella risposta.
content_index integer Indice della parte di contenuto nella matrice di contenuto dell'elemento.
Testo string Contenuto del testo finale.

RealtimeServerEventSessionCreated

L'evento server session.created è il primo evento server quando si stabilisce una nuova connessione all'API Realtime. Questo evento crea e restituisce una nuova sessione con la configurazione di sessione predefinita.

Struttura dell'evento

{
  "type": "session.created"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere session.created.
session RealtimeResponseSession Oggetto sessione.

RealtimeServerEventSessionUpdated

L'evento server session.updated viene restituito quando una sessione viene aggiornata dal client. Se si verifica un errore, il server invia invece un error evento.

Struttura dell'evento

{
  "type": "session.updated"
}

Proprietà

Campo Tipo Descrizione
type string Il tipo di evento deve essere session.updated.
session RealtimeResponseSession Oggetto sessione.

Componenti

RealtimeAudioFormat

Valori consentiti:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

Valori consentiti:

  • whisper-1

RealtimeAudioInputTranscriptionSettings

Campo Tipo Descrizione
model RealtimeAudioInputTranscriptionModel Il modello predefinito whisper-1 è attualmente l'unico modello supportato per la trascrizione dell'input audio.

RealtimeClientEvent

Campo Tipo Descrizione
type RealtimeClientEventType Tipo dell'evento client.
event_id string ID univoco dell'evento.

RealtimeClientEventType

Valori consentiti:

  • 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 Descrizione
type RealtimeContentPartType Tipo della parte di contenuto.

RealtimeContentPartType

Valori consentiti:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

Elemento da aggiungere alla conversazione.

RealtimeConversationRequestItem

Campo Tipo Descrizione
type RealtimeItemType Tipo dell'elemento.
id string ID univoco dell'elemento.

RealtimeConversationResponseItem

Campo Tipo Descrizione
oggetto string Elemento della risposta della conversazione.

Valori consentiti: realtime.item
type RealtimeItemType Tipo dell'elemento.
id string ID univoco dell'elemento.

Questa proprietà è nullable.

RealtimeFunctionTool

Definizione di uno strumento di funzione usato dall'endpoint in tempo reale.

Campo Tipo Descrizione
type string Tipo dello strumento.

Valori consentiti: function
name string Nome della funzione.
description stringa Descrizione della funzione.
parameters oggetto Parametri della funzione.

RealtimeItemStatus

Valori consentiti:

  • in_progress
  • completed
  • incomplete

RealtimeItemType

Valori consentiti:

  • message
  • function_call
  • function_call_output

RealtimeMessageRole

Valori consentiti:

  • system
  • user
  • assistant

RealtimeRequestAssistantMessageItem

Campo Tipo Descrizione
ruolo string Ruolo del messaggio.

Valori consentiti: assistant
content matrice di RealtimeRequestTextContentPart Contenuto del messaggio.

RealtimeRequestAudioContentPart

Campo Tipo Descrizione
type string Tipo della parte di contenuto.

Valori consentiti: input_audio
transcript string Trascrizione dell'audio.

RealtimeRequestFunctionCallItem

Campo Tipo Descrizione
type string Tipo dell'elemento.

Valori consentiti: function_call
name string Nome dell'elemento di chiamata di funzione.
call_id string ID dell'elemento di chiamata di funzione.
argomenti string Argomenti dell'elemento di chiamata di funzione.
stato RealtimeItemStatus Lo stato dell'articolo.

RealtimeRequestFunctionCallOutputItem

Campo Tipo Descrizione
type string Tipo dell'elemento.

Valori consentiti: function_call_output
call_id string ID dell'elemento di chiamata di funzione.
output string Output dell'elemento di chiamata di funzione.

RealtimeRequestMessageItem

Campo Tipo Descrizione
type string Tipo dell'elemento.

Valori consentiti: message
ruolo RealtimeMessageRole Ruolo del messaggio.
stato RealtimeItemStatus Lo stato dell'articolo.

RealtimeRequestMessageReferenceItem

Campo Tipo Descrizione
type string Tipo dell'elemento.

Valori consentiti: message
id string L'ID dell'elemento del messaggio.

RealtimeRequestSession

Campo Tipo Descrizione
modalità array Modalità supportate dalla sessione.

Valori consentiti: text, audio

Ad esempio, "modalities": ["text", "audio"] è l'impostazione predefinita che abilita le modalità di testo e audio. Per abilitare solo il testo, impostare "modalities": ["text"]. Non è possibile abilitare solo l'audio.
istruzioni string Le istruzioni (messaggio di sistema) per guidare il testo e le risposte audio del modello.

Ecco alcune istruzioni di esempio per guidare il contenuto e il formato delle risposte di testo e audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Ecco alcune istruzioni di esempio per guidare il comportamento audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Anche se il modello potrebbe non seguire sempre queste istruzioni, forniscono indicazioni sul comportamento desiderato.
voice RealtimeVoice Voce usata per la risposta del modello per la sessione.

Una volta usata la voce nella sessione per la risposta audio del modello, non può essere modificata.
input_audio_format RealtimeAudioFormat Formato per l'audio di input.
output_audio_format RealtimeAudioFormat Formato per l'audio di output.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Impostazioni per la trascrizione dell'input audio.

Questa proprietà è nullable.
turn_detection RealtimeTurnDetection Impostazioni di rilevamento dei turni per la sessione.

Questa proprietà è nullable.
tools matrice di RealtimeTool Strumenti disponibili per il modello per la sessione.
tool_choice RealtimeToolChoice Scelta dello strumento per la sessione.
temperatura number Temperatura di campionamento per il modello. I valori di temperatura consentiti sono limitati a [0,6, 1,2]. Il valore predefinito è 0,8.
max_response_output_tokens integer o "inf" Numero massimo di token di output per risposta di assistente, inclusi le chiamate agli strumenti.

Specificare un numero intero compreso tra 1 e 4096 per limitare i token di output. In caso contrario, impostare il valore su "inf" per consentire il numero massimo di token.

Ad esempio, per limitare i token di output a 1000, impostare "max_response_output_tokens": 1000. Per consentire il numero massimo di token, impostare "max_response_output_tokens": "inf".

Il valore predefinito è "inf".

RealtimeRequestSystemMessageItem

Campo Tipo Descrizione
ruolo string Ruolo del messaggio.

Valori consentiti: system
content matrice di RealtimeRequestTextContentPart Contenuto del messaggio.

RealtimeRequestTextContentPart

Campo Tipo Descrizione
type string Tipo della parte di contenuto.

Valori consentiti: input_text
Testo string Contenuto di testo.

RealtimeRequestUserMessageItem

Campo Tipo Descrizione
ruolo string Ruolo del messaggio.

Valori consentiti: user
content matrice di RealtimeRequestTextContentPart o RealtimeRequestAudioContentPart Contenuto del messaggio.

RealtimeResponse

Campo Tipo Descrizione
oggetto string Oggetto risposta.

Valori consentiti: realtime.response
id string ID univoco della risposta.
stato RealtimeResponseStatus Stato della risposta.

Il valore di stato predefinito è in_progress.
status_details RealtimeResponseStatusDetails Dettagli dello stato della risposta.

Questa proprietà è nullable.
output matrice di RealtimeConversationResponseItem Elementi di output della risposta.
attivamente oggetto Statistiche di utilizzo per la risposta. Ogni sessione api realtime gestisce un contesto di conversazione e aggiunge nuovi elementi alla conversazione. L'output dei turni precedenti (token di testo e audio) è l'input per turni successivi.

Vedere le proprietà nidificate.
+ total_tokens integer Numero totale di token nella risposta, inclusi il testo di input e output e i token audio.

Proprietà dell'oggetto usage .
+ input_tokens integer Numero di token di input usati nella risposta, inclusi token di testo e audio.

Proprietà dell'oggetto usage .
+ output_tokens integer Numero di token di output inviati nella risposta, inclusi token di testo e audio.

Proprietà dell'oggetto usage .
+ input_token_details oggetto Dettagli sui token di input usati nella risposta.

Proprietà dell'oggetto usage .
Br>
Vedere le proprietà nidificate.
+ cached_tokens integer Numero di token memorizzati nella cache usati nella risposta.

Proprietà dell'oggetto input_token_details .
+ text_tokens integer Numero di token di testo usati nella risposta.

Proprietà dell'oggetto input_token_details .
+ audio_tokens integer Numero di token audio usati nella risposta.

Proprietà dell'oggetto input_token_details .
+ output_token_details oggetto Dettagli sui token di output usati nella risposta.

Proprietà dell'oggetto usage .

Vedere le proprietà nidificate.
+ text_tokens integer Numero di token di testo usati nella risposta.

Proprietà dell'oggetto output_token_details .
+ audio_tokens integer Numero di token audio usati nella risposta.

Proprietà dell'oggetto output_token_details .

RealtimeResponseAudioContentPart

Campo Tipo Descrizione
type string Tipo della parte di contenuto.

Valori consentiti: audio
transcript string Trascrizione dell'audio.

Questa proprietà è nullable.

RealtimeResponseBase

Risorsa di risposta.

RealtimeResponseFunctionCallItem

Campo Tipo Descrizione
type string Tipo dell'elemento.

Valori consentiti: function_call
name string Nome dell'elemento di chiamata di funzione.
call_id string ID dell'elemento di chiamata di funzione.
argomenti string Argomenti dell'elemento di chiamata di funzione.
stato RealtimeItemStatus Lo stato dell'articolo.

RealtimeResponseFunctionCallOutputItem

Campo Tipo Descrizione
type string Tipo dell'elemento.

Valori consentiti: function_call_output
call_id string ID dell'elemento di chiamata di funzione.
output string Output dell'elemento di chiamata di funzione.

RealtimeResponseMessageItem

Campo Tipo Descrizione
type string Tipo dell'elemento.

Valori consentiti: message
ruolo RealtimeMessageRole Ruolo del messaggio.
content array Contenuto del messaggio.

Elementi della matrice: RealtimeResponseTextContentPart
stato RealtimeItemStatus Lo stato dell'articolo.

RealtimeResponseOptions

Campo Tipo Descrizione
modalità array Modalità supportate dalla sessione.

Valori consentiti: text, audio

Ad esempio, "modalities": ["text", "audio"] è l'impostazione predefinita che abilita le modalità di testo e audio. Per abilitare solo il testo, impostare "modalities": ["text"]. Non è possibile abilitare solo l'audio.
istruzioni string Le istruzioni (messaggio di sistema) per guidare il testo e le risposte audio del modello.

Ecco alcune istruzioni di esempio per guidare il contenuto e il formato delle risposte di testo e audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Ecco alcune istruzioni di esempio per guidare il comportamento audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Anche se il modello potrebbe non seguire sempre queste istruzioni, forniscono indicazioni sul comportamento desiderato.
voice RealtimeVoice Voce usata per la risposta del modello per la sessione.

Una volta usata la voce nella sessione per la risposta audio del modello, non può essere modificata.
output_audio_format RealtimeAudioFormat Formato per l'audio di output.
tools matrice di RealtimeTool Strumenti disponibili per il modello per la sessione.
tool_choice RealtimeToolChoice Scelta dello strumento per la sessione.
temperatura number Temperatura di campionamento per il modello. I valori di temperatura consentiti sono limitati a [0,6, 1,2]. Il valore predefinito è 0,8.
max__output_tokens integer o "inf" Numero massimo di token di output per risposta di assistente, inclusi le chiamate agli strumenti.

Specificare un numero intero compreso tra 1 e 4096 per limitare i token di output. In caso contrario, impostare il valore su "inf" per consentire il numero massimo di token.

Ad esempio, per limitare i token di output a 1000, impostare "max_response_output_tokens": 1000. Per consentire il numero massimo di token, impostare "max_response_output_tokens": "inf".

Il valore predefinito è "inf".

RealtimeResponseSession

Campo Tipo Descrizione
oggetto string Oggetto sessione.

Valori consentiti: realtime.session
id string ID univoco della sessione.
modello string Modello utilizzato per la sessione.
modalità array Modalità supportate dalla sessione.

Valori consentiti: text, audio

Ad esempio, "modalities": ["text", "audio"] è l'impostazione predefinita che abilita le modalità di testo e audio. Per abilitare solo il testo, impostare "modalities": ["text"]. Non è possibile abilitare solo l'audio.
istruzioni string Le istruzioni (messaggio di sistema) per guidare il testo e le risposte audio del modello.

Ecco alcune istruzioni di esempio per guidare il contenuto e il formato delle risposte di testo e audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Ecco alcune istruzioni di esempio per guidare il comportamento audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Anche se il modello potrebbe non seguire sempre queste istruzioni, forniscono indicazioni sul comportamento desiderato.
voice RealtimeVoice Voce usata per la risposta del modello per la sessione.

Una volta usata la voce nella sessione per la risposta audio del modello, non può essere modificata.
input_audio_format RealtimeAudioFormat Formato per l'audio di input.
output_audio_format RealtimeAudioFormat Formato per l'audio di output.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Impostazioni per la trascrizione dell'input audio.

Questa proprietà è nullable.
turn_detection RealtimeTurnDetection Impostazioni di rilevamento dei turni per la sessione.

Questa proprietà è nullable.
tools matrice di RealtimeTool Strumenti disponibili per il modello per la sessione.
tool_choice RealtimeToolChoice Scelta dello strumento per la sessione.
temperatura number Temperatura di campionamento per il modello. I valori di temperatura consentiti sono limitati a [0,6, 1,2]. Il valore predefinito è 0,8.
max_response_output_tokens integer o "inf" Numero massimo di token di output per risposta di assistente, inclusi le chiamate agli strumenti.

Specificare un numero intero compreso tra 1 e 4096 per limitare i token di output. In caso contrario, impostare il valore su "inf" per consentire il numero massimo di token.

Ad esempio, per limitare i token di output a 1000, impostare "max_response_output_tokens": 1000. Per consentire il numero massimo di token, impostare "max_response_output_tokens": "inf".

RealtimeResponseStatus

Valori consentiti:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

RealtimeResponseStatusDetails

Campo Tipo Descrizione
type RealtimeResponseStatus Stato della risposta.

RealtimeResponseTextContentPart

Campo Tipo Descrizione
type string Tipo della parte di contenuto.

Valori consentiti: text
Testo string Contenuto di testo.

RealtimeServerEvent

Campo Tipo Descrizione
type RealtimeServerEventType Tipo dell'evento server.
event_id string ID univoco dell'evento.

RealtimeServerEventRateLimitsUpdatedRateLimitsItem

Campo Tipo Descrizione
name string Nome della proprietà limite di frequenza su cui questo elemento include informazioni.
limit integer Limite massimo configurato per questa proprietà limite di velocità.
rimanente integer Quota rimanente disponibile per il limite configurato per questa proprietà limite di velocità.
reset_seconds number Tempo rimanente, in secondi, fino a quando questa proprietà limite di velocità non viene reimpostata.

RealtimeServerEventType

Valori consentiti:

  • 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 Descrizione
type string Tipo di rilevamento dei turni.

Valori consentiti: server_vad
threshold number Soglia di attivazione per il rilevamento dei turni VAD del server. In ambienti rumorosi potrebbe essere necessario aumentare la soglia per evitare falsi positivi. In ambienti non attendibili, potrebbe essere necessario ridurre la soglia per evitare falsi negativi.

Il valore predefinito è 0.5. È possibile impostare la soglia su un valore compreso tra 0.0 e 1.0.
prefix_padding_ms string Durata dell'audio vocale (in millisecondi) da includere prima dell'inizio della voce rilevata.

Il valore predefinito è 300.
silence_duration_ms string Durata del silenzio (in millisecondi) per rilevare la fine del parlato. Si vuole rilevare la fine del discorso il prima possibile, ma non troppo presto per evitare di tagliare l'ultima parte del discorso.

Il modello risponderà più rapidamente se si imposta questo valore su un numero inferiore, ma potrebbe tagliare l'ultima parte del parlato. Se si imposta questo valore su un numero maggiore, il modello attenderà più tempo per rilevare la fine del parlato, ma potrebbe richiedere più tempo per rispondere.

RealtimeSessionBase

Configurazione dell'oggetto sessione in tempo reale.

RealtimeTool

Rappresentazione di base di una definizione di strumento in tempo reale.

Campo Tipo Descrizione
type RealtimeToolType Tipo dello strumento.

RealtimeToolChoice

Set combinato di rappresentazioni disponibili per un parametro tool_choice in tempo reale, che include entrambe le opzioni di valori letterali stringa, ad esempio "auto" e riferimenti strutturati agli strumenti definiti.

RealtimeToolChoiceFunctionObject

Rappresentazione di un tool_choice in tempo reale selezionando uno strumento funzione denominato.

Campo Tipo Descrizione
type string Tipo del tool_choice.

Valori consentiti: function
funzione oggetto Strumento funzione da selezionare.

Vedere le proprietà nidificate.
+ nome string Nome dello strumento della funzione.

Proprietà dell'oggetto function .

RealtimeToolChoiceLiteral

Il set disponibile di opzioni per valori letterali stringa a livello di modalità tool_choice per l'endpoint in tempo reale.

Valori consentiti:

  • auto
  • none
  • required

RealtimeToolChoiceObject

Rappresentazione di base per un tool_choice in tempo reale che seleziona uno strumento denominato.

Campo Tipo Descrizione
type RealtimeToolType Tipo del tool_choice.

RealtimeToolType

I discriminatori del tipo di strumento supportati per gli strumenti in tempo reale. Attualmente sono supportati solo gli strumenti 'function'.

Valori consentiti:

  • function

RealtimeTurnDetection

Campo Tipo Descrizione
type RealtimeTurnDetectionType Tipo di rilevamento dei turni.

Valori consentiti: server_vad

RealtimeTurnDetectionType

Valori consentiti:

  • server_vad

RealtimeVoice

Valori consentiti:

  • alloy
  • shimmer
  • echo