Referens för API för realtid (förhandsversion)
Kommentar
Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Realtids-API:et är ett WebSocket-baserat API som gör att du kan interagera med Azure OpenAI-tjänsten i realtid.
Realtids-API:et (via /realtime
) bygger på WebSockets-API :et för att underlätta fullständigt asynkron direktuppspelningskommunikation mellan slutanvändaren och modellen. Enhetsinformation som att samla in och återge ljuddata ligger utanför omfånget för REALTIDS-API:et. Den bör användas i kontexten för en betrodd, mellanliggande tjänst som hanterar både anslutningar till slutanvändare och modellslutpunktsanslutningar. Använd den inte direkt från ej betrodda slutanvändarenheter.
Dricks
Information om hur du kommer igång med API:et för realtid finns i snabbstartsguiden och instruktioner.
Connection
Realtids-API:et kräver en befintlig Azure OpenAI-resursslutpunkt i en region som stöds. API:et nås via en säker WebSocket-anslutning till slutpunkten för /realtime
din Azure OpenAI-resurs.
Du kan skapa en fullständig URI för begäran genom att sammanfoga:
- Det säkra WebSocket-protokollet (
wss://
) - Ditt värdnamn för Azure OpenAI-resursslutpunkten, till exempel
my-aoai-resource.openai.azure.com
- API-sökvägen
openai/realtime
- En
api-version
frågesträngsparameter för en API-version som stöds, till exempel2024-10-01-preview
- En
deployment
frågesträngsparameter med namnet på modelldistributionengpt-4o-realtime-preview
Följande exempel är en välkonstruerad /realtime
URI för begäran:
wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-10-01-preview&deployment=gpt-4o-realtime-preview-1001
Autentisering
Så här autentiserar du:
- Microsoft Entra (rekommenderas): Använd tokenbaserad autentisering med API:et
/realtime
för en Azure OpenAI-tjänstresurs med hanterad identitet aktiverad. Använd en hämtad autentiseringstoken med enBearer
token medAuthorization
huvudet. - API-nyckel: En
api-key
kan tillhandahållas på något av två sätt:- Använda ett
api-key
anslutningshuvud på förhandshakeanslutningen. Det här alternativet är inte tillgängligt i en webbläsarmiljö. - Använda en
api-key
frågesträngsparameter på begärande-URI:n. Frågesträngsparametrar krypteras när du använder https/wss.
- Använda ett
Klienthändelser
Det finns nio klienthändelser som kan skickas från klienten till servern:
Händelse | beskrivning |
---|---|
RealtimeClientEventConversationItemCreate | Klienthändelsen conversation.item.create används för att lägga till ett nytt objekt i konversationens kontext, inklusive meddelanden, funktionsanrop och funktionsanropssvar. |
RealtimeClientEventConversationItemDelete | Klienthändelsen conversation.item.delete används för att ta bort ett objekt från konversationshistoriken. |
RealtimeClientEventConversationItemTruncate | Klienthändelsen conversation.item.truncate används för att trunkera ett tidigare assistentmeddelandes ljud. |
RealtimeClientEventInputAudioBufferAppend | input_audio_buffer.append Klienthändelsen används för att lägga till ljudbyte till indataljudbufferten. |
RealtimeClientEventInputAudioBufferClear | Klienthändelsen input_audio_buffer.clear används för att rensa ljudbyte i bufferten. |
RealtimeClientEventInputAudioBufferCommit | Klienthändelsen input_audio_buffer.commit används för att checka in användarens indataljudbuffert. |
RealtimeClientEventResponseCancel | response.cancel Klienthändelsen används för att avbryta ett pågående svar. |
RealtimeClientEventResponseSkapa | Klienthändelsen response.create används för att instruera servern att skapa ett svar via modellinferens. |
RealtimeClientEventSessionUpdate | session.update Klienthändelsen används för att uppdatera sessionens standardkonfiguration. |
RealtimeClientEventConversationItemCreate
Klienthändelsen conversation.item.create
används för att lägga till ett nytt objekt i konversationens kontext, inklusive meddelanden, funktionsanrop och funktionsanropssvar. Den här händelsen kan användas för att fylla i en historik för konversationen och för att lägga till nya objekt mitt i strömmen. Den här händelsen kan för närvarande inte fylla i assistentens ljudmeddelanden.
Om det lyckas svarar servern med en conversation.item.created
händelse, annars skickas en error
händelse.
Händelsestruktur
{
"type": "conversation.item.create",
"previous_item_id": "<previous_item_id>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara conversation.item.create . |
previous_item_id | sträng | ID:t för föregående objekt varefter det nya objektet infogas. Om det inte anges läggs det nya objektet till i slutet av konversationen. Om det anges kan ett objekt infogas mitt i konversationen. Om det inte går att hitta ID:t returneras ett fel och objektet läggs inte till. |
sak | RealtimeConversationRequestItem | Objektet som ska läggas till i konversationen. |
RealtimeClientEventConversationItemDelete
Klienthändelsen conversation.item.delete
används för att ta bort ett objekt från konversationshistoriken.
Servern svarar med en conversation.item.deleted
händelse, såvida inte objektet inte finns i konversationshistoriken, i vilket fall servern svarar med ett fel.
Händelsestruktur
{
"type": "conversation.item.delete",
"item_id": "<item_id>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara conversation.item.delete . |
item_id | sträng | ID:t för objektet som ska tas bort. |
RealtimeClientEventConversationItemTruncate
Klienthändelsen conversation.item.truncate
används för att trunkera ett tidigare assistentmeddelandes ljud. Servern genererar ljud snabbare än i realtid, så den här händelsen är användbar när användaren avbryter för att trunkera ljud som skickades till klienten men som ännu inte har spelats upp. Serverns förståelse av ljudet med klientens uppspelning synkroniseras.
Trunkering av ljud tar bort textavskriften på serversidan för att säkerställa att det inte finns text i kontexten som användaren inte känner till.
Om klienthändelsen lyckas svarar servern med en conversation.item.truncated
händelse.
Händelsestruktur
{
"type": "conversation.item.truncate",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara conversation.item.truncate . |
item_id | sträng | ID för det assistentmeddelandeobjekt som ska trunkeras. Endast assistentmeddelandeobjekt kan trunkeras. |
content_index | integer | Indexet för innehållsdelen som ska trunkeras. Ställ in den här egenskapen på "0". |
audio_end_ms | integer | Inkluderande varaktighet upp till vilken ljudet trunkeras, i millisekunder. Om audio_end_ms är större än den faktiska ljudvaraktigheten svarar servern med ett fel. |
RealtimeClientEventInputAudioBufferAppend
input_audio_buffer.append
Klienthändelsen används för att lägga till ljudbyte till indataljudbufferten. Ljudbufferten är tillfällig lagring som du kan skriva till och senare checka in.
I läget Server VAD (Röstaktivitetsidentifiering) används ljudbufferten för att identifiera tal och servern bestämmer när den ska checkas in. När server VAD är inaktiverat kan klienten välja hur mycket ljud som ska spelas in i varje händelse upp till högst 15 MiB. Om du till exempel strömmar mindre segment från klienten kan VAD vara mer dynamiskt.
Till skillnad från de flesta andra klienthändelser skickar servern inte ett bekräftelsesvar på klienthändelsen input_audio_buffer.append
.
Händelsestruktur
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara input_audio_buffer.append . |
ljud | sträng | Base64-kodade ljudbyte. Det här värdet måste vara i det format som anges av fältet input_audio_format i sessionskonfigurationen. |
RealtimeClientEventInputAudioBufferClear
Klienthändelsen input_audio_buffer.clear
används för att rensa ljudbyte i bufferten.
Servern svarar med en input_audio_buffer.cleared
händelse.
Händelsestruktur
{
"type": "input_audio_buffer.clear"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara input_audio_buffer.clear . |
RealtimeClientEventInputAudioBufferCommit
Klienthändelsen input_audio_buffer.commit
används för att checka in användarens indataljudbuffert, vilket skapar ett nytt användarmeddelandeobjekt i konversationen. Ljud transkriberas om input_audio_transcription
det är konfigurerat för sessionen.
När klienten är i server-VAD-läge behöver den inte skicka den här händelsen. Servern checkar in ljudbufferten automatiskt. Utan server VAD måste klienten checka in ljudbufferten för att skapa ett användarmeddelandeobjekt. Den här klienthändelsen genererar ett fel om indataljudbufferten är tom.
När indataljudbufferten checkas in skapas inget svar från modellen.
Servern svarar med en input_audio_buffer.committed
händelse.
Händelsestruktur
{
"type": "input_audio_buffer.commit"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara input_audio_buffer.commit . |
RealtimeClientEventResponseCancel
response.cancel
Klienthändelsen används för att avbryta ett pågående svar.
Servern svarar med en response.cancelled
händelse eller ett fel om det inte finns något svar att avbryta.
Händelsestruktur
{
"type": "response.cancel"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.cancel . |
RealtimeClientEventResponseSkapa
Klienthändelsen response.create
används för att instruera servern att skapa ett svar via modellinferens. När sessionen har konfigurerats i server VAD-läge skapar servern svar automatiskt.
Ett svar innehåller minst en item
, och kan ha två, i vilket fall det andra är ett funktionsanrop. Dessa objekt läggs till i konversationshistoriken.
Servern svarar med en response.created
händelse, en eller flera objekt- och innehållshändelser (till exempel conversation.item.created
och response.content_part.added
), och slutligen en response.done
händelse som anger att svaret är slutfört.
Kommentar
Klienthändelsen response.create
innehåller slutsatsdragningskonfiguration som instructions
, och temperature
. Dessa fält kan endast åsidosätta sessionens konfiguration för det här svaret.
Händelsestruktur
{
"type": "response.create"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.create . |
svar | RealtimeResponseOptions | Svarsalternativen. |
RealtimeClientEventSessionUpdate
session.update
Klienthändelsen används för att uppdatera sessionens standardkonfiguration. Klienten kan när som helst skicka händelsen för att uppdatera sessionskonfigurationen och alla fält kan uppdateras när som helst, förutom röst.
Endast fält som finns uppdateras. Om du vill rensa ett fält (till exempel instructions
) skickar du en tom sträng.
Servern svarar med en session.updated
händelse som innehåller den fullständiga effektiva konfigurationen.
Händelsestruktur
{
"type": "session.update"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara session.update . |
Session | RealtimeRequestSession | Sessionskonfigurationen. |
Serverhändelser
Det finns 28 serverhändelser som kan tas emot från servern:
Händelse | beskrivning |
---|---|
RealtimeServerEventConversationCreated | Serverhändelsen conversation.created returneras direkt efter att sessionen har skapats. En konversation skapas per session. |
RealtimeServerEventConversationItemCreated | Serverhändelsen conversation.item.created returneras när ett konversationsobjekt skapas. |
RealtimeServerEventConversationItemDeleted | Serverhändelsen conversation.item.deleted returneras när klienten tog bort ett objekt i konversationen med en conversation.item.delete händelse. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted | Serverhändelsen conversation.item.input_audio_transcription.completed är resultatet av ljudavskrift för tal som skrivits till ljudbufferten. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed | Serverhändelsen conversation.item.input_audio_transcription.failed returneras när inkommande ljudavskrift har konfigurerats och en transkriptionsbegäran för ett användarmeddelande misslyckades. |
RealtimeServerEventConversationItemTruncated | Serverhändelsen conversation.item.truncated returneras när klienten trunkerar ett tidigare ljudmeddelandeobjekt för assistenten med en conversation.item.truncate händelse. |
RealtimeServerEventError | Serverhändelsen error returneras när ett fel inträffar, vilket kan vara ett klientproblem eller ett serverproblem. |
RealtimeServerEventInputAudioBufferCleared | Serverhändelsen input_audio_buffer.cleared returneras när klienten rensar indataljudbufferten med en input_audio_buffer.clear händelse. |
RealtimeServerEventInputAudioBufferCommitted | Serverhändelsen input_audio_buffer.committed returneras när en indataljudbuffert checkas in, antingen av klienten eller automatiskt i server VAD-läge. |
RealtimeServerEventInputAudioBufferSpeechStarted | Serverhändelsen input_audio_buffer.speech_started returneras i server_vad läge när tal identifieras i ljudbufferten. |
RealtimeServerEventInputAudioBufferSpeechS toppad | Serverhändelsen input_audio_buffer.speech_stopped returneras i server_vad läge när servern identifierar slutet av talet i ljudbufferten. |
RealtimeServerEventRateLimitsUpdated | Serverhändelsen rate_limits.updated genereras i början av ett svar för att ange de uppdaterade hastighetsgränserna. |
RealtimeServerEventResponseAudioDelta | Serverhändelsen response.audio.delta returneras när det modellgenererade ljudet uppdateras. |
RealtimeServerEventResponseAudioDone | Serverhändelsen response.audio.done returneras när det modellgenererade ljudet är klart. |
RealtimeServerEventResponseAudioTranscriptDelta | Serverhändelsen response.audio_transcript.delta returneras när den modellgenererade transkriptionen av ljudutdata uppdateras. |
RealtimeServerEventResponseAudioTranscriptDone | Serverhändelsen response.audio_transcript.done returneras när den modellgenererade transkriptionen av ljudutdata har strömmats. |
RealtimeServerEventResponseContentPartAdded | Serverhändelsen response.content_part.added returneras när en ny innehållsdel läggs till i ett assistentmeddelandeobjekt. |
RealtimeServerEventResponseContentPartDone | Serverhändelsen response.content_part.done returneras när en innehållsdel har strömmats. |
RealtimeServerEventResponseSkapad | Serverhändelsen response.created returneras när ett nytt svar skapas. Det här är den första händelsen när svaret skapas, där svaret är i ett initialt tillstånd av in_progress . |
RealtimeServerEventResponseDone | Serverhändelsen response.done returneras när ett svar har strömmats. |
RealtimeServerEventResponseFunctionCallArgumentsDelta | Serverhändelsen response.function_call_arguments.delta returneras när de modellgenererade funktionsanropsargumenten uppdateras. |
RealtimeServerEventResponseFunctionCallArgumentsDone | Serverhändelsen response.function_call_arguments.done returneras när de modellgenererade funktionsanropsargumenten har strömmats. |
RealtimeServerEventResponseOutputItemLägg till | Serverhändelsen response.output_item.added returneras när ett nytt objekt skapas under svarsgenereringen. |
RealtimeServerEventResponseOutputItemDone | Serverhändelsen response.output_item.done returneras när ett objekt har strömmats. |
RealtimeServerEventResponseTextDelta | Serverhändelsen response.text.delta returneras när den modellgenererade texten uppdateras. |
RealtimeServerEventResponseTextDone | Serverhändelsen response.text.done returneras när den modellgenererade texten har strömmats. |
RealtimeServerEventSessionSkapas | Serverhändelsen session.created är den första serverhändelsen när du upprättar en ny anslutning till Realtids-API:et. Den här händelsen skapar och returnerar en ny session med standardkonfigurationen för sessionen. |
RealtimeServerEventSessionUpdated | Serverhändelsen session.updated returneras när en session uppdateras av klienten. Om det uppstår ett fel skickar servern en error händelse i stället. |
RealtimeServerEventConversationCreated
Serverhändelsen conversation.created
returneras direkt efter att sessionen har skapats. En konversation skapas per session.
Händelsestruktur
{
"type": "conversation.created",
"conversation": {
"id": "<id>",
"object": "<object>"
}
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara conversation.created . |
konversation | objekt | Konversationsresursen. |
Konversationsegenskaper
Fält | Type | Beskrivning |
---|---|---|
id | sträng | Konversationens unika ID. |
objekt | sträng | Objekttypen måste vara realtime.conversation . |
RealtimeServerEventConversationItemCreated
Serverhändelsen conversation.item.created
returneras när ett konversationsobjekt skapas. Det finns flera scenarier som genererar den här händelsen:
- Servern genererar ett svar, som om det lyckas genererar antingen ett eller två objekt, som är av typen
message
(rollassistant
) eller typfunction_call
. - Indataljudbufferten checkas in, antingen av klienten eller servern (i
server_vad
läge). Servern tar innehållet i indataljudbufferten och lägger till det i ett nytt användarmeddelandeobjekt. - Klienten skickade en
conversation.item.create
händelse för att lägga till ett nytt objekt i konversationen.
Händelsestruktur
{
"type": "conversation.item.created",
"previous_item_id": "<previous_item_id>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara conversation.item.created . |
previous_item_id | sträng | ID:t för föregående objekt i konversationskontexten gör att klienten kan förstå konversationens ordning. |
sak | RealtimeConversationResponseItem | Objektet som skapades. |
RealtimeServerEventConversationItemDeleted
Serverhändelsen conversation.item.deleted
returneras när klienten tog bort ett objekt i konversationen med en conversation.item.delete
händelse. Den här händelsen används för att synkronisera serverns förståelse av konversationshistoriken med klientens vy.
Händelsestruktur
{
"type": "conversation.item.deleted",
"item_id": "<item_id>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara conversation.item.deleted . |
item_id | sträng | ID:t för objektet som togs bort. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted
Serverhändelsen conversation.item.input_audio_transcription.completed
är resultatet av ljudavskrift för tal som skrivits till ljudbufferten.
Transkriptionen börjar när indataljudbufferten bekräftas av klienten eller servern (i server_vad
läge). Transkription körs asynkront med skapande av svar, så den här händelsen kan komma före eller efter svarshändelserna.
Realtids-API-modeller accepterar ljud internt, och därför är indataranskription en separat processkörning på en separat taligenkänningsmodell, för närvarande alltid whisper-1
. Därför kan avskriften avvika något från modellens tolkning och bör behandlas som en grov guide.
Händelsestruktur
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara conversation.item.input_audio_transcription.completed . |
item_id | sträng | ID:t för användarmeddelandeobjektet som innehåller ljudet. |
content_index | integer | Indexet för innehållsdelen som innehåller ljudet. |
avskrift | sträng | Den transkriberade texten. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed
Serverhändelsen conversation.item.input_audio_transcription.failed
returneras när inkommande ljudavskrift har konfigurerats och en transkriptionsbegäran för ett användarmeddelande misslyckades. Den här händelsen är separat från andra error
händelser så att klienten kan identifiera det relaterade objektet.
Händelsestruktur
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara conversation.item.input_audio_transcription.failed . |
item_id | sträng | ID för användarmeddelandeobjektet. |
content_index | integer | Indexet för innehållsdelen som innehåller ljudet. |
fel | objekt | Information om transkriptionsfelet. Se kapslade egenskaper i nästa tabell. |
Felegenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av fel. |
kod | sträng | Om det finns någon felkod. |
meddelande | sträng | Ett felmeddelande som kan läsas av människor. |
Param | sträng | Parameter som är relaterad till felet, om det finns. |
RealtimeServerEventConversationItemTruncated
Serverhändelsen conversation.item.truncated
returneras när klienten trunkerar ett tidigare ljudmeddelandeobjekt för assistenten med en conversation.item.truncate
händelse. Den här händelsen används för att synkronisera serverns förståelse av ljudet med klientens uppspelning.
Den här händelsen trunkerar ljudet och tar bort textavskriften på serversidan för att säkerställa att det inte finns någon text i kontexten som användaren inte känner till.
Händelsestruktur
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara conversation.item.truncated . |
item_id | sträng | ID:t för det assistentmeddelandeobjekt som trunkerades. |
content_index | integer | Indexet för innehållsdelen som trunkerades. |
audio_end_ms | integer | Varaktigheten upp till vilken ljudet trunkerades, i millisekunder. |
RealtimeServerEventError
Serverhändelsen error
returneras när ett fel inträffar, vilket kan vara ett klientproblem eller ett serverproblem. De flesta fel kan återställas och sessionen förblir öppen.
Händelsestruktur
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara error . |
fel | objekt | Information om felet. Se kapslade egenskaper i nästa tabell. |
Felegenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av fel. Till exempel är "invalid_request_error" och "server_error" feltyper. |
kod | sträng | Om det finns någon felkod. |
meddelande | sträng | Ett felmeddelande som kan läsas av människor. |
Param | sträng | Parameter som är relaterad till felet, om det finns. |
event_id | sträng | ID för den klienthändelse som orsakade felet, om tillämpligt. |
RealtimeServerEventInputAudioBufferCleared
Serverhändelsen input_audio_buffer.cleared
returneras när klienten rensar indataljudbufferten med en input_audio_buffer.clear
händelse.
Händelsestruktur
{
"type": "input_audio_buffer.cleared"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara input_audio_buffer.cleared . |
RealtimeServerEventInputAudioBufferCommitted
Serverhändelsen input_audio_buffer.committed
returneras när en indataljudbuffert checkas in, antingen av klienten eller automatiskt i server VAD-läge. Egenskapen item_id
är ID:t för användarmeddelandeobjektet som skapats. Därför skickas även en conversation.item.created
händelse till klienten.
Händelsestruktur
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara input_audio_buffer.committed . |
previous_item_id | sträng | ID:t för föregående objekt varefter det nya objektet infogas. |
item_id | sträng | ID:t för användarmeddelandeobjektet som skapats. |
RealtimeServerEventInputAudioBufferSpeechStarted
Serverhändelsen input_audio_buffer.speech_started
returneras i server_vad
läge när tal identifieras i ljudbufferten. Den här händelsen kan inträffa när ljud läggs till i bufferten (såvida inte tal redan har identifierats).
Kommentar
Klienten kanske vill använda den här händelsen för att avbryta ljuduppspelningen eller ge visuell feedback till användaren.
Klienten bör förvänta sig att få en input_audio_buffer.speech_stopped
händelse när talet stoppas. Egenskapen item_id
är ID:t för användarmeddelandeobjektet som skapas när talet stoppas. item_id
Ingår också i input_audio_buffer.speech_stopped
händelsen om inte klienten manuellt checkar in ljudbufferten under VAD-aktiveringen.
Händelsestruktur
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara input_audio_buffer.speech_started . |
audio_start_ms | integer | Millisekunder från början av allt ljud som skrivits till bufferten under sessionen när tal först identifierades. Den här egenskapen motsvarar början av ljud som skickas till modellen och inkluderar därför den prefix_padding_ms konfigurerade i sessionen. |
item_id | sträng | ID:t för användarmeddelandeobjektet som skapas när talet stoppas. |
RealtimeServerEventInputAudioBufferSpeechS toppad
Serverhändelsen input_audio_buffer.speech_stopped
returneras i server_vad
läge när servern identifierar slutet av talet i ljudbufferten.
Servern skickar också en conversation.item.created
händelse med användarmeddelandeobjektet som skapats från ljudbufferten.
Händelsestruktur
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara input_audio_buffer.speech_stopped . |
audio_end_ms | integer | Millisekunder sedan sessionen startade när talet stoppades. Den här egenskapen motsvarar slutet på det ljud som skickas till modellen och inkluderar därför den min_silence_duration_ms konfigurerade i sessionen. |
item_id | sträng | ID:t för användarmeddelandeobjektet som skapats. |
RealtimeServerEventRateLimitsUpdated
Serverhändelsen rate_limits.updated
genereras i början av ett svar för att ange de uppdaterade hastighetsgränserna.
När ett svar skapas reserveras vissa token för utdatatoken. De hastighetsgränser som visas här återspeglar den reservationen, som sedan justeras i enlighet med detta när svaret har slutförts.
Händelsestruktur
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara rate_limits.updated . |
rate_limits | matris med RealtimeServerEventRateLimitsUpdatedRateLimitsItem | Listan över information om hastighetsbegränsning. |
RealtimeServerEventResponseAudioDelta
Serverhändelsen response.audio.delta
returneras när det modellgenererade ljudet uppdateras.
Händelsestruktur
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.audio.delta . |
response_id | sträng | ID för svaret. |
item_id | sträng | Objektets ID. |
output_index | integer | Indexet för utdataobjektet i svaret. |
content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
delta | sträng | Base64-kodad ljuddatadelta. |
RealtimeServerEventResponseAudioDone
Serverhändelsen response.audio.done
returneras när det modellgenererade ljudet är klart.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
Händelsestruktur
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.audio.done . |
response_id | sträng | ID för svaret. |
item_id | sträng | Objektets ID. |
output_index | integer | Indexet för utdataobjektet i svaret. |
content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
RealtimeServerEventResponseAudioTranscriptDelta
Serverhändelsen response.audio_transcript.delta
returneras när den modellgenererade transkriptionen av ljudutdata uppdateras.
Händelsestruktur
{
"type": "response.audio_transcript.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.audio_transcript.delta . |
response_id | sträng | ID för svaret. |
item_id | sträng | Objektets ID. |
output_index | integer | Indexet för utdataobjektet i svaret. |
content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
delta | sträng | Avskriftsdeltat. |
RealtimeServerEventResponseAudioTranscriptDone
Serverhändelsen response.audio_transcript.done
returneras när den modellgenererade transkriptionen av ljudutdata har strömmats.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
Händelsestruktur
{
"type": "response.audio_transcript.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"transcript": "<transcript>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.audio_transcript.done . |
response_id | sträng | ID för svaret. |
item_id | sträng | Objektets ID. |
output_index | integer | Indexet för utdataobjektet i svaret. |
content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
avskrift | sträng | Den sista avskriften av ljudet. |
RealtimeServerEventResponseContentPartAdded
Serverhändelsen response.content_part.added
returneras när en ny innehållsdel läggs till i ett assistentmeddelandeobjekt under genereringen av svar.
Händelsestruktur
{
"type": "response.content_part.added",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.content_part.added . |
response_id | sträng | ID för svaret. |
item_id | sträng | ID:t för det objekt som innehållsdelen lades till i. |
output_index | integer | Indexet för utdataobjektet i svaret. |
content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
del | RealtimeContentPart | Innehållsdelen som lades till. |
Delegenskaper
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeContentPartType |
RealtimeServerEventResponseContentPartDone
Serverhändelsen response.content_part.done
returneras när en innehållsdel har strömmats i ett assistentmeddelandeobjekt.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
Händelsestruktur
{
"type": "response.content_part.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.content_part.done . |
response_id | sträng | ID för svaret. |
item_id | sträng | Objektets ID. |
output_index | integer | Indexet för utdataobjektet i svaret. |
content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
del | RealtimeContentPart | Innehållsdelen som är klar. |
Delegenskaper
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeContentPartType |
RealtimeServerEventResponseSkapad
Serverhändelsen response.created
returneras när ett nytt svar skapas. Det här är den första händelsen när svaret skapas, där svaret är i ett initialt tillstånd av in_progress
.
Händelsestruktur
{
"type": "response.created"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.created . |
svar | RealtimeResponse | Svarsobjektet. |
RealtimeServerEventResponseDone
Serverhändelsen response.done
returneras när ett svar har strömmats. Den här händelsen genereras alltid, oavsett det slutliga tillståndet. Svarsobjektet som ingår i response.done
händelsen innehåller alla utdataobjekt i svaret, men utelämnar rådata.
Händelsestruktur
{
"type": "response.done"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.done . |
svar | RealtimeResponse | Svarsobjektet. |
RealtimeServerEventResponseFunctionCallArgumentsDelta
Serverhändelsen response.function_call_arguments.delta
returneras när de modellgenererade funktionsanropsargumenten uppdateras.
Händelsestruktur
{
"type": "response.function_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"delta": "<delta>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.function_call_arguments.delta . |
response_id | sträng | ID för svaret. |
item_id | sträng | ID för funktionsanropsobjektet. |
output_index | integer | Indexet för utdataobjektet i svaret. |
call_id | sträng | ID för funktionsanropet. |
delta | sträng | Argumenten deltar som en JSON-sträng. |
RealtimeServerEventResponseFunctionCallArgumentsDone
Serverhändelsen response.function_call_arguments.done
returneras när de modellgenererade funktionsanropsargumenten har strömmats.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
Händelsestruktur
{
"type": "response.function_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"arguments": "<arguments>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.function_call_arguments.done . |
response_id | sträng | ID för svaret. |
item_id | sträng | ID för funktionsanropsobjektet. |
output_index | integer | Indexet för utdataobjektet i svaret. |
call_id | sträng | ID för funktionsanropet. |
Argument | sträng | De sista argumenten som en JSON-sträng. |
RealtimeServerEventResponseOutputItemLägg till
Serverhändelsen response.output_item.added
returneras när ett nytt objekt skapas under svarsgenereringen.
Händelsestruktur
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.output_item.added . |
response_id | sträng | ID för svaret som objektet tillhör. |
output_index | integer | Indexet för utdataobjektet i svaret. |
sak | RealtimeConversationResponseItem | Objektet som lades till. |
RealtimeServerEventResponseOutputItemDone
Serverhändelsen response.output_item.done
returneras när ett objekt har strömmats.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
Händelsestruktur
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.output_item.done . |
response_id | sträng | ID för svaret som objektet tillhör. |
output_index | integer | Indexet för utdataobjektet i svaret. |
sak | RealtimeConversationResponseItem | Objektet som har strömmats. |
RealtimeServerEventResponseTextDelta
Serverhändelsen response.text.delta
returneras när den modellgenererade texten uppdateras. Texten motsvarar text
innehållsdelen i ett assistentmeddelandeobjekt.
Händelsestruktur
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.text.delta . |
response_id | sträng | ID för svaret. |
item_id | sträng | Objektets ID. |
output_index | integer | Indexet för utdataobjektet i svaret. |
content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
delta | sträng | Textdeltat. |
RealtimeServerEventResponseTextDone
Serverhändelsen response.text.done
returneras när den modellgenererade texten har strömmats. Texten motsvarar text
innehållsdelen i ett assistentmeddelandeobjekt.
Den här händelsen returneras också när ett svar avbryts, är ofullständigt eller avbryts.
Händelsestruktur
{
"type": "response.text.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"text": "<text>"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara response.text.done . |
response_id | sträng | ID för svaret. |
item_id | sträng | Objektets ID. |
output_index | integer | Indexet för utdataobjektet i svaret. |
content_index | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
text | sträng | Det slutliga textinnehållet. |
RealtimeServerEventSessionSkapas
Serverhändelsen session.created
är den första serverhändelsen när du upprättar en ny anslutning till Realtids-API:et. Den här händelsen skapar och returnerar en ny session med standardkonfigurationen för sessionen.
Händelsestruktur
{
"type": "session.created"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara session.created . |
Session | RealtimeResponseSession | Sessionsobjektet. |
RealtimeServerEventSessionUpdated
Serverhändelsen session.updated
returneras när en session uppdateras av klienten. Om det uppstår ett fel skickar servern en error
händelse i stället.
Händelsestruktur
{
"type": "session.updated"
}
Egenskaper
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Händelsetypen måste vara session.updated . |
Session | RealtimeResponseSession | Sessionsobjektet. |
Komponenter
RealtimeAudioFormat
Tillåtna värden:
pcm16
g711_ulaw
g711_alaw
RealtimeAudioInputTranscriptionModel
Tillåtna värden:
whisper-1
RealtimeAudioInputTranscriptionSettings
Fält | Type | Beskrivning |
---|---|---|
modell | RealtimeAudioInputTranscriptionModel | whisper-1 Standardmodellen är för närvarande den enda modell som stöds för transkription av ljudindata. |
RealtimeClientEvent
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeClientEventType | Typen av klienthändelse. |
event_id | sträng | Det unika ID:t för händelsen. Klienten kan ange ID:t för att identifiera händelsen. |
RealtimeClientEventType
Tillåtna värden:
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
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeContentPartType | Innehållstypen. En egenskap för function objektet.Tillåtna värden: input_text , input_audio , item_reference , text . |
text | sträng | Textinnehållet. Den här egenskapen gäller för innehållstyperna input_text och text . |
id | sträng | ID för ett tidigare konversationsobjekt som ska refereras i både klient- och serverskapade objekt. Den här egenskapen gäller för item_reference innehållstypen i response.create händelser. |
ljud | sträng | Base64-kodade ljudbyte. Den här egenskapen gäller för input_audio innehållstypen. |
avskrift | sträng | Avskriften av ljudet. Den här egenskapen gäller för input_audio innehållstypen. |
RealtimeContentPartType
Tillåtna värden:
input_text
input_audio
text
audio
RealtimeConversationItemBase
Objektet som ska läggas till i konversationen.
I den här tabellen beskrivs alla RealtimeConversationItem
egenskaper. Vilka egenskaper som gäller per händelse beror på RealtimeItemType.
Fält | Type | Beskrivning |
---|---|---|
id | sträng | Objektets unika ID. Klienten kan ange ID:t för att hantera kontext på serversidan. Om klienten inte anger något ID genererar servern ett. |
type | RealtimeItemType | Typ av objekt. Tillåtna värden: message , function_call , function_call_output |
objekt | sträng | Identifieraren för API-objektet som returneras. Värdet kommer alltid att vara realtime.item . |
status | RealtimeItemStatus | Status för objektet. Det här fältet påverkar inte konversationen, men det accepteras för konsekvens med conversation.item.created händelsen.Tillåtna värden: completed , incomplete |
roll | RealtimeMessageRole | Rollen som meddelandesändare. Den här egenskapen gäller endast för message objekt. Tillåtna värden: system , user , assistant |
innehåll | matris med RealtimeContentPart | Innehållet i meddelandet. Den här egenskapen gäller endast för message objekt.– Meddelandeobjekt i rollen system stöder endast input_text innehåll.– Meddelandeobjekt för rollstöd user input_text och input_audio innehåll.– Meddelandeobjekt med rollstödinnehåll assistant text . |
call_id | sträng | ID för funktionsanropet (för function_call och function_call_output objekt). Om ett objekt skickas function_call_output kontrollerar servern att ett function_call objekt med samma ID finns i konversationshistoriken. |
name | sträng | Namnet på funktionen som anropas (för function_call objekt). |
Argument | sträng | Argumenten för funktionsanropet (för function_call objekt). |
utdata | sträng | Utdata från funktionsanropet (för function_call_output objekt). |
RealtimeConversationRequestItem
Du använder RealtimeConversationRequestItem
objektet för att skapa ett nytt objekt i konversationen via händelsen conversation.item.create .
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeItemType | Typ av objekt. |
id | sträng | Objektets unika ID. Klienten kan ange ID:t för att hantera kontext på serversidan. Om klienten inte anger något ID genererar servern ett. |
RealtimeConversationResponseItem
Objektet RealtimeConversationResponseItem
representerar ett objekt i konversationen. Den används i några av serverhändelserna, till exempel:
- conversation.item.created
- response.output_item.added
- response.output_item.done
response.created
(via egenskapstypenresponse
RealtimeResponse
)response.done
(via egenskapstypenresponse
RealtimeResponse
)
Fält | Type | Beskrivning |
---|---|---|
objekt | sträng | Identifieraren för det returnerade API-objektet. Tillåtna värden: realtime.item |
type | RealtimeItemType | Typ av objekt. Tillåtna värden: message , function_call , function_call_output |
id | sträng | Objektets unika ID. Klienten kan ange ID:t för att hantera kontext på serversidan. Om klienten inte anger något ID genererar servern ett. Den här egenskapen kan inte användas. |
RealtimeFunctionTool
Definitionen av ett funktionsverktyg som används av realtidsslutpunkten.
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Verktygets typ. Tillåtna värden: function |
name | sträng | Namnet på funktionen. |
description | sträng | Beskrivningen av funktionen, inklusive användningsriktlinjer. Till exempel "Använd den här funktionen för att hämta den aktuella tiden." |
parametrar | objekt | Parametrarna för funktionen i form av ett JSON-objekt. |
RealtimeItemStatus
Tillåtna värden:
in_progress
completed
incomplete
RealtimeItemType
Tillåtna värden:
message
function_call
function_call_output
RealtimeMessageRole
Tillåtna värden:
system
user
assistant
RealtimeRequestAssistantMessageItem
Fält | Type | Beskrivning |
---|---|---|
roll | sträng | Meddelandets roll. Tillåtna värden: assistant |
innehåll | matris för RealtimeRequestTextContentPart | Innehållet i meddelandet. |
RealtimeRequestAudioContentPart
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av innehållsdel. Tillåtna värden: input_audio |
avskrift | sträng | Avskriften av ljudet. |
RealtimeRequestFunctionCallItem
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av objekt. Tillåtna värden: function_call |
name | sträng | Namnet på funktionsanropsobjektet. |
call_id | sträng | ID för funktionsanropsobjektet. |
Argument | sträng | Argumenten för funktionsanropsobjektet. |
status | RealtimeItemStatus | Status för objektet. |
RealtimeRequestFunctionCallOutputItem
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av objekt. Tillåtna värden: function_call_output |
call_id | sträng | ID för funktionsanropsobjektet. |
utdata | sträng | Utdata för funktionsanropsobjektet. |
RealtimeRequestMessageItem
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av objekt. Tillåtna värden: message |
roll | RealtimeMessageRole | Meddelandets roll. |
status | RealtimeItemStatus | Status för objektet. |
RealtimeRequestMessageReferenceItem
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av objekt. Tillåtna värden: message |
id | sträng | ID för meddelandeartikeln. |
RealtimeRequestSession
Du använder objektet RealtimeRequestSession
när du vill uppdatera sessionskonfigurationen via händelsen session.update .
Fält | Type | Beskrivning |
---|---|---|
modaliteter | matris | De metoder som sessionen stöder. Tillåtna värden: text , audio Är till exempel "modalities": ["text", "audio"] standardinställningen som möjliggör både text- och ljudmodaliteter. Om du bara vill aktivera text anger du "modalities": ["text"] . Du kan inte bara aktivera ljud. |
instruktioner | sträng | Anvisningarna (systemmeddelandet) för att vägleda modellens text- och ljudsvar. Här följer några exempelinstruktioner som hjälper dig att vägleda innehåll och format för text- och ljudsvar: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Här följer några exempelinstruktioner som hjälper dig att vägleda ljudbeteendet: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Även om modellen kanske inte alltid följer dessa instruktioner ger de vägledning om önskat beteende. |
voice | RealtimeVoice | Rösten som används för modellsvaret för sessionen. När rösten används i sessionen för modellens ljudsvar kan den inte ändras. |
input_audio_format | RealtimeAudioFormat | Formatet för indataljudet. |
output_audio_format | RealtimeAudioFormat | Formatet för utdataljudet. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Inställningarna för transkription av ljudindata. Den här egenskapen kan inte användas. |
turn_detection | RealtimeTurnDetection | Inställningarna för turidentifiering för sessionen. Den här egenskapen kan inte användas. |
verktyg | matris med RealtimeTool | Verktygen som är tillgängliga för modellen för sessionen. |
tool_choice | RealtimeToolChoice | Verktygsvalet för sessionen. Tillåtna värden: auto , none och required . Annars kan du ange namnet på den funktion som ska användas. |
temperatur | Nummer | Samplingstemperaturen för modellen. De tillåtna temperaturvärdena är begränsade till [0,6, 1,2]. Standardvärdet är 0,8. |
max_response_output_tokens | heltal eller "inf" | Det maximala antalet utdatatoken per assistentsvar, inklusive verktygsanrop. Ange ett heltal mellan 1 och 4096 för att begränsa utdatatoken. Annars anger du värdet till "inf" för att tillåta det maximala antalet token. Om du till exempel vill begränsa utdatatoken till 1 000 anger du "max_response_output_tokens": 1000 . Om du vill tillåta det maximala antalet token anger du "max_response_output_tokens": "inf" .Standardvärdet är "inf" . |
RealtimeRequestSystemMessageItem
Fält | Type | Beskrivning |
---|---|---|
roll | sträng | Meddelandets roll. Tillåtna värden: system |
innehåll | matris för RealtimeRequestTextContentPart | Innehållet i meddelandet. |
RealtimeRequestTextContentPart
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av innehållsdel. Tillåtna värden: input_text |
text | sträng | Textinnehållet. |
RealtimeRequestUserMessageItem
Fält | Type | Beskrivning |
---|---|---|
roll | sträng | Meddelandets roll. Tillåtna värden: user |
innehåll | matris med RealtimeRequestTextContentPart eller RealtimeRequestAudioContentPart | Innehållet i meddelandet. |
RealtimeResponse
Fält | Type | Beskrivning |
---|---|---|
objekt | sträng | Svarsobjektet. Tillåtna värden: realtime.response |
id | sträng | Svarets unika ID. |
status | RealtimeResponseStatus | Status för svaret. Standardstatusvärdet är in_progress . |
status_details | RealtimeResponseStatusDetails | Information om svarsstatus. Den här egenskapen kan inte användas. |
utdata | matris med RealtimeConversationResponseItem | Utdataobjekten i svaret. |
användning | objekt | Användningsstatistik för svaret. Varje API-session i realtid har en konversationskontext och lägger till nya objekt i konversationen. Utdata från tidigare svängar (text- och ljudtoken) är indata för senare svängar. Se kapslade egenskaper härnäst. |
+ total_tokens | integer | Det totala antalet token i svaret, inklusive in- och utdatatext och ljudtoken. En egenskap för usage objektet. |
+ input_tokens | integer | Antalet indatatoken som används i svaret, inklusive text- och ljudtoken. En egenskap för usage objektet. |
+ output_tokens | integer | Antalet utdatatoken som skickas i svaret, inklusive text- och ljudtoken. En egenskap för usage objektet. |
+ input_token_details | objekt | Information om indatatoken som används i svaret. En egenskap för usage objektet.Br> Se kapslade egenskaper härnäst. |
+ cached_tokens | integer | Antalet cachelagrade token som används i svaret. En egenskap för input_token_details objektet. |
+ text_tokens | integer | Antalet texttoken som används i svaret. En egenskap för input_token_details objektet. |
+ audio_tokens | integer | Antalet ljudtoken som används i svaret. En egenskap för input_token_details objektet. |
+ output_token_details | objekt | Information om utdatatoken som används i svaret. En egenskap för usage objektet.Se kapslade egenskaper härnäst. |
+ text_tokens | integer | Antalet texttoken som används i svaret. En egenskap för output_token_details objektet. |
+ audio_tokens | integer | Antalet ljudtoken som används i svaret. En egenskap för output_token_details objektet. |
RealtimeResponseAudioContentPart
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av innehållsdel. Tillåtna värden: audio |
avskrift | sträng | Avskriften av ljudet. Den här egenskapen kan inte användas. |
RealtimeResponseBase
Svarsresursen.
RealtimeResponseFunctionCallItem
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av objekt. Tillåtna värden: function_call |
name | sträng | Namnet på funktionsanropsobjektet. |
call_id | sträng | ID för funktionsanropsobjektet. |
Argument | sträng | Argumenten för funktionsanropsobjektet. |
status | RealtimeItemStatus | Status för objektet. |
RealtimeResponseFunctionCallOutputItem
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av objekt. Tillåtna värden: function_call_output |
call_id | sträng | ID för funktionsanropsobjektet. |
utdata | sträng | Utdata för funktionsanropsobjektet. |
RealtimeResponseMessageItem
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av objekt. Tillåtna värden: message |
roll | RealtimeMessageRole | Meddelandets roll. |
innehåll | matris | Innehållet i meddelandet. Matrisobjekt: RealtimeResponseTextContentPart |
status | RealtimeItemStatus | Status för objektet. |
RealtimeResponseOptions
Fält | Type | Beskrivning |
---|---|---|
modaliteter | matris | De metoder som sessionen stöder. Tillåtna värden: text , audio Är till exempel "modalities": ["text", "audio"] standardinställningen som möjliggör både text- och ljudmodaliteter. Om du bara vill aktivera text anger du "modalities": ["text"] . Du kan inte bara aktivera ljud. |
instruktioner | sträng | Anvisningarna (systemmeddelandet) för att vägleda modellens text- och ljudsvar. Här följer några exempelinstruktioner som hjälper dig att vägleda innehåll och format för text- och ljudsvar: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Här följer några exempelinstruktioner som hjälper dig att vägleda ljudbeteendet: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Även om modellen kanske inte alltid följer dessa instruktioner ger de vägledning om önskat beteende. |
voice | RealtimeVoice | Rösten som används för modellsvaret för sessionen. När rösten används i sessionen för modellens ljudsvar kan den inte ändras. |
output_audio_format | RealtimeAudioFormat | Formatet för utdataljudet. |
verktyg | matris med RealtimeTool | Verktygen som är tillgängliga för modellen för sessionen. |
tool_choice | RealtimeToolChoice | Verktygsvalet för sessionen. |
temperatur | Nummer | Samplingstemperaturen för modellen. De tillåtna temperaturvärdena är begränsade till [0,6, 1,2]. Standardvärdet är 0,8. |
max__output_tokens | heltal eller "inf" | Det maximala antalet utdatatoken per assistentsvar, inklusive verktygsanrop. Ange ett heltal mellan 1 och 4096 för att begränsa utdatatoken. Annars anger du värdet till "inf" för att tillåta det maximala antalet token. Om du till exempel vill begränsa utdatatoken till 1 000 anger du "max_response_output_tokens": 1000 . Om du vill tillåta det maximala antalet token anger du "max_response_output_tokens": "inf" .Standardvärdet är "inf" . |
konversation | sträng | Styr vilken konversation svaret läggs till i. De värden som stöds är auto och none .Värdet auto (eller om du inte anger den här egenskapen) ser till att innehållet i svaret läggs till i sessionens standardkonversation.Ange den här egenskapen till none för att skapa ett out-of-band-svar där objekt inte läggs till i standardkonversationen. Mer information finns i guiden instruktioner.Standardvärdet är "auto" |
metadata | map | Konfigurera upp till 16 nyckel/värde-par som kan kopplas till ett objekt. Detta kan vara användbart för att lagra ytterligare information om objektet i ett strukturerat format. Nycklar kan vara högst 64 tecken långa och värden kan vara högst 512 tecken långa. Till exempel: metadata: { topic: "classification" } |
indata | matris | Indataobjekt som ska inkluderas i prompten för modellen. Skapar en ny kontext för det här svaret, utan att inkludera standardkonversationen. Kan innehålla referenser till objekt från standardkonversationen. Matrisobjekt: RealtimeConversationItemBase |
RealtimeResponseSession
Objektet RealtimeResponseSession
representerar en session i REALTIDS-API:et. Den används i några av serverhändelserna, till exempel:
Fält | Type | Beskrivning |
---|---|---|
objekt | sträng | Sessionsobjektet. Tillåtna värden: realtime.session |
id | sträng | Sessionens unika ID. |
modell | sträng | Den modell som används för sessionen. |
modaliteter | matris | De metoder som sessionen stöder. Tillåtna värden: text , audio Är till exempel "modalities": ["text", "audio"] standardinställningen som möjliggör både text- och ljudmodaliteter. Om du bara vill aktivera text anger du "modalities": ["text"] . Du kan inte bara aktivera ljud. |
instruktioner | sträng | Anvisningarna (systemmeddelandet) för att vägleda modellens text- och ljudsvar. Här följer några exempelinstruktioner som hjälper dig att vägleda innehåll och format för text- och ljudsvar: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Här följer några exempelinstruktioner som hjälper dig att vägleda ljudbeteendet: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Även om modellen kanske inte alltid följer dessa instruktioner ger de vägledning om önskat beteende. |
voice | RealtimeVoice | Rösten som används för modellsvaret för sessionen. När rösten används i sessionen för modellens ljudsvar kan den inte ändras. |
input_audio_format | RealtimeAudioFormat | Formatet för indataljudet. |
output_audio_format | RealtimeAudioFormat | Formatet för utdataljudet. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Inställningarna för transkription av ljudindata. Den här egenskapen kan inte användas. |
turn_detection | RealtimeTurnDetection | Inställningarna för turidentifiering för sessionen. Den här egenskapen kan inte användas. |
verktyg | matris med RealtimeTool | Verktygen som är tillgängliga för modellen för sessionen. |
tool_choice | RealtimeToolChoice | Verktygsvalet för sessionen. |
temperatur | Nummer | Samplingstemperaturen för modellen. De tillåtna temperaturvärdena är begränsade till [0,6, 1,2]. Standardvärdet är 0,8. |
max_response_output_tokens | heltal eller "inf" | Det maximala antalet utdatatoken per assistentsvar, inklusive verktygsanrop. Ange ett heltal mellan 1 och 4096 för att begränsa utdatatoken. Annars anger du värdet till "inf" för att tillåta det maximala antalet token. Om du till exempel vill begränsa utdatatoken till 1 000 anger du "max_response_output_tokens": 1000 . Om du vill tillåta det maximala antalet token anger du "max_response_output_tokens": "inf" . |
RealtimeResponseStatus
Tillåtna värden:
in_progress
completed
cancelled
incomplete
failed
RealtimeResponseStatusDetails
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeResponseStatus | Status för svaret. |
RealtimeResponseTextContentPart
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av innehållsdel. Tillåtna värden: text |
text | sträng | Textinnehållet. |
RealtimeServerEvent
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeServerEventType | Typ av serverhändelse. |
event_id | sträng | Det unika ID:t för serverhändelsen. |
RealtimeServerEventRateLimitsUpdatedRateLimitsItem
Fält | Type | Beskrivning |
---|---|---|
name | sträng | Egenskapsnamnet för hastighetsbegränsning som det här objektet innehåller information om. |
gräns | integer | Den maximala konfigurerade gränsen för den här egenskapen för hastighetsgräns. |
återstår | integer | Den återstående tillgängliga kvoten mot den konfigurerade gränsen för den här egenskapen för hastighetsgräns. |
reset_seconds | Nummer | Återstående tid, i sekunder, tills den här egenskapen för hastighetsbegränsning återställs. |
RealtimeServerEventType
Tillåtna värden:
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
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typ av turidentifiering. Tillåtna värden: server_vad |
tröskelvärde | Nummer | Aktiveringströskelvärdet för serverns VAD-turidentifiering. I bullriga miljöer kan du behöva öka tröskelvärdet för att undvika falska positiva identifieringar. I tysta miljöer kan du behöva minska tröskelvärdet för att undvika falska negativa identifieringar. Standardvärdet är 0.5 . Du kan ange tröskelvärdet till ett värde mellan 0.0 och 1.0 . |
prefix_padding_ms | sträng | Varaktigheten för talljud (i millisekunder) som ska inkluderas innan det identifierade talet börjar. Standardvärdet är 300 . |
silence_duration_ms | sträng | Varaktigheten för tystnad (i millisekunder) för att identifiera slutet av talet. Du vill identifiera slutet av talet så snart som möjligt, men inte för tidigt för att undvika att skära av den sista delen av talet. Modellen svarar snabbare om du anger det här värdet till ett lägre tal, men det kan avbryta den sista delen av talet. Om du anger det här värdet till ett högre tal väntar modellen längre för att identifiera slutet av talet, men det kan ta längre tid att svara. |
RealtimeSessionBase
Konfiguration av sessionsobjekt i realtid.
RealtimeTool
Basrepresentationen av en definition av realtidsverktyget.
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeToolType | Verktygets typ. |
RealtimeToolChoice
Den kombinerade uppsättningen tillgängliga representationer för en realtidsparameter tool_choice
, som omfattar både strängliterala alternativ som "auto" och strukturerade referenser till definierade verktyg.
RealtimeToolChoiceFunctionObject
Representationen av en realtidsmarkering tool_choice
av ett namngivet funktionsverktyg.
Fält | Type | Beskrivning |
---|---|---|
type | sträng | Typen av tool_choice .Tillåtna värden: function |
function | objekt | Funktionsverktyget som ska väljas. Se kapslade egenskaper härnäst. |
+ namn | sträng | Namnet på funktionsverktyget. En egenskap för function objektet. |
RealtimeToolChoiceLiteral
Den tillgängliga uppsättningen med strängliterala tool_choice
alternativ på lägesnivå för realtidsslutpunkten.
Tillåtna värden:
auto
none
required
RealtimeToolChoiceObject
En basrepresentation för en realtidsmarkering tool_choice
av ett namngivet verktyg.
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeToolType | Typen av tool_choice . |
RealtimeToolType
Den verktygstyp som stöds är diskriminerande för realtidsverktyg. För närvarande stöds endast funktionsverktyg.
Tillåtna värden:
function
RealtimeTurnDetection
Fält | Type | Beskrivning |
---|---|---|
type | RealtimeTurnDetectionType | Typ av turidentifiering. Tillåtna värden: server_vad |
tröskelvärde | Nummer | Aktiveringströskelvärdet för serverns VAD-turidentifiering. I bullriga miljöer kan du behöva öka tröskelvärdet för att undvika falska positiva identifieringar. I tysta miljöer kan du behöva minska tröskelvärdet för att undvika falska negativa identifieringar. Standardvärdet är 0.5 . Du kan ange tröskelvärdet till ett värde mellan 0.0 och 1.0 . |
prefix_padding_ms | sträng | Varaktigheten för talljud (i millisekunder) som ska inkluderas innan det identifierade talet börjar. Standardvärdet är 300 millisekunder. |
silence_duration_ms | sträng | Varaktigheten för tystnad (i millisekunder) för att identifiera slutet av talet. Du vill identifiera slutet av talet så snart som möjligt, men inte för tidigt för att undvika att skära av den sista delen av talet. Modellen svarar snabbare om du anger det här värdet till ett lägre tal, men det kan avbryta den sista delen av talet. Om du anger det här värdet till ett högre tal väntar modellen längre för att identifiera slutet av talet, men det kan ta längre tid att svara. Standardvärdet är 500 millisekunder. |
create_response | boolean | Anger om servern automatiskt skapar ett svar när VAD är aktiverat och tal stoppas. Standardvärdet är true . |
RealtimeTurnDetectionType
Tillåtna värden:
server_vad
RealtimeVoice
Tillåtna värden:
alloy
ash
ballad
coral
echo
sage
shimmer
verse
Relaterat innehåll
- Kom igång med Snabbstart för API i realtid.
- Läs mer om hur du använder REALTIDS-API:et.