Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Realtidshändelser används för att kommunicera mellan klienten och servern i realtidsljudprogram. Händelserna skickas som JSON-objekt över olika slutpunkter, till exempel WebSockets eller WebRTC. Händelserna används för att hantera konversationen, ljudbuffertar och svar i realtid.
Du kan använda ljudklient- och serverhändelser med följande API:er:
Om inget annat anges gäller de händelser som beskrivs i det här dokumentet för båda API:erna.
Klienthändelser
Det finns nio klienthändelser som kan skickas från klienten till servern:
Evenemang | Beskrivning |
---|---|
Real-tidsklienthändelseKonversationsobjektSkapa | 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. |
RealtimeClientEventConversationItemRetrieve | Klienthändelsen conversation.item.retrieve används för att hämta 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. |
RealtimeClientEventOutputAudioBufferClear | Klienthändelsen output_audio_buffer.clear används för att rensa ljudbyte i utdatabufferten.Den här händelsen gäller endast för WebRTC. |
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. |
Uppdatering av RealtimeClientEventSession |
session.update Klienthändelsen används för att uppdatera sessionens standardkonfiguration. |
HändelseFörKlientIRealtidKonversationArtikelSkapa
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.create . |
föregående_artikel_id | snöre | 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. |
objekt | Realtidssamtalsförfrågan | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.delete . |
objekt_id | snöre | ID:t för objektet som ska tas bort. |
RealtidsklienthändelseKonversationsobjektåterställning
Klienthändelsen conversation.item.retrieve
används för att hämta serverns representation av ett specifikt objekt i konversationshistoriken. Den här händelsen är till exempel användbar för att inspektera användarens ljud efter brusreducering och VAD.
Om klienthändelsen lyckas svarar servern med en conversation.item.retrieved
händelse. Om objektet inte finns i konversationshistoriken svarar servern med ett fel.
Händelsestruktur
{
"type": "conversation.item.retrieve",
"item_id": "<item_id>",
"event_id": "<event_id>"
}
Egenskaper
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.retrieve . |
objekt_id | snöre | ID för objektet som ska hämtas. |
event_id | snöre | ID för händelsen. |
RealtidsklienthändelseSamtalsobjektAvkortning
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.truncate . |
objekt_id | snöre | ID för det assistentmeddelandeobjekt som ska trunkeras. Endast assistentmeddelandeobjekt kan trunkeras. |
innehållsindex | integer | Indexet för innehållsdelen som ska trunkeras. Ställ in den här egenskapen på "0". |
audio_end_ms (ljud_slut_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. |
Realtidsklienthändelseinmatningsljudbuffertlägg till
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara input_audio_buffer.append . |
ljud | snöre | Base64-kodade ljudbyte. Det här värdet måste vara i det format som anges av fältet input_audio_format i sessionskonfigurationen. |
RealtidsklienthändelseIngångsljudbuffertRensning
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara input_audio_buffer.clear . |
Realtime-klienthändelseinmatningsljudbuffertåtagande
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara input_audio_buffer.commit . |
Realtidsklienthändelseutdata ljudbuffert rensas
Klienthändelsen output_audio_buffer.clear
används för att rensa ljudbyte i bufferten.
Anmärkning
Den här händelsen gäller endast för WebRTC.
Den här händelsen bör föregås av en response.cancel
klienthändelse för att stoppa genereringen av det aktuella svaret.
Servern slutar generera ljud och svarar med en output_audio_buffer.cleared
händelse.
Händelsestruktur
{
"type": "output_audio_buffer.clear"
}
Egenskaper
Fält | Typ | Beskrivning |
---|---|---|
event_id | snöre | ID:t för händelsen som orsakade felet. |
typ | snöre | Händelsetypen måste vara output_audio_buffer.clear . |
RealtidsklienthändelsesvarAvbryt
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | 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.
Anmärkning
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.create . |
svar | RealtimeResponseOptions | Svarsalternativen. |
Realtidsklienthändelsesessionuppdatering
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara session.update . |
möte | RealtimeRequestSession | Sessionskonfigurationen. |
Serverhändelser
Det finns 28 serverhändelser som kan tas emot från servern:
Evenemang | Beskrivning |
---|---|
Samtal Skapat i Realtidsserverhändelse | Serverhändelsen conversation.created returneras direkt efter att sessionen har skapats. En konversation skapas per session. |
RealtidsserverhändelseKonversationsobjektSkapat | Serverhändelsen conversation.item.created returneras när ett konversationsobjekt skapas. |
SamtalselementhämtatfrånRealtidsserverhändelse | Serverhändelsen conversation.item.retrieved returneras när ett konversationsobjekt hämtas. |
Realtidsserverhändelsesamtalsobjekt raderat | Serverhändelsen conversation.item.deleted returneras när klienten tog bort ett objekt i konversationen med en conversation.item.delete händelse. |
RealtimeServerEventKonversationArtikelInputAudioTranskriberingSlutförd | Serverhändelsen conversation.item.input_audio_transcription.completed är resultatet av ljudavskrift för tal som skrivits till ljudbufferten. |
RealtimeServerEventSamtalsobjektInmatningsLjudtranskriptionMisslyckades | 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. |
Konversationsobjekt för händelse i realtid på servern förkortat | 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. |
Real-tidsserverhändelseinmatningsljudbuffertåtgärd | 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. |
RealtimeServerhändelseUtgångsljudbuffertRensad | Serverhändelsen output_audio_buffer.cleared returneras när användaren har avbrutit (input_audio_buffer.speech_started ) eller när klienten har skickat output_audio_buffer.clear händelsen för att manuellt avbryta det aktuella ljudsvaret.Den här händelsen gäller endast för WebRTC. |
RealtimeServerEventOutputAudioBufferStarted | Serverhändelsen output_audio_buffer.started returneras när servern börjar strömma ljud till klienten. Den här händelsen genereras efter att en ljudinnehållsdel har lagts till (response.content_part.added ) i svaret.Den här händelsen gäller endast för WebRTC. |
RealtimeServerEventOutputAudioBufferStoppad | Serverhändelsen output_audio_buffer.stopped returneras när ljudbufferten för utdata har tömts helt på servern och inget mer ljud kommer.Den här händelsen gäller endast för WebRTC. |
Uppdaterade gränser för serverhändelser i realtid | 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. |
Serverhändelse i Realtid, Svarsfunktion, Funktionsanropsargument Klart | 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. |
UppdateradSessionFörHändelserPåServerIRealtid | 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. |
SamtalSkapadServerhändelseIRealtid
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.created . |
konversation | objekt | Konversationsresursen. |
Konversationsegenskaper
Fält | Typ | Beskrivning |
---|---|---|
Id-nummer | snöre | Konversationens unika ID. |
objekt | snöre | Objekttypen måste vara realtime.conversation . |
Realtidsserverhändelsekonversationsobjekt skapad
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.created . |
föregående_artikel_id | snöre | ID:t för föregående objekt i konversationskontexten gör att klienten kan förstå konversationens ordning. |
objekt | RealtimeConversationResponseItem | Objektet som skapades. |
RealtimeServerEventConversationItemÅterfunnen
Serverhändelsen conversation.item.retrieved
returneras när ett konversationsobjekt hämtas.
Händelsestruktur
{
"type": "conversation.item.retrieved",
"previous_item_id": "<previous_item_id>"
}
Egenskaper
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.retrieved . |
event_id | snöre | ID för händelsen. |
objekt | RealtimeConversationResponseItem | Objektet som hämtades. |
RealtidserverhändelseKonversationsobjektBorttaget
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.deleted . |
objekt_id | snöre | ID:t för objektet som togs bort. |
Realtidsserverhändelsekonversationsobjektinmataudiotranskriptionklar
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.
API-modeller i realtid accepterar ljud nativt, och därför behandlas transkriptionen separat av en annan taligenkänningsmodell som 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.input_audio_transcription.completed . |
objekt_id | snöre | ID:t för användarmeddelandeobjektet som innehåller ljudet. |
innehållsindex | integer | Indexet för innehållsdelen som innehåller ljudet. |
avskrift | snöre | Den transkriberade texten. |
RealtimeServerEventKonversationsobjektIndataLjudtranskriptionMisslyckades
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.input_audio_transcription.failed . |
objekt_id | snöre | ID för användarmeddelandeobjektet. |
innehållsindex | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av fel. |
kod | snöre | Om det finns någon felkod. |
meddelande | snöre | Ett felmeddelande som kan läsas av människor. |
Param | snöre | Parameter som är relaterad till felet, om det finns. |
Realtidsserverhändelsekonversationsobjektbegränsad
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara conversation.item.truncated . |
objekt_id | snöre | ID:t för det assistentmeddelandeobjekt som trunkerades. |
innehållsindex | integer | Indexet för innehållsdelen som trunkerades. |
audio_end_ms (ljud_slut_ms) | integer | Varaktigheten upp till vilken ljudet trunkerades, i millisekunder. |
Fel i realtidserverhändelse
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara error . |
fel | objekt | Information om felet. Se kapslade egenskaper i nästa tabell. |
Felegenskaper
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av fel. Till exempel är "invalid_request_error" och "server_error" feltyper. |
kod | snöre | Om det finns någon felkod. |
meddelande | snöre | Ett felmeddelande som kan läsas av människor. |
Param | snöre | Parameter som är relaterad till felet, om det finns. |
event_id | snöre | ID för den klienthändelse som orsakade felet, om tillämpligt. |
Realtidsserverhändelse Inmatningsljudbuffert Rensad
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara input_audio_buffer.cleared . |
RealtidServerHändelseInmatningLjudbuffertBekräftad
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara input_audio_buffer.committed . |
föregående_artikel_id | snöre | ID:t för föregående objekt varefter det nya objektet infogas. |
objekt_id | snöre | ID:t för användarmeddelandeobjektet som skapats. |
RealtidsserverhändelseIngressLjudbuffertTalStartade
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).
Anmärkning
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara input_audio_buffer.speech_started . |
ljud_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. |
objekt_id | snöre | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara input_audio_buffer.speech_stopped . |
audio_end_ms (ljud_slut_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. |
objekt_id | snöre | ID:t för användarmeddelandeobjektet som skapats. |
RealtidServerHändelseUtdataLjudBuffertRensad
Serverhändelsen output_audio_buffer.cleared
returneras när utdataljudbufferten rensas.
Anmärkning
Den här händelsen gäller endast för WebRTC.
Detta sker antingen i VAD-läge när användaren har avbrutit (input_audio_buffer.speech_started
) eller när klienten har skickat output_audio_buffer.clear
händelsen för att manuellt avbryta det aktuella ljudsvaret.
Händelsestruktur
{
"type": "output_audio_buffer.cleared"
}
Egenskaper
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara output_audio_buffer.cleared . |
event_id | snöre | ID för serverhändelsen. |
response_id | snöre | Det unika ID:t för svaret som producerade ljudet. |
RealtidsserverHändelseUtdataLjudbuffertStartad
Serverhändelsen output_audio_buffer.started
returneras när servern börjar strömma ljud till klienten. Den här händelsen genereras efter att en ljudinnehållsdel har lagts till (response.content_part.added
) i svaret.
Anmärkning
Den här händelsen gäller endast för WebRTC.
Händelsestruktur
{
"type": "output_audio_buffer.started",
"event_id": "<item_id>",
"response_id": "<response_id>"
}
Egenskaper
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara output_audio_buffer.started . |
event_id | snöre | ID för serverhändelsen. |
response_id | snöre | Det unika ID:t för svaret som producerade ljudet. |
Händelse från Realtidsserver: Ljudbuffert Output Stoppad
Serverhändelsen output_audio_buffer.stopped
returneras när ljudbufferten för utdata har tömts helt på servern och inget mer ljud kommer.
Anmärkning
Den här händelsen gäller endast för WebRTC.
Den här händelsen returneras efter att fullständiga svarsdata har skickats till klienten via response.done
händelsen.
Händelsestruktur
{
"type": "output_audio_buffer.stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Egenskaper
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara output_audio_buffer.stopped . |
event_id | snöre | ID för serverhändelsen. |
response_id | snöre | Det unika ID:t för svaret som producerade ljudet. |
RealtidServersHändelseGränserUppdaterad
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara rate_limits.updated . |
Begränsningar av frekvens | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.audio.delta . |
response_id | snöre | ID för svaret. |
objekt_id | snöre | Objektets ID. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
innehållsindex | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
delta | snöre | Base64-kodad ljuddatadelta. |
RealtidsServerHändelseSvarLjudKlar
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.audio.done . |
response_id | snöre | ID för svaret. |
objekt_id | snöre | Objektets ID. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
innehållsindex | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.audio_transcript.delta . |
response_id | snöre | ID för svaret. |
objekt_id | snöre | Objektets ID. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
innehållsindex | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
delta | snöre | Avskriftsdeltat. |
Realtidsserverhändelsessvar ljudutskrift slutförd
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.audio_transcript.done . |
response_id | snöre | ID för svaret. |
objekt_id | snöre | Objektets ID. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
innehållsindex | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
avskrift | snöre | Den sista avskriften av ljudet. |
RealtidsserverhändelsesvarinnehållsdelTillagd
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.content_part.added . |
response_id | snöre | ID för svaret. |
objekt_id | snöre | ID:t för det objekt som innehållsdelen lades till i. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
innehållsindex | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
del | RealtimeContentPart | Innehållsdelen som lades till. |
Delegenskaper
Fält | Typ | Beskrivning |
---|---|---|
typ | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.content_part.done . |
response_id | snöre | ID för svaret. |
objekt_id | snöre | Objektets ID. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
innehållsindex | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
del | RealtimeContentPart | Innehållsdelen som är klar. |
Delegenskaper
Fält | Typ | Beskrivning |
---|---|---|
typ | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.created . |
svar | RealtimeResponse | Svarsobjektet. |
ServerhändelsesvarFärdigtIRealtid
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.done . |
svar | RealtimeResponse | Svarsobjektet. |
RealtidsserverhändelsesvarFunktionsanropsargumentDelta
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.function_call_arguments.delta . |
response_id | snöre | ID för svaret. |
objekt_id | snöre | ID för funktionsanropsobjektet. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
samtals_id | snöre | ID för funktionsanropet. |
delta | snöre | Argumenten deltar som en JSON-sträng. |
RealtidServerHändelseSvarFunktionAnropArgumentKlar
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.function_call_arguments.done . |
response_id | snöre | ID för svaret. |
objekt_id | snöre | ID för funktionsanropsobjektet. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
samtals_id | snöre | ID för funktionsanropet. |
Argumenten | snöre | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.output_item.added . |
response_id | snöre | ID för svaret som objektet tillhör. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
objekt | RealtimeConversationResponseItem | Objektet som lades till. |
RealtimeServerEventResponseOutputItemKlart
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.output_item.done . |
response_id | snöre | ID för svaret som objektet tillhör. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
objekt | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.text.delta . |
response_id (svars-id) | snöre | ID för svaret. |
objekt_id | snöre | Objektets ID. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
innehållsindex | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
delta | snöre | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara response.text.done . |
response_id | snöre | ID för svaret. |
objekt_id | snöre | Objektets ID. |
utgångsindex | integer | Indexet för utdataobjektet i svaret. |
innehållsindex | integer | Indexet för innehållsdelen i objektets innehållsmatris. |
texten | snöre | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara session.created . |
möte | RealtimeResponseSession | Sessionsobjektet. |
UppdateradSessionFörServerHändelseIRealtid
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Händelsetypen måste vara session.updated . |
möte | RealtimeResponseSession | Sessionsobjektet. |
Komponenter
Realtidsljudformat
Tillåtna värden:
pcm16
g711_ulaw
g711_alaw
Realtidsljudingångstranskriptionsmodell
Tillåtna värden:
whisper-1
gpt-4o-transcribe
gpt-4o-mini-transcribe
Inställningar för realtidstranskription av ljudingång
Fält | Typ | Beskrivning |
---|---|---|
Språk | snöre | Språket för indataljudet. Om du anger indataspråket i ISO-639-1-format (till exempel en ) förbättras noggrannheten och svarstiden. |
modell | RealtimeAudioInputTranscriptionModel | Modellen för transkription av ljudindata. Till exempel whisper-1 . |
omedelbar | snöre | Uppmaningen om transkription av ljudindata. Valfri text för att styra modellens stil eller fortsätta ett tidigare ljudsegment.
whisper-1 För modellen är prompten en lista med nyckelord.
gpt-4o-transcribe och gpt-4o-mini-transcribe modellerna har prompten som en fritextsträng, till exempel "förvänta ord relaterade till teknik". |
Inställningar för ljudbrusreducering i realtidsljudinmatning
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av brusreducering. Ange near_field för nära talande mikrofoner, till exempel hörlurar eller far_field för mikrofoner på långt fält, till exempel mikrofoner för bärbara datorer eller konferensrum. |
RealtimeClientEvent
Fält | Typ | Beskrivning |
---|---|---|
typ | RealtimeClientEventType | Typen av klienthändelse. |
event_id | snöre | Det unika ID:t för händelsen. Klienten kan ange ID:t för att identifiera händelsen. |
Realtidsklienthändelsetyp
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
Realtidsinnehållsdelen
Fält | Typ | Beskrivning |
---|---|---|
typ | RealtimeContentPartType | Innehållstypen. En egenskap för function objektet.Tillåtna värden: input_text , input_audio , item_reference , text . |
texten | snöre | Textinnehållet. Den här egenskapen gäller för innehållstyperna input_text och text . |
Id-nummer | snöre | 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 | snöre | Base64-kodade ljudbyte. Den här egenskapen gäller för input_audio innehållstypen. |
avskrift | snöre | Avskriften av ljudet. Den här egenskapen gäller för input_audio innehållstypen. |
RealtidInnehållsDelTyp
Tillåtna värden:
input_text
input_audio
text
audio
Realtidssamtalsobjektbas
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 | Typ | Beskrivning |
---|---|---|
Id-nummer | snöre | 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. |
typ | RealtimeItemType | Typ av objekt. Tillåtna värden: message , function_call , function_call_output |
objekt | snöre | Identifieraren för API-objektet som returneras. Värdet kommer alltid att vara realtime.item . |
tillstånd | 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 |
None needed, as the translation is already accurate and fluent. | 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 . |
samtals_id | snöre | 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. |
namn | snöre | Namnet på funktionen som anropas (för function_call objekt). |
Argumenten | snöre | Argumenten för funktionsanropet (för function_call objekt). |
produktion | snöre | Utdata från funktionsanropet (för function_call_output objekt). |
Förfrågningspost för Realtidssamtal
Du använder RealtimeConversationRequestItem
objektet för att skapa ett nytt objekt i konversationen via händelsen conversation.item.create .
Fält | Typ | Beskrivning |
---|---|---|
typ | RealtimeItemType | Typ av objekt. |
Id-nummer | snöre | 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. |
Realtidssamtalsresponsobjekt
Objektet RealtimeConversationResponseItem
representerar ett objekt i konversationen. Den används i några av serverhändelserna, till exempel:
- samtal.objekt.skapad
- svar.utdata_objekt.lagt_till
- svar.utdata_element.klar
-
response.created
(via egenskapstypenresponse
RealtimeResponse
) -
response.done
(via egenskapstypenresponse
RealtimeResponse
)
Fält | Typ | Beskrivning |
---|---|---|
objekt | snöre | Identifieraren för det returnerade API-objektet. Tillåtna värden: realtime.item |
typ | RealtimeItemType | Typ av objekt. Tillåtna värden: message , function_call , function_call_output |
Id-nummer | snöre | 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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Verktygets typ. Tillåtna värden: function |
namn | snöre | Namnet på funktionen. |
beskrivning | snöre | 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. |
Realtidsobjektstatus
Tillåtna värden:
in_progress
completed
incomplete
Realtidselementtyp
Tillåtna värden:
message
function_call
function_call_output
RealtidsMeddelandeRoll
Tillåtna värden:
system
user
assistant
RealtidsförfråganAssistentMeddelandeobjekt
Fält | Typ | Beskrivning |
---|---|---|
None needed, as the translation is already accurate and fluent. | snöre | Meddelandets roll. Tillåtna värden: assistant |
innehåll | matris för RealtimeRequestTextContentPart | Innehållet i meddelandet. |
Ljudinnehålldel för realtidsförfrågan
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av innehållsdel. Tillåtna värden: input_audio |
avskrift | snöre | Avskriften av ljudet. |
RealtidsförfrågningsFunktionsanropsObjekt
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av objekt. Tillåtna värden: function_call |
namn | snöre | Namnet på funktionsanropsobjektet. |
samtals_id | snöre | ID för funktionsanropsobjektet. |
Argumenten | snöre | Argumenten för funktionsanropsobjektet. |
tillstånd | RealtimeItemStatus | Status för objektet. |
Utdataobjekt för Realtidsförfrågningsfunktionanrop
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av objekt. Tillåtna värden: function_call_output |
samtals_id | snöre | ID för funktionsanropsobjektet. |
produktion | snöre | Utdata för funktionsanropsobjektet. |
RealtimeFöfråganMeddelandeArtikel
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av objekt. Tillåtna värden: message |
None needed, as the translation is already accurate and fluent. | RealtimeMessageRole | Meddelandets roll. |
tillstånd | RealtimeItemStatus | Status för objektet. |
Realtime-begäran-meddelande-referensobjekt
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av objekt. Tillåtna värden: message |
Id-nummer | snöre | ID för meddelandeartikeln. |
Realtidsförfrågningssession
Du använder objektet RealtimeRequestSession
när du vill uppdatera sessionskonfigurationen via händelsen session.update .
Fält | Typ | Beskrivning |
---|---|---|
modaliteter | array | 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 | snöre | 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. |
röst | 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. |
ingångsljudformat | RealtimeAudioFormat | Formatet för indataljudet. |
utgångsljudformat | RealtimeAudioFormat | Formatet för utdataljudet. |
Ingångsljudbrusreducering | Inställningar för brusreducering för ljudingång i realtid | Konfiguration för reducering av brus i indataljudet. Detta kan ställas in på null för att stänga av. Brusreduceringsfilter filtrerar ljud som har lagts till i ljudbufferten innan det skickas till VAD och modellen. Filtrering av ljudet kan förbättra precisionen för VAD och vändningsdetektering (minska falska positiva) och modellprestanda genom att förbättra uppfattningen av indataljudet. Den här egenskapen kan inte användas. |
inmatning_ljud_transkription | Inställningar för realtidsöversättning av ljudingång | Konfiguration för transkribering av indataljud. Konfigurationen är null (av) som standard. Transkription av indataljud är inte naturligt för modellen, eftersom modellen bearbetar ljud direkt. Transkription körs asynkront via /audio/transcriptions slutpunkten och bör behandlas som vägledning för indataljudinnehåll snarare än exakt vad modellen hörde. Om du vill ha ytterligare vägledning om transkriptionstjänsten kan klienten ange språket och fråga efter transkription.Den här egenskapen kan inte användas. |
svängavkänning | 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. |
verktygsval | 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. |
maximalt_antal_utdata_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" .Standardinställningen är "inf" . |
Realtidsförfrågningssystemmeddelande
Fält | Typ | Beskrivning |
---|---|---|
None needed, as the translation is already accurate and fluent. | snöre | Meddelandets roll. Tillåtna värden: system |
innehåll | matris för RealtimeRequestTextContentPart | Innehållet i meddelandet. |
RealtidsFörfråganTextInnehållsDel
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av innehållsdel. Tillåtna värden: input_text |
texten | snöre | Textinnehållet. |
RealtidBegäranAnvändarMeddelandeObjekt
Fält | Typ | Beskrivning |
---|---|---|
None needed, as the translation is already accurate and fluent. | snöre | Meddelandets roll. Tillåtna värden: user |
innehåll | matris med RealtimeRequestTextContentPart eller RealtimeRequestAudioContentPart | Innehållet i meddelandet. |
RealtimeResponse
Fält | Typ | Beskrivning |
---|---|---|
objekt | snöre | Svarsobjektet. Tillåtna värden: realtime.response |
Id-nummer | snöre | Svarets unika ID. |
tillstånd | RealtimeResponseStatus | Status för svaret. Standardstatusvärdet är in_progress . |
statusdetaljer | RealtimeResponseStatusDetails | Information om svarsstatus. Den här egenskapen kan inte användas. |
produktion | 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.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. |
+ detaljer_om_utdatatoken | 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. |
Returrespons ljudinnehållsdel
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av innehållsdel. Tillåtna värden: audio |
avskrift | snöre | Avskriften av ljudet. Den här egenskapen kan inte användas. |
RealtimeResponseBasen
Svarsresursen.
Realtidsresponsfunktionsanropsobjekt
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av objekt. Tillåtna värden: function_call |
namn | snöre | Namnet på funktionsanropsobjektet. |
samtals_id | snöre | ID för funktionsanropsobjektet. |
Argumenten | snöre | Argumenten för funktionsanropsobjektet. |
tillstånd | RealtimeItemStatus | Status för objektet. |
RealtidsResponsFunktionKallUtdataObjekt
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av objekt. Tillåtna värden: function_call_output |
samtals_id | snöre | ID för funktionsanropsobjektet. |
produktion | snöre | Utdata för funktionsanropsobjektet. |
RealtidSvarMeddelandeItem
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av objekt. Tillåtna värden: message |
None needed, as the translation is already accurate and fluent. | RealtimeMessageRole | Meddelandets roll. |
innehåll | array | Innehållet i meddelandet. Matrisobjekt: RealtimeResponseTextContentPart |
tillstånd | RealtimeItemStatus | Status för objektet. |
Alternativ för realtidsrespons
Fält | Typ | Beskrivning |
---|---|---|
modaliteter | array | 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 | snöre | 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. |
röst | 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. |
utgångsljudformat | RealtimeAudioFormat | Formatet för utdataljudet. |
verktyg | matris med RealtimeTool | Verktygen som är tillgängliga för modellen för sessionen. |
verktygsval | 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. |
maximalt__utdatatoken | 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" .Standardinställningen är "inf" . |
konversation | snöre | 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" |
metainformation | karta | 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" } |
input | array | 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 | Typ | Beskrivning |
---|---|---|
objekt | snöre | Sessionsobjektet. Tillåtna värden: realtime.session |
Id-nummer | snöre | Sessionens unika ID. |
modell | snöre | Den modell som används för sessionen. |
modaliteter | array | 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 | snöre | 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. |
röst | 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. |
ingångsljudformat | RealtimeAudioFormat | Formatet för indataljudet. |
utgångsljudformat | RealtimeAudioFormat | Formatet för utdataljudet. |
inmatning_ljud_transkription | Inställningar för realtidsöversättning av ljudingång | Inställningarna för transkription av ljudindata. Den här egenskapen kan inte användas. |
svängavkänning | 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. |
verktygsval | 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. |
maximalt_antal_utdata_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" . |
StatusFörOmedelbarSvar
Tillåtna värden:
in_progress
completed
cancelled
incomplete
failed
Realtidsresponsstatusdetaljer
Fält | Typ | Beskrivning |
---|---|---|
typ | RealtimeResponseStatus | Status för svaret. |
RealtidsSvarTextInnehållsDel
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | Typ av innehållsdel. Tillåtna värden: text |
texten | snöre | Textinnehållet. |
Realtidsserverhändelse
Fält | Typ | Beskrivning |
---|---|---|
typ | RealtimeServerEventType | Typ av serverhändelse. |
event_id | snöre | Det unika ID:t för serverhändelsen. |
RealtidServerHändelseBegränsningarUppdateradeBegränsningarObjekt
Fält | Typ | Beskrivning |
---|---|---|
namn | snöre | 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. |
återställ_sekunder | nummer | Återstående tid, i sekunder, tills den här egenskapen för hastighetsbegränsning återställs. |
Realtidsserverhändelsetyp
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
Realtidsserver VAD-turndetektion
Fält | Typ | Beskrivning |
---|---|---|
typ | snöre | 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. Standardinställningen är 0.5 . Du kan ange tröskelvärdet till ett värde mellan 0.0 och 1.0 . |
prefix_padding_ms | snöre | Varaktigheten för talljud (i millisekunder) som ska inkluderas innan det identifierade talet börjar. Standardinställningen är 300 . |
tystnadsvaraktighet_ms | snöre | 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.
Verktyg för realtid
Basrepresentationen av en definition av realtidsverktyget.
Fält | Typ | Beskrivning |
---|---|---|
typ | RealtimeToolType | Verktygets typ. |
Verktygval i realtid
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 | Typ | Beskrivning |
---|---|---|
typ | snöre | Typen av tool_choice .Tillåtna värden: function |
funktion | objekt | Funktionsverktyget som ska väljas. Se kapslade egenskaper härnäst. |
+ namn | snöre | Namnet på funktionsverktyget. En egenskap för function objektet. |
Val av verktyg i realtid - Literal
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 | Typ | Beskrivning |
---|---|---|
typ | RealtimeToolType | Typen av tool_choice . |
Verktygstyp i realtid
Den verktygstyp som stöds är diskriminerande för realtidsverktyg. För närvarande stöds endast funktionsverktyg.
Tillåtna värden:
function
RealtidSvängDetektering
Fält | Typ | Beskrivning |
---|---|---|
typ | RealtidSvängDetektionTyp | Typ av turidentifiering. Tillåtna värden: semantic_vad eller server_vad |
tröskelvärde | nummer | Aktiveringströskelvärdet för server-VAD (server_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.Standardinställningen är 0.5 . Du kan ange tröskelvärdet till ett värde mellan 0.0 och 1.0 .Den här egenskapen gäller endast för server_vad svängdetektering. |
prefix_padding_ms | snöre | Varaktigheten för talljud (i millisekunder) som ska inkluderas innan det identifierade talet börjar. Standardvärdet är 300 millisekunder.Den här egenskapen gäller endast för server_vad svängdetektering. |
tystnadsvaraktighet_ms | snöre | 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.Den här egenskapen gäller endast för server_vad svängdetektering. |
skapa_svar | booleskt | Anger om servern automatiskt skapar ett svar när VAD är aktiverat och tal stoppas. Standardinställningen är true . |
avbrottsrespons | booleskt | Anger om servern automatiskt avbryter pågående svar med utdata till standardkonversationen (auto ) när en VAD-starthändelse inträffar.Standardinställningen är true . |
iver | snöre | Modellens iver att svara och avbryta användaren. Ange low att vänta längre för att användaren ska kunna fortsätta tala. Ange high för att segmentera ljudet så snart som möjligt för snabbare svar. Standardvärdet motsvarar auto medel.Den här egenskapen gäller endast för server_vad svängdetektering. |
Realtidssvängdetektionstyp
Tillåtna värden:
-
semantic_vad
– Semantisk VAD identifierar när användaren har talat klart baserat på de ord som de har yttrat. Indataljudet poängsätts baserat på sannolikheten att användaren har avslutat sitt tal. När sannolikheten är låg väntar modellen på en timeout. När sannolikheten är hög behöver du inte vänta. -
server_vad
– Servern utvärderar användarens ljud från klienten. Servern använder automatiskt det ljudet för att initiera svarsgenerering i tillämpliga konversationer när ett tal slutar.
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.