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 openai/realtime API.
  • Parametro api-version della stringa di query per una versione dell'API supportata, ad esempio 2024-12-17
  • Parametro deployment della stringa di query con il nome della distribuzione del gpt-4o-realtime-preview modello o gpt-4o-mini-realtime-preview .

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

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

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 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.
RealtimeClientEventConversationItemDelete L'evento client conversation.item.delete viene usato per rimuovere un elemento dalla cronologia delle conversazioni.
RealtimeClientEventConversationItemTruncate L'evento client conversation.item.truncate viene usato per troncare l'audio di un messaggio assistente precedente.
RealtimeClientEventInputAudioBufferAppend L'evento client input_audio_buffer.append viene usato per aggiungere byte audio al buffer audio di input.
RealtimeClientEventInputAudioBufferClear L'evento client input_audio_buffer.clear viene usato per cancellare i byte audio nel buffer.
RealtimeClientEventInputAudioBufferCommit L'evento client input_audio_buffer.commit viene usato per eseguire il commit del buffer audio di input dell'utente.
RealtimeClientEventResponseCancel L'evento client response.cancel viene usato per annullare una risposta in corso.
RealtimeClientEventResponseCreate L'evento client response.create viene usato per indicare al server di creare una risposta tramite l'inferenza del modello.
RealtimeClientEventSessionUpdate L'evento client session.update viene usato 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 della maggior parte degli 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 L'evento server conversation.created viene restituito subito dopo la creazione della sessione. Viene creata una conversazione per sessione.
RealtimeServerEventConversationItemCreated L'evento server conversation.item.created viene restituito quando viene creato un elemento di conversazione.
RealtimeServerEventConversationItemDeleted L'evento server conversation.item.deleted viene restituito quando il client ha eliminato un elemento nella conversazione con un conversation.item.delete evento.
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted L'evento server conversation.item.input_audio_transcription.completed è il risultato della trascrizione audio per il parlato scritto nel buffer audio.
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.
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.
RealtimeServerEventError L'evento server error viene restituito quando si verifica un errore, che potrebbe essere un problema del client o un problema del server.
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.
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.
RealtimeServerEventInputAudioBufferSpeechStarted L'evento server input_audio_buffer.speech_started viene restituito in server_vad modalità quando viene rilevato il riconoscimento vocale nel buffer audio.
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.
RealtimeServerEventRateLimitsUpdated L'evento server rate_limits.updated viene generato all'inizio di una risposta per indicare i limiti di frequenza aggiornati.
RealtimeServerEventResponseAudioDelta L'evento server response.audio.delta viene restituito quando viene aggiornato l'audio generato dal modello.
RealtimeServerEventResponseAudioDone L'evento server response.audio.done viene restituito al termine dell'audio generato dal modello.
RealtimeServerEventResponseAudioTranscriptDelta L'evento server response.audio_transcript.delta viene restituito quando viene aggiornata la trascrizione dell'output audio generata dal modello.
RealtimeServerEventResponseAudioTranscriptDone L'evento server response.audio_transcript.done viene restituito quando viene eseguita la trascrizione dell'output audio generata dal modello.
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.
RealtimeServerEventResponseContentPartDone L'evento server response.content_part.done viene restituito quando viene eseguita la trasmissione di una parte del contenuto.
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.
RealtimeServerEventResponseDone L'evento server response.done viene restituito quando viene eseguita una risposta in streaming.
RealtimeServerEventResponseFunctionCallArgumentsDelta L'evento server response.function_call_arguments.delta viene restituito quando gli argomenti della chiamata di funzione generati dal modello vengono aggiornati.
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.
RealtimeServerEventResponseOutputItemAdded L'evento server response.output_item.added viene restituito quando viene creato un nuovo elemento durante la generazione della risposta.
RealtimeServerEventResponseOutputItemDone L'evento server response.output_item.done viene restituito al termine del flusso di un elemento.
RealtimeServerEventResponseTextDelta L'evento server response.text.delta viene restituito quando viene aggiornato il testo generato dal modello.
RealtimeServerEventResponseTextDone L'evento server response.text.done viene restituito quando il testo generato dal modello viene eseguito in streaming.
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.
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.

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. Il client può specificare l'ID per identificare l'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 di contenuto.

Proprietà dell'oggetto function .

Valori consentiti: input_text, input_audio, item_reference, text.
Testo string Contenuto di testo. Questa proprietà è applicabile ai input_text tipi di contenuto e text .
id string ID di un elemento di conversazione precedente a cui fare riferimento negli elementi creati sia dal client che dal server. Questa proprietà è applicabile per il item_reference tipo di contenuto negli response.create eventi.
audio string Byte audio con codifica base64. Questa proprietà è applicabile per il input_audio tipo di contenuto.
transcript string Trascrizione dell'audio. Questa proprietà è applicabile per il input_audio tipo di contenuto.

RealtimeContentPartType

Valori consentiti:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

Elemento da aggiungere alla conversazione.

Questa tabella descrive tutte le RealtimeConversationItem proprietà. Le proprietà applicabili per evento dipendono da RealtimeItemType.

Campo Tipo Descrizione
id string ID univoco dell'elemento. Il client può specificare l'ID per gestire il contesto lato server. Se il client non fornisce un ID, il server ne genera uno.
type RealtimeItemType Tipo dell'elemento.

