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.
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 esempio2024-10-01-preview
- Parametro
deployment
della stringa di query con il nome della distribuzione delgpt-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 unBearer
token con l'intestazioneAuthorization
. - 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.
- Utilizzo di un'intestazione
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 item
oggetto 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
(ruoloassistant
) o di tipofunction_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
Contenuto correlato
- Introduzione all'avvio rapido dell'API Realtime.
- Altre informazioni su Come usare l'API Realtime.