Dela via


Referens för ljudhändelser

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 (roll assistant) eller typ function_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 userinput_text och input_audio innehåll.
– Meddelandeobjekt med rollstödinnehåll assistanttext .
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:

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, noneoch 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