Valori consentiti: message, function_call, function_call_output
oggetto string Identificatore dell'oggetto API restituito. Il valore sarà realtime.itemsempre .
stato RealtimeItemStatus Lo stato dell'articolo. Questo campo non influisce sulla conversazione, ma viene accettato per coerenza con l'evento conversation.item.created .

Valori consentiti: completed, incomplete
ruolo RealtimeMessageRole Ruolo del mittente del messaggio. Questa proprietà è applicabile solo agli message elementi.

Valori consentiti: system, user, assistant
content matrice di RealtimeContentPart Contenuto del messaggio. Questa proprietà è applicabile solo agli message elementi.

- Gli elementi del messaggio del ruolo system supportano solo input_text il contenuto.
- Elementi di messaggio di supporto input_text e input_audio contenuto del ruolouser.
- Elementi di messaggio del contenuto del supporto text del ruoloassistant.
call_id string ID della chiamata di funzione (per function_call gli elementi e function_call_output ). Se viene passato a un function_call_output elemento, il server verificherà che nella cronologia delle conversazioni esista un function_call elemento con lo stesso ID.
name string Nome della funzione chiamata (per function_call gli elementi).
argomenti string Argomenti della chiamata di funzione (per function_call gli elementi).
output string Output della chiamata di funzione (per function_call_output gli elementi).

RealtimeConversationRequestItem

Usare l'oggetto RealtimeConversationRequestItem per creare un nuovo elemento nella conversazione tramite l'evento conversation.item.create .

Campo Tipo Descrizione
type RealtimeItemType Tipo dell'elemento.
id string ID univoco dell'elemento. Il client può specificare l'ID per gestire il contesto lato server. Se il client non fornisce un ID, il server ne genera uno.

RealtimeConversationResponseItem

L'oggetto RealtimeConversationResponseItem rappresenta un elemento nella conversazione. Viene usato in alcuni degli eventi del server, ad esempio:

Campo Tipo Descrizione
oggetto string Identificatore per l'oggetto API restituito.

Valori consentiti: realtime.item
type RealtimeItemType Tipo dell'elemento.

Valori consentiti: message, function_call, function_call_output
id string ID univoco dell'elemento. Il client può specificare l'ID per gestire il contesto lato server. Se il client non fornisce un ID, il server ne genera uno.

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, incluse le linee guida sull'utilizzo. Ad esempio, "Usare questa funzione per ottenere l'ora corrente".
parameters oggetto Parametri della funzione sotto forma di oggetto JSON.

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

Usare l'oggetto RealtimeRequestSession quando si vuole aggiornare la configurazione della sessione tramite l'evento session.update .

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.

Valori consentiti: auto, nonee required. In caso contrario, è possibile specificare il nome della funzione da usare.
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".
conversazione string Controlla la conversazione a cui viene aggiunta la risposta. I valori supportati sono auto e none.

Il auto valore (o non imposta questa proprietà) garantisce che il contenuto della risposta venga aggiunto alla conversazione predefinita della sessione.

Impostare questa proprietà su none per creare una risposta fuori banda in cui gli elementi non verranno aggiunti alla conversazione predefinita. Per altre informazioni, vedere la guida pratica.

L'impostazione predefinita è "auto"
metadata mappa Impostare fino a 16 coppie chiave-valore che possono essere collegate a un oggetto . Ciò può essere utile per archiviare informazioni aggiuntive sull'oggetto in un formato strutturato. Le chiavi possono essere lunghe al massimo 64 caratteri, mentre i valori al massimo 512 caratteri.

Ad esempio: metadata: { topic: "classification" }
input array Elementi di input da includere nel prompt del modello. Crea un nuovo contesto per questa risposta, senza includere la conversazione predefinita. Può includere riferimenti agli elementi della conversazione predefinita.

Elementi della matrice: RealtimeConversationItemBase

RealtimeResponseSession

L'oggetto RealtimeResponseSession rappresenta una sessione nell'API Realtime. Viene usato in alcuni degli eventi del server, ad esempio:

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 del server.

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 in tempo tool_choice reale, che include entrambe le opzioni di valori letterali stringa, ad esempio 'auto' e riferimenti strutturati agli strumenti definiti.

RealtimeToolChoiceFunctionObject

Rappresentazione di un oggetto in tempo tool_choice reale che seleziona uno strumento funzione denominato.

Campo Tipo Descrizione
type string Tipo di 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

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

Valori consentiti:

  • auto
  • none
  • required

RealtimeToolChoiceObject

Rappresentazione di base per una selezione in tempo tool_choice reale di uno strumento denominato.

Campo Tipo Descrizione
type RealtimeToolType Tipo di 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
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 millisecondi.
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.

Il valore predefinito è 500 millisecondi.
create_response boolean Indica se il server creerà automaticamente una risposta quando VAD è abilitato e il riconoscimento vocale si arresta.

Il valore predefinito è true.

RealtimeTurnDetectionType

Valori consentiti:

  • server_vad

RealtimeVoice

Valori consentiti:

  • alloy
  • ash
  • ballad
  • coral
  • echo
  • sage
  • shimmer
  • verse