Naslaginformatie over realtime-API (preview)
Notitie
Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
De Realtime-API is een WebSocket-API waarmee u in realtime kunt communiceren met de Azure OpenAI-service.
De Realtime-API (via /realtime
) is gebouwd op de WebSockets-API om volledig asynchrone streamingcommunicatie tussen de eindgebruiker en het model mogelijk te maken. Apparaatdetails, zoals het vastleggen en weergeven van audiogegevens, vallen buiten het bereik van de Realtime-API. Deze moet worden gebruikt in de context van een vertrouwde, tussenliggende service die zowel verbindingen met eindgebruikers als modeleindpunten beheert. Gebruik deze niet rechtstreeks vanaf niet-vertrouwde apparaten van eindgebruikers.
Tip
Zie de quickstart en procedures om aan de slag te gaan met de Realtime-API.
Connection
De Realtime-API vereist een bestaand Azure OpenAI-resource-eindpunt in een ondersteunde regio. De API wordt geopend via een beveiligde WebSocket-verbinding met het /realtime
eindpunt van uw Azure OpenAI-resource.
U kunt een volledige aanvraag-URI samenstellen door het volgende samen te stellen:
- Het beveiligde WebSocket(
wss://
)-protocol. - De hostnaam van uw Azure OpenAI-resource-eindpunt, bijvoorbeeld
my-aoai-resource.openai.azure.com
- Het
openai/realtime
API-pad. - Een
api-version
queryreeksparameter voor een ondersteunde API-versie, zoals2024-12-17
- Een
deployment
queryreeksparameter met de naam van uwgpt-4o-realtime-preview
ofgpt-4o-mini-realtime-preview
modelimplementatie.
Het volgende voorbeeld is een goed samengestelde /realtime
aanvraag-URI:
wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-12-17&deployment=gpt-4o-realtime-preview
Verificatie
Ga als volgende te werk om te verifiëren:
-
Microsoft Entra (aanbevolen): Gebruik verificatie op basis van tokens met de
/realtime
API voor een Azure OpenAI-serviceresource waarvoor beheerde identiteit is ingeschakeld. Pas een opgehaald verificatietoken toe met behulp van eenBearer
token met deAuthorization
header. -
API-sleutel: een
api-key
kan op twee manieren worden opgegeven:- Gebruik een
api-key
verbindingskop op de prehandshake-verbinding. Deze optie is niet beschikbaar in een browseromgeving. - Gebruik een
api-key
queryreeksparameter op de aanvraag-URI. Queryreeksparameters worden versleuteld bij gebruik van https/wss.
- Gebruik een
Client-gebeurtenissen
Er zijn negen client gebeurtenissen die van de client naar de server kunnen worden verzonden:
Gebeurtenis | Beschrijving |
---|---|
RealtimeClientEventConversationItemCreate | De client conversation.item.create gebeurtenis wordt gebruikt om een nieuw item toe te voegen aan de context van het gesprek, inclusief berichten, functie-aanroepen en antwoorden op functieoproepen. |
RealtimeClientEventConversationItemDelete | De client conversation.item.delete gebeurtenis wordt gebruikt om een item uit de gespreksgeschiedenis te verwijderen. |
RealtimeClientEventConversationItemTruncate | De clientgebeurtenis conversation.item.truncate wordt gebruikt voor het afkappen van de audio van een vorige assistentbericht. |
RealtimeClientEventInputAudioBufferAppend | De client input_audio_buffer.append gebeurtenis wordt gebruikt om audiobytes toe te voegen aan de invoeraudiobuffer. |
RealtimeClientEventInputAudioBuffer Clear | De client input_audio_buffer.clear gebeurtenis wordt gebruikt om de audiobytes in de buffer te wissen. |
RealtimeClientEventInputAudioBufferCommit | De client-gebeurtenis input_audio_buffer.commit wordt gebruikt om de audiobuffer voor gebruikersinvoer door te voeren. |
RealtimeClientEventResponseCancel | De clientgebeurtenis response.cancel wordt gebruikt om een reactie in uitvoering te annuleren. |
RealtimeClientEventResponseCreate | De client response.create gebeurtenis wordt gebruikt om de server te instrueren een antwoord te maken via modeldeductie. |
RealtimeClientEventSessionUpdate | De client session.update gebeurtenis wordt gebruikt om de standaardconfiguratie van de sessie bij te werken. |
RealtimeClientEventConversationItemCreate
De client conversation.item.create
gebeurtenis wordt gebruikt om een nieuw item toe te voegen aan de context van het gesprek, inclusief berichten, functie-aanroepen en antwoorden op functieoproepen. Deze gebeurtenis kan worden gebruikt om een geschiedenis van het gesprek te vullen en nieuwe items mid-stream toe te voegen. Deze gebeurtenis kan momenteel geen audioberichten van assistenten vullen.
Als dit lukt, reageert de server met een conversation.item.created
gebeurtenis, anders wordt er een error
gebeurtenis verzonden.
Gebeurtenisstructuur
{
"type": "conversation.item.create",
"previous_item_id": "<previous_item_id>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn conversation.item.create . |
previous_item_id | tekenreeks | De id van het voorgaande item waarna het nieuwe item wordt ingevoegd. Als dit niet is ingesteld, wordt het nieuwe item toegevoegd aan het einde van het gesprek. Als dit is ingesteld, kan een item worden ingevoegd tijdens een gesprek. Als de id niet kan worden gevonden, wordt er een fout geretourneerd en wordt het item niet toegevoegd. |
item | RealtimeConversationRequestItem | Het item dat moet worden toegevoegd aan het gesprek. |
RealtimeClientEventConversationItemDelete
De client conversation.item.delete
gebeurtenis wordt gebruikt om een item uit de gespreksgeschiedenis te verwijderen.
De server reageert met een conversation.item.deleted
gebeurtenis, tenzij het item niet bestaat in de gespreksgeschiedenis, in welk geval de server reageert met een fout.
Gebeurtenisstructuur
{
"type": "conversation.item.delete",
"item_id": "<item_id>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn conversation.item.delete . |
item_id | tekenreeks | De id van het item dat moet worden verwijderd. |
RealtimeClientEventConversationItemTruncate
De clientgebeurtenis conversation.item.truncate
wordt gebruikt voor het afkappen van de audio van een vorige assistentbericht. De server produceert sneller dan realtime audio, dus deze gebeurtenis is handig wanneer de gebruiker onderbreekt om audio af tekappen die naar de client is verzonden, maar nog niet is afgespeeld. Het begrip van de audio van de server met het afspelen van de client wordt gesynchroniseerd.
Als u audio afkapt, wordt het transcript van de tekst aan de serverzijde verwijderd om ervoor te zorgen dat er geen tekst in de context staat waarover de gebruiker niet weet.
Als de client gebeurtenis is geslaagd, reageert de server met een conversation.item.truncated
gebeurtenis.
Gebeurtenisstructuur
{
"type": "conversation.item.truncate",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn conversation.item.truncate . |
item_id | tekenreeks | De id van het item van het assistentbericht dat moet worden afgekapt. Alleen items voor assistentberichten kunnen worden afgekapt. |
content_index | geheel getal | De index van het inhoudsonderdeel dat moet worden afgekapt. Stel deze eigenschap in op '0'. |
audio_end_ms | geheel getal | Inclusief duur tot aan welke audio wordt afgekapt, in milliseconden. Als de audio_end_ms groter is dan de werkelijke audioduur, reageert de server met een fout. |
RealtimeClientEventInputAudioBufferAppend
De client input_audio_buffer.append
gebeurtenis wordt gebruikt om audiobytes toe te voegen aan de invoeraudiobuffer. De audiobuffer is tijdelijke opslag waarnaar u kunt schrijven en later doorvoeren.
In de modus Server VAD (Spraakactiviteitsdetectie) wordt de audiobuffer gebruikt om spraak te detecteren en bepaalt de server wanneer deze moet worden doorgevoerd. Wanneer server-VAD is uitgeschakeld, kan de client kiezen hoeveel audio in elke gebeurtenis moet worden geplaatst tot maximaal 15 MiB. Als u bijvoorbeeld kleinere segmenten van de client streamt, kan de VAD sneller reageren.
In tegenstelling tot de meeste andere client gebeurtenissen, verzendt de server geen bevestigingsreactie naar de client input_audio_buffer.append
gebeurtenis.
Gebeurtenisstructuur
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn input_audio_buffer.append . |
audio | tekenreeks | Met Base64 gecodeerde audiobytes. Deze waarde moet de indeling hebben die is opgegeven door het input_audio_format veld in de sessieconfiguratie. |
RealtimeClientEventInputAudioBuffer Clear
De client input_audio_buffer.clear
gebeurtenis wordt gebruikt om de audiobytes in de buffer te wissen.
De server reageert met een input_audio_buffer.cleared
gebeurtenis.
Gebeurtenisstructuur
{
"type": "input_audio_buffer.clear"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn input_audio_buffer.clear . |
RealtimeClientEventInputAudioBufferCommit
De client-gebeurtenis input_audio_buffer.commit
wordt gebruikt om de audiobuffer voor gebruikersinvoer door te voeren, waardoor er een nieuw gebruikersberichtitem in het gesprek wordt gemaakt. Audio wordt getranscribeerd als input_audio_transcription
deze is geconfigureerd voor de sessie.
Wanneer de client zich in de VAD-modus van de server bevindt, hoeft deze gebeurtenis niet te worden verzonden. De server voert de audiobuffer automatisch door. Zonder server-VAD moet de client de audiobuffer doorvoeren om een gebruikersberichtitem te maken. Deze client gebeurtenis produceert een fout als de invoer audiobuffer leeg is.
Als u de invoeraudiobuffer doorvoert, wordt er geen antwoord van het model gemaakt.
De server reageert met een input_audio_buffer.committed
gebeurtenis.
Gebeurtenisstructuur
{
"type": "input_audio_buffer.commit"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn input_audio_buffer.commit . |
RealtimeClientEventResponseCancel
De clientgebeurtenis response.cancel
wordt gebruikt om een reactie in uitvoering te annuleren.
De server reageert met een response.cancelled
gebeurtenis of een fout als er geen reactie is om te annuleren.
Gebeurtenisstructuur
{
"type": "response.cancel"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.cancel . |
RealtimeClientEventResponseCreate
De client response.create
gebeurtenis wordt gebruikt om de server te instrueren een antwoord te maken via modeldeductie. Wanneer de sessie is geconfigureerd in de server-VAD-modus, maakt de server automatisch antwoorden.
Een antwoord bevat ten minste één item
, en kan twee bevatten, in welk geval de tweede een functie-aanroep is. Deze items worden toegevoegd aan de gespreksgeschiedenis.
De server reageert met een response.created
gebeurtenis, een of meer item- en inhoudsevenementen (zoals conversation.item.created
en response.content_part.added
) en ten slotte een response.done
gebeurtenis om aan te geven dat het antwoord is voltooid.
Notitie
De client-gebeurtenis response.create
bevat deductieconfiguratie zoals instructions
, en temperature
. Deze velden kunnen alleen de configuratie van de sessie voor dit antwoord overschrijven.
Gebeurtenisstructuur
{
"type": "response.create"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.create . |
antwoord | RealtimeResponseOptions | De antwoordopties. |
RealtimeClientEventSessionUpdate
De client session.update
gebeurtenis wordt gebruikt om de standaardconfiguratie van de sessie bij te werken. De client kan deze gebeurtenis op elk gewenst moment verzenden om de sessieconfiguratie bij te werken en elk veld kan op elk gewenst moment worden bijgewerkt, met uitzondering van spraak.
Alleen velden die aanwezig zijn, worden bijgewerkt. Als u een veld (zoals instructions
), wilt wissen, geeft u een lege tekenreeks door.
De server reageert met een session.updated
gebeurtenis die de volledige effectieve configuratie bevat.
Gebeurtenisstructuur
{
"type": "session.update"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn session.update . |
session | RealtimeRequestSession | De sessieconfiguratie. |
Server-gebeurtenissen
Er zijn 28 servergebeurtenissen die kunnen worden ontvangen van de server:
Gebeurtenis | Beschrijving |
---|---|
RealtimeServerEventConversationCreated | De servergebeurtenis conversation.created wordt direct na het maken van de sessie geretourneerd. Er wordt één gesprek per sessie gemaakt. |
RealtimeServerEventConversationItemCreated | De servergebeurtenis conversation.item.created wordt geretourneerd wanneer een gespreksitem wordt gemaakt. |
RealtimeServerEventConversationItemDeleted | De servergebeurtenis conversation.item.deleted wordt geretourneerd wanneer de client een item in het gesprek met een conversation.item.delete gebeurtenis heeft verwijderd. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted | De server conversation.item.input_audio_transcription.completed gebeurtenis is het resultaat van audiotranscriptie voor spraak die naar de audiobuffer is geschreven. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed | De servergebeurtenis conversation.item.input_audio_transcription.failed wordt geretourneerd wanneer de invoer van audiotranscriptie is geconfigureerd en een transcriptieaanvraag voor een gebruikersbericht is mislukt. |
RealtimeServerEventConversationItemTruncated | De servergebeurtenis conversation.item.truncated wordt geretourneerd wanneer de client een eerder audioberichtitem met een assistent afkapt met een conversation.item.truncate gebeurtenis. |
RealtimeServerEventError | De servergebeurtenis error wordt geretourneerd wanneer er een fout optreedt, wat een clientprobleem of een serverprobleem kan zijn. |
RealtimeServerEventInputAudioBuffer Cleared | De servergebeurtenis input_audio_buffer.cleared wordt geretourneerd wanneer de client de invoeraudiobuffer wist met een input_audio_buffer.clear gebeurtenis. |
RealtimeServerEventInputAudioBufferCommitted | De servergebeurtenis input_audio_buffer.committed wordt geretourneerd wanneer een invoeraudiobuffer wordt doorgevoerd door de client of automatisch in de server-VAD-modus. |
RealtimeServerEventInputAudioBufferSpeechStarted | De servergebeurtenis input_audio_buffer.speech_started wordt geretourneerd in server_vad de modus wanneer spraak wordt gedetecteerd in de audiobuffer. |
RealtimeServerEventInputAudioBufferSpeechStopped | De servergebeurtenis input_audio_buffer.speech_stopped wordt geretourneerd in server_vad de modus wanneer de server het einde van de spraak in de audiobuffer detecteert. |
RealtimeServerEventRateLimitsUpdated | De server rate_limits.updated gebeurtenis wordt verzonden aan het begin van een reactie om de bijgewerkte frequentielimieten aan te geven. |
RealtimeServerEventResponseAudioDelta | De servergebeurtenis response.audio.delta wordt geretourneerd wanneer de door het model gegenereerde audio wordt bijgewerkt. |
RealtimeServerEventResponseAudioDone | De servergebeurtenis response.audio.done wordt geretourneerd wanneer de door het model gegenereerde audio wordt uitgevoerd. |
RealtimeServerEventResponseAudioTranscriptDelta | De servergebeurtenis response.audio_transcript.delta wordt geretourneerd wanneer de door het model gegenereerde transcriptie van audio-uitvoer wordt bijgewerkt. |
RealtimeServerEventResponseAudioTranscriptDone | De servergebeurtenis response.audio_transcript.done wordt geretourneerd wanneer de door het model gegenereerde transcriptie van audio-uitvoer klaar is met streamen. |
RealtimeServerEventResponseContentPartAdded | De servergebeurtenis response.content_part.added wordt geretourneerd wanneer een nieuw inhoudsonderdeel wordt toegevoegd aan een assistentberichtitem. |
RealtimeServerEventResponseContentPartDone | De servergebeurtenis response.content_part.done wordt geretourneerd wanneer een inhoudsonderdeel klaar is met streamen. |
RealtimeServerEventResponseCreated | De servergebeurtenis response.created wordt geretourneerd wanneer er een nieuw antwoord wordt gemaakt. Dit is de eerste gebeurtenis van het maken van een antwoord, waarbij het antwoord de eerste status heeft.in_progress |
RealtimeServerEventResponseDone | De servergebeurtenis response.done wordt geretourneerd wanneer er een antwoord wordt gestreamd. |
RealtimeServerEventResponseFunctionCallArgumentsDelta | De servergebeurtenis response.function_call_arguments.delta wordt geretourneerd wanneer de door het model gegenereerde functie-aanroepargumenten worden bijgewerkt. |
RealtimeServerEventResponseFunctionCallArgumentsDone | De servergebeurtenis response.function_call_arguments.done wordt geretourneerd wanneer de door het model gegenereerde functie-aanroepargumenten klaar zijn met streamen. |
RealtimeServerEventResponseOutputItemAdded | De servergebeurtenis response.output_item.added wordt geretourneerd wanneer er een nieuw item wordt gemaakt tijdens het genereren van het antwoord. |
RealtimeServerEventResponseOutputItemDone | De servergebeurtenis response.output_item.done wordt geretourneerd wanneer een item klaar is met streamen. |
RealtimeServerEventResponseTextDelta | De servergebeurtenis response.text.delta wordt geretourneerd wanneer de door het model gegenereerde tekst wordt bijgewerkt. |
RealtimeServerEventResponseTextDone | De servergebeurtenis response.text.done wordt geretourneerd wanneer de door het model gegenereerde tekst wordt gestreamd. |
RealtimeServerEventSessionCreated | De server session.created gebeurtenis is de eerste server gebeurtenis wanneer u een nieuwe verbinding met de Realtime-API tot stand brengt. Met deze gebeurtenis wordt een nieuwe sessie gemaakt en geretourneerd met de standaardsessieconfiguratie. |
RealtimeServerEventSessionUpdated | De servergebeurtenis session.updated wordt geretourneerd wanneer een sessie wordt bijgewerkt door de client. Als er een fout optreedt, verzendt de server in plaats daarvan een error gebeurtenis. |
RealtimeServerEventConversationCreated
De servergebeurtenis conversation.created
wordt direct na het maken van de sessie geretourneerd. Er wordt één gesprek per sessie gemaakt.
Gebeurtenisstructuur
{
"type": "conversation.created",
"conversation": {
"id": "<id>",
"object": "<object>"
}
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn conversation.created . |
gesprek | object | De gespreksresource. |
Gesprekseigenschappen
Veld | Type | Beschrijving |
---|---|---|
id | tekenreeks | De unieke id van het gesprek. |
object | tekenreeks | Het objecttype moet zijn realtime.conversation . |
RealtimeServerEventConversationItemCreated
De servergebeurtenis conversation.item.created
wordt geretourneerd wanneer een gespreksitem wordt gemaakt. Er zijn verschillende scenario's die deze gebeurtenis produceren:
- De server genereert een antwoord, dat, indien geslaagd, een of twee items produceert, wat van het type
message
(rolassistant
) of het typefunction_call
is. - De invoeraudiobuffer wordt doorgevoerd door de client of de server (in
server_vad
de modus). De server neemt de inhoud van de invoeraudiobuffer en voegt deze toe aan een nieuw gebruikersberichtitem. - De client heeft een
conversation.item.create
gebeurtenis verzonden om een nieuw item toe te voegen aan het gesprek.
Gebeurtenisstructuur
{
"type": "conversation.item.created",
"previous_item_id": "<previous_item_id>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn conversation.item.created . |
previous_item_id | tekenreeks | Met de id van het voorgaande item in de gesprekscontext kan de client de volgorde van het gesprek begrijpen. |
item | RealtimeConversationResponseItem | Het item dat is gemaakt. |
RealtimeServerEventConversationItemDeleted
De servergebeurtenis conversation.item.deleted
wordt geretourneerd wanneer de client een item in het gesprek met een conversation.item.delete
gebeurtenis heeft verwijderd. Deze gebeurtenis wordt gebruikt om het begrip van de gespreksgeschiedenis van de server te synchroniseren met de weergave van de client.
Gebeurtenisstructuur
{
"type": "conversation.item.deleted",
"item_id": "<item_id>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn conversation.item.deleted . |
item_id | tekenreeks | De id van het item dat is verwijderd. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted
De server conversation.item.input_audio_transcription.completed
gebeurtenis is het resultaat van audiotranscriptie voor spraak die naar de audiobuffer is geschreven.
Transcriptie begint wanneer de invoeraudiobuffer wordt doorgevoerd door de client of server (in server_vad
de modus). Transcriptie wordt asynchroon uitgevoerd bij het maken van een antwoord, zodat deze gebeurtenis vóór of na de reactie-gebeurtenissen kan komen.
Realtime-API-modellen accepteren audio systeemeigen en daarom is invoertranscriptie een afzonderlijk proces dat wordt uitgevoerd op een afzonderlijk spraakherkenningsmodel, momenteel altijd whisper-1
. Het transcript kan dus enigszins afwijken van de interpretatie van het model en moet worden behandeld als een ruwe handleiding.
Gebeurtenisstructuur
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn conversation.item.input_audio_transcription.completed . |
item_id | tekenreeks | De id van het gebruikersberichtitem met de audio. |
content_index | geheel getal | De index van het inhoudsonderdeel met de audio. |
afschrift | tekenreeks | De getranscribeerde tekst. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed
De servergebeurtenis conversation.item.input_audio_transcription.failed
wordt geretourneerd wanneer de invoer van audiotranscriptie is geconfigureerd en een transcriptieaanvraag voor een gebruikersbericht is mislukt. Deze gebeurtenis staat los van andere error
gebeurtenissen, zodat de client het gerelateerde item kan identificeren.
Gebeurtenisstructuur
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn conversation.item.input_audio_transcription.failed . |
item_id | tekenreeks | De id van het item van het gebruikersbericht. |
content_index | geheel getal | De index van het inhoudsonderdeel met de audio. |
error | object | Details van de transcriptiefout. Zie geneste eigenschappen in de volgende tabel. |
Fouteigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type fout. |
code | tekenreeks | Foutcode, indien van toepassing. |
bericht | tekenreeks | Een door mensen leesbaar foutbericht. |
param | tekenreeks | Parameter met betrekking tot de fout, indien van toepassing. |
RealtimeServerEventConversationItemTruncated
De servergebeurtenis conversation.item.truncated
wordt geretourneerd wanneer de client een eerder audioberichtitem met een assistent afkapt met een conversation.item.truncate
gebeurtenis. Deze gebeurtenis wordt gebruikt om het begrip van de audio van de server te synchroniseren met het afspelen van de client.
Met deze gebeurtenis wordt de audio afgekapt en wordt de transcriptie van de tekst aan de serverzijde verwijderd om ervoor te zorgen dat er geen tekst is in de context waarover de gebruiker niet weet.
Gebeurtenisstructuur
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn conversation.item.truncated . |
item_id | tekenreeks | De id van het berichtitem van de assistent dat is afgekapt. |
content_index | geheel getal | De index van het inhoudsonderdeel dat is afgekapt. |
audio_end_ms | geheel getal | De duur totdat de audio is afgekapt, in milliseconden. |
RealtimeServerEventError
De servergebeurtenis error
wordt geretourneerd wanneer er een fout optreedt, wat een clientprobleem of een serverprobleem kan zijn. De meeste fouten kunnen worden hersteld en de sessie blijft geopend.
Gebeurtenisstructuur
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn error . |
error | object | Details van de fout. Zie geneste eigenschappen in de volgende tabel. |
Fouteigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type fout. 'invalid_request_error' en 'server_error' zijn bijvoorbeeld fouttypen. |
code | tekenreeks | Foutcode, indien van toepassing. |
bericht | tekenreeks | Een door mensen leesbaar foutbericht. |
param | tekenreeks | Parameter met betrekking tot de fout, indien van toepassing. |
event_id | tekenreeks | De id van de client gebeurtenis die de fout heeft veroorzaakt, indien van toepassing. |
RealtimeServerEventInputAudioBuffer Cleared
De servergebeurtenis input_audio_buffer.cleared
wordt geretourneerd wanneer de client de invoeraudiobuffer wist met een input_audio_buffer.clear
gebeurtenis.
Gebeurtenisstructuur
{
"type": "input_audio_buffer.cleared"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn input_audio_buffer.cleared . |
RealtimeServerEventInputAudioBufferCommitted
De servergebeurtenis input_audio_buffer.committed
wordt geretourneerd wanneer een invoeraudiobuffer wordt doorgevoerd door de client of automatisch in de server-VAD-modus. De item_id
eigenschap is de id van het gebruikersberichtitem dat is gemaakt. Er wordt dus ook een conversation.item.created
gebeurtenis naar de client verzonden.
Gebeurtenisstructuur
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn input_audio_buffer.committed . |
previous_item_id | tekenreeks | De id van het voorgaande item waarna het nieuwe item wordt ingevoegd. |
item_id | tekenreeks | De id van het gebruikersberichtitem dat is gemaakt. |
RealtimeServerEventInputAudioBufferSpeechStarted
De servergebeurtenis input_audio_buffer.speech_started
wordt geretourneerd in server_vad
de modus wanneer spraak wordt gedetecteerd in de audiobuffer. Deze gebeurtenis kan zich voordoen wanneer audio aan de buffer wordt toegevoegd (tenzij spraak al is gedetecteerd).
Notitie
De client kan deze gebeurtenis gebruiken om het afspelen van audio te onderbreken of visuele feedback te geven aan de gebruiker.
De client verwacht een input_audio_buffer.speech_stopped
gebeurtenis te ontvangen wanneer spraak stopt. De item_id
eigenschap is de id van het gebruikersberichtitem dat is gemaakt wanneer spraak stopt. De item_id
is ook opgenomen in de input_audio_buffer.speech_stopped
gebeurtenis, tenzij de client de audiobuffer handmatig doorvoert tijdens vad-activering.
Gebeurtenisstructuur
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn input_audio_buffer.speech_started . |
audio_start_ms | geheel getal | Milliseconden vanaf het begin van alle audio die tijdens de sessie naar de buffer is geschreven toen spraak voor het eerst werd gedetecteerd. Deze eigenschap komt overeen met het begin van de audio die naar het model wordt verzonden en bevat dus de prefix_padding_ms geconfigureerde in de sessie. |
item_id | tekenreeks | De id van het gebruikersberichtitem dat is gemaakt wanneer spraak stopt. |
RealtimeServerEventInputAudioBufferSpeechStopped
De servergebeurtenis input_audio_buffer.speech_stopped
wordt geretourneerd in server_vad
de modus wanneer de server het einde van de spraak in de audiobuffer detecteert.
De server verzendt ook een conversation.item.created
gebeurtenis met het gebruikersberichtitem dat is gemaakt op basis van de audiobuffer.
Gebeurtenisstructuur
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn input_audio_buffer.speech_stopped . |
audio_end_ms | geheel getal | Milliseconden sinds de sessie is gestart toen spraak werd gestopt. Deze eigenschap komt overeen met het einde van de audio die naar het model wordt verzonden en bevat dus de min_silence_duration_ms geconfigureerde in de sessie. |
item_id | tekenreeks | De id van het gebruikersberichtitem dat is gemaakt. |
RealtimeServerEventRateLimitsUpdated
De server rate_limits.updated
gebeurtenis wordt verzonden aan het begin van een reactie om de bijgewerkte frequentielimieten aan te geven.
Wanneer een antwoord wordt gemaakt, zijn sommige tokens gereserveerd voor de uitvoertokens. De frequentielimieten die hier worden weergegeven, weerspiegelen die reservering, die vervolgens dienovereenkomstig wordt aangepast zodra het antwoord is voltooid.
Gebeurtenisstructuur
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn rate_limits.updated . |
rate_limits | matrix van RealtimeServerEventRateLimitsUpdatedRateLimitsItem | De lijst met frequentielimietgegevens. |
RealtimeServerEventResponseAudioDelta
De servergebeurtenis response.audio.delta
wordt geretourneerd wanneer de door het model gegenereerde audio wordt bijgewerkt.
Gebeurtenisstructuur
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.audio.delta . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
content_index | geheel getal | De index van het inhoudsonderdeel in de inhoudsmatrix van het item. |
delta | tekenreeks | Met Base64 gecodeerde audiogegevens delta. |
RealtimeServerEventResponseAudioDone
De servergebeurtenis response.audio.done
wordt geretourneerd wanneer de door het model gegenereerde audio wordt uitgevoerd.
Deze gebeurtenis wordt ook geretourneerd wanneer een antwoord wordt onderbroken, onvolledig of geannuleerd.
Gebeurtenisstructuur
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.audio.done . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
content_index | geheel getal | De index van het inhoudsonderdeel in de inhoudsmatrix van het item. |
RealtimeServerEventResponseAudioTranscriptDelta
De servergebeurtenis response.audio_transcript.delta
wordt geretourneerd wanneer de door het model gegenereerde transcriptie van audio-uitvoer wordt bijgewerkt.
Gebeurtenisstructuur
{
"type": "response.audio_transcript.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.audio_transcript.delta . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
content_index | geheel getal | De index van het inhoudsonderdeel in de inhoudsmatrix van het item. |
delta | tekenreeks | De transcript delta. |
RealtimeServerEventResponseAudioTranscriptDone
De servergebeurtenis response.audio_transcript.done
wordt geretourneerd wanneer de door het model gegenereerde transcriptie van audio-uitvoer klaar is met streamen.
Deze gebeurtenis wordt ook geretourneerd wanneer een antwoord wordt onderbroken, onvolledig of geannuleerd.
Gebeurtenisstructuur
{
"type": "response.audio_transcript.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"transcript": "<transcript>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.audio_transcript.done . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
content_index | geheel getal | De index van het inhoudsonderdeel in de inhoudsmatrix van het item. |
afschrift | tekenreeks | Het laatste transcript van de audio. |
RealtimeServerEventResponseContentPartAdded
De servergebeurtenis response.content_part.added
wordt geretourneerd wanneer een nieuw inhoudsonderdeel wordt toegevoegd aan een assistentberichtitem tijdens het genereren van het antwoord.
Gebeurtenisstructuur
{
"type": "response.content_part.added",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.content_part.added . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item waaraan het inhoudsonderdeel is toegevoegd. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
content_index | geheel getal | De index van het inhoudsonderdeel in de inhoudsmatrix van het item. |
deel | RealtimeContentPart | Het inhoudsonderdeel dat is toegevoegd. |
Eigenschappen van onderdelen
Veld | Type | Description |
---|---|---|
type | RealtimeContentPartType |
RealtimeServerEventResponseContentPartDone
De servergebeurtenis response.content_part.done
wordt geretourneerd wanneer een inhoudsonderdeel klaar is met streamen in een assistentberichtitem.
Deze gebeurtenis wordt ook geretourneerd wanneer een antwoord wordt onderbroken, onvolledig of geannuleerd.
Gebeurtenisstructuur
{
"type": "response.content_part.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.content_part.done . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
content_index | geheel getal | De index van het inhoudsonderdeel in de inhoudsmatrix van het item. |
deel | RealtimeContentPart | Het inhoudsonderdeel dat wordt uitgevoerd. |
Eigenschappen van onderdelen
Veld | Type | Description |
---|---|---|
type | RealtimeContentPartType |
RealtimeServerEventResponseCreated
De servergebeurtenis response.created
wordt geretourneerd wanneer er een nieuw antwoord wordt gemaakt. Dit is de eerste gebeurtenis van het maken van een antwoord, waarbij het antwoord de eerste status heeft.in_progress
Gebeurtenisstructuur
{
"type": "response.created"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.created . |
antwoord | RealtimeResponse | Het antwoordobject. |
RealtimeServerEventResponseDone
De servergebeurtenis response.done
wordt geretourneerd wanneer er een antwoord wordt gestreamd. Deze gebeurtenis wordt altijd verzonden, ongeacht de uiteindelijke status. Het antwoordobject dat in de response.done
gebeurtenis is opgenomen, bevat alle uitvoeritems in het antwoord, maar laat de onbewerkte audiogegevens weg.
Gebeurtenisstructuur
{
"type": "response.done"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.done . |
antwoord | RealtimeResponse | Het antwoordobject. |
RealtimeServerEventResponseFunctionCallArgumentsDelta
De servergebeurtenis response.function_call_arguments.delta
wordt geretourneerd wanneer de door het model gegenereerde functie-aanroepargumenten worden bijgewerkt.
Gebeurtenisstructuur
{
"type": "response.function_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"delta": "<delta>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.function_call_arguments.delta . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item van de functie-aanroep. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
call_id | tekenreeks | De id van de functie-aanroep. |
delta | tekenreeks | De argumenten verschillen als een JSON-tekenreeks. |
RealtimeServerEventResponseFunctionCallArgumentsDone
De servergebeurtenis response.function_call_arguments.done
wordt geretourneerd wanneer de door het model gegenereerde functie-aanroepargumenten klaar zijn met streamen.
Deze gebeurtenis wordt ook geretourneerd wanneer een antwoord wordt onderbroken, onvolledig of geannuleerd.
Gebeurtenisstructuur
{
"type": "response.function_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"arguments": "<arguments>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.function_call_arguments.done . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item van de functie-aanroep. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
call_id | tekenreeks | De id van de functie-aanroep. |
Argumenten | tekenreeks | De laatste argumenten als een JSON-tekenreeks. |
RealtimeServerEventResponseOutputItemAdded
De servergebeurtenis response.output_item.added
wordt geretourneerd wanneer er een nieuw item wordt gemaakt tijdens het genereren van het antwoord.
Gebeurtenisstructuur
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.output_item.added . |
response_id | tekenreeks | De id van het antwoord waartoe het item behoort. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
item | RealtimeConversationResponseItem | Het item dat is toegevoegd. |
RealtimeServerEventResponseOutputItemDone
De servergebeurtenis response.output_item.done
wordt geretourneerd wanneer een item klaar is met streamen.
Deze gebeurtenis wordt ook geretourneerd wanneer een antwoord wordt onderbroken, onvolledig of geannuleerd.
Gebeurtenisstructuur
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.output_item.done . |
response_id | tekenreeks | De id van het antwoord waartoe het item behoort. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
item | RealtimeConversationResponseItem | Het item dat is gestreamd. |
RealtimeServerEventResponseTextDelta
De servergebeurtenis response.text.delta
wordt geretourneerd wanneer de door het model gegenereerde tekst wordt bijgewerkt. De tekst komt overeen met het text
inhoudsgedeelte van een assistentberichtitem.
Gebeurtenisstructuur
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.text.delta . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
content_index | geheel getal | De index van het inhoudsonderdeel in de inhoudsmatrix van het item. |
delta | tekenreeks | De tekst delta. |
RealtimeServerEventResponseTextDone
De servergebeurtenis response.text.done
wordt geretourneerd wanneer de door het model gegenereerde tekst wordt gestreamd. De tekst komt overeen met het text
inhoudsgedeelte van een assistentberichtitem.
Deze gebeurtenis wordt ook geretourneerd wanneer een antwoord wordt onderbroken, onvolledig of geannuleerd.
Gebeurtenisstructuur
{
"type": "response.text.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"text": "<text>"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn response.text.done . |
response_id | tekenreeks | De id van het antwoord. |
item_id | tekenreeks | De id van het item. |
output_index | geheel getal | De index van het uitvoeritem in het antwoord. |
content_index | geheel getal | De index van het inhoudsonderdeel in de inhoudsmatrix van het item. |
sms verzenden | tekenreeks | De uiteindelijke tekstinhoud. |
RealtimeServerEventSessionCreated
De server session.created
gebeurtenis is de eerste server gebeurtenis wanneer u een nieuwe verbinding met de Realtime-API tot stand brengt. Met deze gebeurtenis wordt een nieuwe sessie gemaakt en geretourneerd met de standaardsessieconfiguratie.
Gebeurtenisstructuur
{
"type": "session.created"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn session.created . |
session | RealtimeResponseSession | Het sessieobject. |
RealtimeServerEventSessionUpdated
De servergebeurtenis session.updated
wordt geretourneerd wanneer een sessie wordt bijgewerkt door de client. Als er een fout optreedt, verzendt de server in plaats daarvan een error
gebeurtenis.
Gebeurtenisstructuur
{
"type": "session.updated"
}
Eigenschappen
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het gebeurtenistype moet zijn session.updated . |
session | RealtimeResponseSession | Het sessieobject. |
Onderdelen
RealtimeAudioFormat
Toegestane waarden:
pcm16
g711_ulaw
g711_alaw
RealtimeAudioInputTranscriptionModel
Toegestane waarden:
whisper-1
RealtimeAudioInputTranscriptionSettings
Veld | Type | Description |
---|---|---|
model | RealtimeAudioInputTranscriptionModel | Het standaardmodel whisper-1 is momenteel het enige model dat wordt ondersteund voor transcriptie van audio-invoer. |
RealtimeClientEvent
Veld | Type | Description |
---|---|---|
type | RealtimeClientEventType | Het type client-gebeurtenis. |
event_id | tekenreeks | De unieke id van de gebeurtenis. De client kan de id opgeven om de gebeurtenis te identificeren. |
RealtimeClientEventType
Toegestane waarden:
session.update
input_audio_buffer.append
input_audio_buffer.commit
input_audio_buffer.clear
conversation.item.create
conversation.item.delete
conversation.item.truncate
response.create
response.cancel
RealtimeContentPart
Veld | Type | Description |
---|---|---|
type | RealtimeContentPartType | Het inhoudstype. Een eigenschap van het function object.Toegestane waarden: input_text , input_audio , item_reference , . text |
sms verzenden | tekenreeks | De tekstinhoud. Deze eigenschap is van toepassing op de input_text en text inhoudstypen. |
id | tekenreeks | Id van een eerder gespreksitem waarnaar moet worden verwezen in zowel client- als serveritems. Deze eigenschap is van toepassing op het item_reference inhoudstype in response.create gebeurtenissen. |
audio | tekenreeks | De met base64 gecodeerde audiobytes. Deze eigenschap is van toepassing op het input_audio inhoudstype. |
afschrift | tekenreeks | Het transcript van de audio. Deze eigenschap is van toepassing op het input_audio inhoudstype. |
RealtimeContentPartType
Toegestane waarden:
input_text
input_audio
text
audio
RealtimeConversationItemBase
Het item dat moet worden toegevoegd aan het gesprek.
In deze tabel worden alle RealtimeConversationItem
eigenschappen beschreven. De eigenschappen die per gebeurtenis van toepassing zijn, zijn afhankelijk van het RealtimeItemType.
Veld | Type | Beschrijving |
---|---|---|
id | tekenreeks | De unieke id van het item. De client kan de id opgeven om context aan de serverzijde te beheren. Als de client geen id opgeeft, genereert de server er een. |
type | RealtimeItemType | Het type item. Toegestane waarden: message , function_call function_call_output |
object | tekenreeks | De id voor het API-object dat wordt geretourneerd. De waarde is realtime.item altijd. |
status | RealtimeItemStatus | De status van het item. Dit veld heeft geen invloed op het gesprek, maar wordt geaccepteerd voor consistentie met de conversation.item.created gebeurtenis.Toegestane waarden: completed , incomplete |
role | RealtimeMessageRole | De rol van de afzender van het bericht. Deze eigenschap is alleen van toepassing op message items. Toegestane waarden: system , user assistant |
content | matrix van RealtimeContentPart | De inhoud van het bericht. Deze eigenschap is alleen van toepassing op message items.- Berichtitems van rol system ondersteunen alleen input_text inhoud.- Berichtitems van rolondersteuning user input_text en input_audio -inhoud.- Berichtitems van rolondersteuningsinhoud assistant text . |
call_id | tekenreeks | De id van de functie-aanroep (voor function_call en function_call_output items). Als een function_call_output item wordt doorgegeven, controleert de server of een function_call item met dezelfde id bestaat in de gespreksgeschiedenis. |
naam | tekenreeks | De naam van de functie die wordt aangeroepen (voor function_call items). |
Argumenten | tekenreeks | De argumenten van de functieoproep (voor function_call items). |
output | tekenreeks | De uitvoer van de functie-aanroep (voor function_call_output items). |
RealtimeConversationRequestItem
U gebruikt het RealtimeConversationRequestItem
object om een nieuw item in het gesprek te maken via de gebeurtenis conversation.item.create .
Veld | Type | Description |
---|---|---|
type | RealtimeItemType | Het type item. |
id | tekenreeks | De unieke id van het item. De client kan de id opgeven om context aan de serverzijde te beheren. Als de client geen id opgeeft, genereert de server er een. |
RealtimeConversationResponseItem
Het RealtimeConversationResponseItem
object vertegenwoordigt een item in het gesprek. Deze wordt gebruikt in een aantal van de server gebeurtenissen, zoals:
- conversation.item.created
- response.output_item.added
- response.output_item.done
-
response.created
(via hetresponse
eigenschapstypeRealtimeResponse
) -
response.done
(via hetresponse
eigenschapstypeRealtimeResponse
)
Veld | Type | Description |
---|---|---|
object | tekenreeks | De id voor het geretourneerde API-object. Toegestane waarden: realtime.item |
type | RealtimeItemType | Het type item. Toegestane waarden: message , function_call function_call_output |
id | tekenreeks | De unieke id van het item. De client kan de id opgeven om context aan de serverzijde te beheren. Als de client geen id opgeeft, genereert de server er een. Deze eigenschap kan null worden gebruikt. |
RealtimeFunctionTool
De definitie van een functiehulpprogramma dat wordt gebruikt door het realtime-eindpunt.
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type hulpprogramma. Toegestane waarden: function |
naam | tekenreeks | De naam van de functie. |
beschrijving | tekenreeks | De beschrijving van de functie, inclusief gebruiksrichtlijnen. Gebruik deze functie bijvoorbeeld om de huidige tijd op te halen. |
parameters | object | De parameters van de functie in de vorm van een JSON-object. |
RealtimeItemStatus
Toegestane waarden:
in_progress
completed
incomplete
RealtimeItemType
Toegestane waarden:
message
function_call
function_call_output
RealtimeMessageRole
Toegestane waarden:
system
user
assistant
RealtimeRequestAssistantMessageItem
Veld | Type | Description |
---|---|---|
role | tekenreeks | De rol van het bericht. Toegestane waarden: assistant |
content | matrix van RealtimeRequestTextContentPart | De inhoud van het bericht. |
RealtimeRequestAudioContentPart
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type inhoudsonderdeel. Toegestane waarden: input_audio |
afschrift | tekenreeks | Het transcript van de audio. |
RealtimeRequestFunctionCallItem
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type item. Toegestane waarden: function_call |
naam | tekenreeks | De naam van het item van de functie-aanroep. |
call_id | tekenreeks | De id van het item van de functie-aanroep. |
Argumenten | tekenreeks | De argumenten van het functie-aanroepitem. |
status | RealtimeItemStatus | De status van het item. |
RealtimeRequestFunctionCallOutputItem
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type item. Toegestane waarden: function_call_output |
call_id | tekenreeks | De id van het item van de functie-aanroep. |
output | tekenreeks | De uitvoer van het functie-aanroepitem. |
RealtimeRequestMessageItem
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type item. Toegestane waarden: message |
role | RealtimeMessageRole | De rol van het bericht. |
status | RealtimeItemStatus | De status van het item. |
RealtimeRequestMessageReferenceItem
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type item. Toegestane waarden: message |
id | tekenreeks | De ID van het berichtitem. |
RealtimeRequestSession
U gebruikt het RealtimeRequestSession
object wanneer u de sessieconfiguratie wilt bijwerken via de sessie.update-gebeurtenis .
Veld | Type | Description |
---|---|---|
Modaliteiten | matrix | De modaliteiten die de sessie ondersteunt. Toegestane waarden: text , audio Is bijvoorbeeld "modalities": ["text", "audio"] de standaardinstelling die zowel tekst- als audiomodaliteiten mogelijk maakt. Als u alleen tekst wilt inschakelen, stelt u deze in "modalities": ["text"] . U kunt alleen audio niet inschakelen. |
Instructies | tekenreeks | De instructies (het systeembericht) om de tekst- en audioreacties van het model te begeleiden. Hier volgen enkele voorbeelden van instructies voor het begeleiden van inhoud en indeling van tekst- en audioantwoorden: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Hier volgen enkele voorbeeldinstructies om het audiogedrag te begeleiden: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Hoewel het model deze instructies mogelijk niet altijd volgt, bieden ze richtlijnen voor het gewenste gedrag. |
voice | RealtimeVoice | De stem die wordt gebruikt voor het modelantwoord voor de sessie. Zodra de stem in de sessie wordt gebruikt voor het audioantwoord van het model, kan deze niet meer worden gewijzigd. |
input_audio_format | RealtimeAudioFormat | De indeling voor de invoeraudio. |
output_audio_format | RealtimeAudioFormat | De indeling voor de uitvoeraudio. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | De instellingen voor transcriptie van audio-invoer. Deze eigenschap kan null worden gebruikt. |
turn_detection | RealtimeTurnDetection | De instellingen voor draaidetectie voor de sessie. Deze eigenschap kan null worden gebruikt. |
tools | matrix van RealtimeTool | De hulpprogramma's die beschikbaar zijn voor het model voor de sessie. |
tool_choice | RealtimeToolChoice | De keuze voor het hulpprogramma voor de sessie. Toegestane waarden: auto , none en required . Anders kunt u de naam opgeven van de functie die u wilt gebruiken. |
temperatuur | Nummer | De steekproeftemperatuur voor het model. De toegestane temperatuurwaarden zijn beperkt tot [0,6, 1.2]. De standaardwaarde is 0,8. |
max_response_output_tokens | geheel getal of "inf" | Het maximum aantal uitvoertokens per assistentantwoord, inclusief hulpprogramma-aanroepen. Geef een geheel getal op tussen 1 en 4096 om de uitvoertokens te beperken. Anders stelt u de waarde in op 'inf' om het maximum aantal tokens toe te staan. Als u bijvoorbeeld de uitvoertokens wilt beperken tot 1000, stelt u in "max_response_output_tokens": 1000 . Als u het maximum aantal tokens wilt toestaan, stelt u het in "max_response_output_tokens": "inf" .Standaard ingesteld op "inf" . |
RealtimeRequestSystemMessageItem
Veld | Type | Description |
---|---|---|
role | tekenreeks | De rol van het bericht. Toegestane waarden: system |
content | matrix van RealtimeRequestTextContentPart | De inhoud van het bericht. |
RealtimeRequestTextContentPart
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type inhoudsonderdeel. Toegestane waarden: input_text |
sms verzenden | tekenreeks | De tekstinhoud. |
RealtimeRequestUserMessageItem
Veld | Type | Description |
---|---|---|
role | tekenreeks | De rol van het bericht. Toegestane waarden: user |
content | matrix van RealtimeRequestTextContentPart of RealtimeRequestAudioContentPart | De inhoud van het bericht. |
RealtimeResponse
Veld | Type | Description |
---|---|---|
object | tekenreeks | Het antwoordobject. Toegestane waarden: realtime.response |
id | tekenreeks | De unieke id van het antwoord. |
status | RealtimeResponseStatus | De status van het antwoord. De standaardstatuswaarde is in_progress . |
status_details | RealtimeResponseStatusDetails | De details van de antwoordstatus. Deze eigenschap kan null worden gebruikt. |
output | matrix van RealtimeConversationResponseItem | De uitvoeritems van het antwoord. |
gebruikt | object | Gebruiksstatistieken voor het antwoord. Elke Realtime API-sessie onderhoudt een gesprekscontext en voegt nieuwe items toe aan het gesprek. Uitvoer van vorige bochten (tekst- en audiotokens) is invoer voor latere beurten. Zie vervolgens geneste eigenschappen. |
+ total_tokens | geheel getal | Het totale aantal tokens in het antwoord, inclusief invoer- en uitvoertekst en audiotokens. Een eigenschap van het usage object. |
+ input_tokens | geheel getal | Het aantal invoertokens dat in het antwoord wordt gebruikt, inclusief tekst- en audiotokens. Een eigenschap van het usage object. |
+ output_tokens | geheel getal | Het aantal uitvoertokens dat in het antwoord wordt verzonden, inclusief tekst- en audiotokens. Een eigenschap van het usage object. |
+ input_token_details | object | Details over de invoertokens die in het antwoord worden gebruikt. Een eigenschap van het usage object.Br> Zie vervolgens geneste eigenschappen. |
+ cached_tokens | geheel getal | Het aantal tokens in de cache dat in het antwoord wordt gebruikt. Een eigenschap van het input_token_details object. |
+ text_tokens | geheel getal | Het aantal teksttokens dat in het antwoord wordt gebruikt. Een eigenschap van het input_token_details object. |
+ audio_tokens | geheel getal | Het aantal audiotokens dat in het antwoord wordt gebruikt. Een eigenschap van het input_token_details object. |
+ output_token_details | object | Details over de uitvoertokens die in het antwoord worden gebruikt. Een eigenschap van het usage object.Zie vervolgens geneste eigenschappen. |
+ text_tokens | geheel getal | Het aantal teksttokens dat in het antwoord wordt gebruikt. Een eigenschap van het output_token_details object. |
+ audio_tokens | geheel getal | Het aantal audiotokens dat in het antwoord wordt gebruikt. Een eigenschap van het output_token_details object. |
RealtimeResponseAudioContentPart
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type inhoudsonderdeel. Toegestane waarden: audio |
afschrift | tekenreeks | Het transcript van de audio. Deze eigenschap kan null worden gebruikt. |
RealtimeResponseBase
De antwoordresource.
RealtimeResponseFunctionCallItem
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type item. Toegestane waarden: function_call |
naam | tekenreeks | De naam van het item van de functie-aanroep. |
call_id | tekenreeks | De id van het item van de functie-aanroep. |
Argumenten | tekenreeks | De argumenten van het functie-aanroepitem. |
status | RealtimeItemStatus | De status van het item. |
RealtimeResponseFunctionCallOutputItem
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type item. Toegestane waarden: function_call_output |
call_id | tekenreeks | De id van het item van de functie-aanroep. |
output | tekenreeks | De uitvoer van het functie-aanroepitem. |
RealtimeResponseMessageItem
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type item. Toegestane waarden: message |
role | RealtimeMessageRole | De rol van het bericht. |
content | matrix | De inhoud van het bericht. Matrixitems: RealtimeResponseTextContentPart |
status | RealtimeItemStatus | De status van het item. |
RealtimeResponseOptions
Veld | Type | Description |
---|---|---|
Modaliteiten | matrix | De modaliteiten die de sessie ondersteunt. Toegestane waarden: text , audio Is bijvoorbeeld "modalities": ["text", "audio"] de standaardinstelling die zowel tekst- als audiomodaliteiten mogelijk maakt. Als u alleen tekst wilt inschakelen, stelt u deze in "modalities": ["text"] . U kunt alleen audio niet inschakelen. |
Instructies | tekenreeks | De instructies (het systeembericht) om de tekst- en audioreacties van het model te begeleiden. Hier volgen enkele voorbeelden van instructies voor het begeleiden van inhoud en indeling van tekst- en audioantwoorden: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Hier volgen enkele voorbeeldinstructies om het audiogedrag te begeleiden: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Hoewel het model deze instructies mogelijk niet altijd volgt, bieden ze richtlijnen voor het gewenste gedrag. |
voice | RealtimeVoice | De stem die wordt gebruikt voor het modelantwoord voor de sessie. Zodra de stem in de sessie wordt gebruikt voor het audioantwoord van het model, kan deze niet meer worden gewijzigd. |
output_audio_format | RealtimeAudioFormat | De indeling voor de uitvoeraudio. |
tools | matrix van RealtimeTool | De hulpprogramma's die beschikbaar zijn voor het model voor de sessie. |
tool_choice | RealtimeToolChoice | De keuze voor het hulpprogramma voor de sessie. |
temperatuur | Nummer | De steekproeftemperatuur voor het model. De toegestane temperatuurwaarden zijn beperkt tot [0,6, 1.2]. De standaardwaarde is 0,8. |
max__output_tokens | geheel getal of "inf" | Het maximum aantal uitvoertokens per assistentantwoord, inclusief hulpprogramma-aanroepen. Geef een geheel getal op tussen 1 en 4096 om de uitvoertokens te beperken. Anders stelt u de waarde in op 'inf' om het maximum aantal tokens toe te staan. Als u bijvoorbeeld de uitvoertokens wilt beperken tot 1000, stelt u in "max_response_output_tokens": 1000 . Als u het maximum aantal tokens wilt toestaan, stelt u het in "max_response_output_tokens": "inf" .Standaard ingesteld op "inf" . |
gesprek | tekenreeks | Hiermee bepaalt u aan welk gesprek het antwoord wordt toegevoegd. De ondersteunde waarden zijn auto en none .De auto waarde (of deze eigenschap niet instellen) zorgt ervoor dat de inhoud van het antwoord wordt toegevoegd aan het standaardgesprek van de sessie.Stel deze eigenschap in om none een out-of-band-antwoord te maken waarin items niet worden toegevoegd aan het standaardgesprek. Zie de handleiding voor instructies voor meer informatie.Standaard ingesteld op "auto" |
metagegevens | map | Set van maximaal 16 sleutel-waardeparen die aan een object kunnen worden gekoppeld. Dit kan handig zijn voor het opslaan van aanvullende informatie over het object in een gestructureerde indeling. Sleutels mogen maximaal 64 tekens lang zijn en waarden mogen maximaal 512 tekens lang zijn. Bijvoorbeeld: metadata: { topic: "classification" } |
input | matrix | Invoeritems die moeten worden opgenomen in de prompt voor het model. Hiermee maakt u een nieuwe context voor dit antwoord, zonder het standaardgesprek op te geven. Kan verwijzingen naar items uit het standaardgesprek bevatten. Matrixitems: RealtimeConversationItemBase |
RealtimeResponseSession
Het RealtimeResponseSession
object vertegenwoordigt een sessie in de Realtime-API. Deze wordt gebruikt in een aantal van de server gebeurtenissen, zoals:
Veld | Type | Description |
---|---|---|
object | tekenreeks | Het sessieobject. Toegestane waarden: realtime.session |
id | tekenreeks | De unieke id van de sessie. |
model | tekenreeks | Het model dat wordt gebruikt voor de sessie. |
Modaliteiten | matrix | De modaliteiten die de sessie ondersteunt. Toegestane waarden: text , audio Is bijvoorbeeld "modalities": ["text", "audio"] de standaardinstelling die zowel tekst- als audiomodaliteiten mogelijk maakt. Als u alleen tekst wilt inschakelen, stelt u deze in "modalities": ["text"] . U kunt alleen audio niet inschakelen. |
Instructies | tekenreeks | De instructies (het systeembericht) om de tekst- en audioreacties van het model te begeleiden. Hier volgen enkele voorbeelden van instructies voor het begeleiden van inhoud en indeling van tekst- en audioantwoorden: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Hier volgen enkele voorbeeldinstructies om het audiogedrag te begeleiden: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Hoewel het model deze instructies mogelijk niet altijd volgt, bieden ze richtlijnen voor het gewenste gedrag. |
voice | RealtimeVoice | De stem die wordt gebruikt voor het modelantwoord voor de sessie. Zodra de stem in de sessie wordt gebruikt voor het audioantwoord van het model, kan deze niet meer worden gewijzigd. |
input_audio_format | RealtimeAudioFormat | De indeling voor de invoeraudio. |
output_audio_format | RealtimeAudioFormat | De indeling voor de uitvoeraudio. |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | De instellingen voor transcriptie van audio-invoer. Deze eigenschap kan null worden gebruikt. |
turn_detection | RealtimeTurnDetection | De instellingen voor draaidetectie voor de sessie. Deze eigenschap kan null worden gebruikt. |
tools | matrix van RealtimeTool | De hulpprogramma's die beschikbaar zijn voor het model voor de sessie. |
tool_choice | RealtimeToolChoice | De keuze voor het hulpprogramma voor de sessie. |
temperatuur | Nummer | De steekproeftemperatuur voor het model. De toegestane temperatuurwaarden zijn beperkt tot [0,6, 1.2]. De standaardwaarde is 0,8. |
max_response_output_tokens | geheel getal of "inf" | Het maximum aantal uitvoertokens per assistentantwoord, inclusief hulpprogramma-aanroepen. Geef een geheel getal op tussen 1 en 4096 om de uitvoertokens te beperken. Anders stelt u de waarde in op 'inf' om het maximum aantal tokens toe te staan. Als u bijvoorbeeld de uitvoertokens wilt beperken tot 1000, stelt u in "max_response_output_tokens": 1000 . Als u het maximum aantal tokens wilt toestaan, stelt u het in "max_response_output_tokens": "inf" . |
RealtimeResponseStatus
Toegestane waarden:
in_progress
completed
cancelled
incomplete
failed
RealtimeResponseStatusDetails
Veld | Type | Description |
---|---|---|
type | RealtimeResponseStatus | De status van het antwoord. |
RealtimeResponseTextContentPart
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type inhoudsonderdeel. Toegestane waarden: text |
sms verzenden | tekenreeks | De tekstinhoud. |
RealtimeServerEvent
Veld | Type | Description |
---|---|---|
type | RealtimeServerEventType | Het type server-gebeurtenis. |
event_id | tekenreeks | De unieke id van de server-gebeurtenis. |
RealtimeServerEventRateLimitsUpdatedRateLimitsItem
Veld | Type | Description |
---|---|---|
naam | tekenreeks | De eigenschapsnaam van de frequentielimiet waarover dit item informatie bevat. |
limiet | geheel getal | De maximaal geconfigureerde limiet voor deze eigenschap voor frequentielimiet. |
resterend | geheel getal | Het resterende quotum dat beschikbaar is voor de geconfigureerde limiet voor deze frequentielimieteigenschap. |
reset_seconds | Nummer | De resterende tijd, in seconden, totdat deze frequentielimieteigenschap opnieuw wordt ingesteld. |
RealtimeServerEventType
Toegestane waarden:
session.created
session.updated
conversation.created
conversation.item.created
conversation.item.deleted
conversation.item.truncated
response.created
response.done
rate_limits.updated
response.output_item.added
response.output_item.done
response.content_part.added
response.content_part.done
response.audio.delta
response.audio.done
response.audio_transcript.delta
response.audio_transcript.done
response.text.delta
response.text.done
response.function_call_arguments.delta
response.function_call_arguments.done
input_audio_buffer.speech_started
input_audio_buffer.speech_stopped
conversation.item.input_audio_transcription.completed
conversation.item.input_audio_transcription.failed
input_audio_buffer.committed
input_audio_buffer.cleared
error
RealtimeServerVadTurnDetection
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type draaidetectie. Toegestane waarden: server_vad |
threshold | Nummer | De activeringsdrempel voor de detectie van de vad-server. In lawaaierige omgevingen moet u mogelijk de drempelwaarde verhogen om fout-positieven te voorkomen. In rustige omgevingen moet u mogelijk de drempelwaarde verlagen om fout-negatieven te voorkomen. Standaard ingesteld op 0.5 . U kunt de drempelwaarde instellen op een waarde tussen 0.0 en 1.0 . |
prefix_padding_ms | tekenreeks | De duur van spraakaudio (in milliseconden) die vóór het begin van de gedetecteerde spraak moet worden opgenomen. Standaard ingesteld op 300 . |
silence_duration_ms | tekenreeks | De duur van stilte (in milliseconden) om het einde van de spraak te detecteren. U wilt het einde van de spraak zo snel mogelijk detecteren, maar niet te snel om te voorkomen dat het laatste deel van de spraak wordt afgekapt. Het model reageert sneller als u deze waarde instelt op een lager getal, maar het laatste deel van de spraak kan worden afgekapt. Als u deze waarde instelt op een hoger getal, wacht het model langer om het einde van de spraak te detecteren, maar het kan langer duren om te reageren. |
RealtimeSessionBase
Configuratie van realtime sessieobject.
RealtimeTool
De basisweergave van een realtime tooldefinitie.
Veld | Type | Description |
---|---|---|
type | RealtimeToolType | Het type hulpprogramma. |
RealtimeToolChoice
De gecombineerde set beschikbare weergaven voor een realtimeparameter tool_choice
, die zowel letterlijke opties voor tekenreeksen als 'auto' en gestructureerde verwijzingen naar gedefinieerde hulpprogramma's omvat.
RealtimeToolChoiceFunctionObject
De weergave van een realtime tool_choice
selecteren van een benoemd functiehulpprogramma.
Veld | Type | Description |
---|---|---|
type | tekenreeks | Het type van de tool_choice .Toegestane waarden: function |
function | object | Het functiehulpprogramma dat u wilt selecteren. Zie vervolgens geneste eigenschappen. |
+ naam | tekenreeks | De naam van het functiehulpprogramma. Een eigenschap van het function object. |
RealtimeToolChoiceLiteral
De beschikbare set opties voor letterlijke tekenreeksen tool_choice
op modusniveau voor het realtime-eindpunt.
Toegestane waarden:
auto
none
required
RealtimeToolChoiceObject
Een basisweergave voor een realtime tool_choice
selecteren van een benoemd hulpprogramma.
Veld | Type | Description |
---|---|---|
type | RealtimeToolType | Het type van de tool_choice . |
RealtimeToolType
Het ondersteunde hulpprogrammatypediscriminatoren voor realtime-hulpprogramma's. Momenteel worden alleen hulpprogramma's voor functies ondersteund.
Toegestane waarden:
function
RealtimeTurnDetection
Veld | Type | Description |
---|---|---|
type | RealtimeTurnDetectionType | Het type draaidetectie. Toegestane waarden: server_vad |
threshold | Nummer | De activeringsdrempel voor de detectie van de vad-server. In lawaaierige omgevingen moet u mogelijk de drempelwaarde verhogen om fout-positieven te voorkomen. In rustige omgevingen moet u mogelijk de drempelwaarde verlagen om fout-negatieven te voorkomen. Standaard ingesteld op 0.5 . U kunt de drempelwaarde instellen op een waarde tussen 0.0 en 1.0 . |
prefix_padding_ms | tekenreeks | De duur van spraakaudio (in milliseconden) die vóór het begin van de gedetecteerde spraak moet worden opgenomen. De standaardwaarde is 300 milliseconden. |
silence_duration_ms | tekenreeks | De duur van stilte (in milliseconden) om het einde van de spraak te detecteren. U wilt het einde van de spraak zo snel mogelijk detecteren, maar niet te snel om te voorkomen dat het laatste deel van de spraak wordt afgekapt. Het model reageert sneller als u deze waarde instelt op een lager getal, maar het laatste deel van de spraak kan worden afgekapt. Als u deze waarde instelt op een hoger getal, wacht het model langer om het einde van de spraak te detecteren, maar het kan langer duren om te reageren. De standaardwaarde is 500 milliseconden. |
create_response | boolean | Hiermee wordt aangegeven of de server automatisch een antwoord maakt wanneer VAD is ingeschakeld en spraak stopt. Standaard ingesteld op true . |
RealtimeTurnDetectionType
Toegestane waarden:
server_vad
RealtimeVoice
Toegestane waarden:
alloy
ash
ballad
coral
echo
sage
shimmer
verse
Gerelateerde inhoud
- Aan de slag met de quickstart voor de Realtime-API.
- Meer informatie over het gebruik van de Realtime-API.