Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Voice Live
Die Voice Live API bietet Echtzeit-bidirektionale Kommunikation für sprachgestützte Anwendungen über WebSocket-Verbindungen.
Die API verwendet JSON-formatierte Ereignisse, die über WebSocket-Verbindungen gesendet werden, um Gespräche, Audiostreams, Avatar-Interaktionen und Echtzeitantworten zu verwalten. Ereignisse werden in Client-Events (vom Client zum Server gesendet) und Server-Events (vom Server zu Client gesendet) unterteilt.
Endpunkt und Authentifizierung
WebSocket-Endpunkt
Der WebSocket-Endpunkt für die Voice Live-API lautet:
wss://<your-ai-foundry-resource-name>.services.ai.azure.com/voice-live/realtime?api-version=2026-04-10
Verwenden Sie für ältere Ressourcen, die die Legacydomäne verwenden, Folgendes:
wss://<your-ai-foundry-resource-name>.cognitiveservices.azure.com/voice-live/realtime?api-version=2026-04-10
Der Endpunkt ist für alle Modelle identisch. Der einzige Unterschied ist der erforderliche model Abfrageparameter oder, wenn Sie den Microsoft Foundry Agent Service verwenden, die abfrageparameter agent-name und agent-project-name. Weitere Informationen zu Agentverbindungsparametern finden Sie unter Integrate Voice Live API mit einem Microsoft Foundry Agent.
Ein Endpunkt für eine Microsoft Foundry-Ressource, die ein Modell verwendet, wäre beispielsweise:
wss://<your-ai-foundry-resource-name>.services.ai.azure.com/voice-live/realtime?api-version=2026-04-10&model=gpt-realtime
Note
Die Voice Live-API ist für Microsoft Foundry-Ressourcen optimiert. Microsoft Foundry-Ressourcen werden empfohlen, um die Vollständige Verfügbarkeit der Funktionen zu erzielen. Azure KI Speech Ressourcen unterstützen Microsoft Integration des Foundry Agent Service oder bring-your-own-model (BYOM) nicht.
Authentifizierung
Die Voice Live-API unterstützt zwei Authentifizierungsmethoden:
-
Microsoft Entra ID (empfohlen): Verwenden Sie die tokenbasierte Authentifizierung für eine Microsoft Foundry-Ressource. Übergeben Sie das abgerufene Zugriffstoken auf eine von zwei Arten:
-
BearerAls Token im Header in derAuthorizationPrehandshake-Verbindung. Diese Option ist in einer Browserumgebung nicht verfügbar. -
AuthorizationAls Abfragezeichenfolgenparameter für den Anforderungs-URI mit dem WertBearer <token>. URL-codiert den Wert nach Bedarf. Abfragezeichenfolgenparameter werden vomwss://Transport verschlüsselt.
-
-
API-Schlüssel: Stellen Sie eine
api-keyvon zwei Möglichkeiten bereit:-
api-keyAls Verbindungsheader für die Prehandshake-Verbindung. Diese Option ist in einer Browserumgebung nicht verfügbar. -
api-keyAls Abfragezeichenfolgenparameter für den Anforderungs-URI. Abfragezeichenfolgenparameter werden vomwss://Transport verschlüsselt.
-
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID:
- Weisen Sie die Rollen
Cognitive Services UserundAzure AI UserIhrem Benutzerkonto oder Ihrer verwalteten Identität zu. Sie können Rollen im Azure-Portal unter Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen zuweisen. - Abrufen eines Zugriffstokens mithilfe des Azure CLI oder eines Azure SDK. Das Token muss für den
https://ai.azure.com/.defaultBereich (oder den Legacybereichhttps://cognitiveservices.azure.com/.default) ausgestellt werden. - Senden Sie das Token in der WebSocket-Upgradeanforderung, entweder im
AuthorizationHeader im FormatBearer <token>, oder alsAuthorizationAbfragezeichenfolgenparameter mit demselbenBearer <token>Wert.
Clientereignisse
Die Voice Live API unterstützt folgende Client-Events, die vom Client an den Server gesendet werden können:
| Ereignis | Beschreibung |
|---|---|
| session.update | Aktualisieren Sie die Sitzungskonfiguration einschließlich Sprache, Ausgabemodalitäten, Zugerkennung und weiteren Einstellungen |
| session.avatar.connect | Stellen Sie eine Avatarverbindung her, indem Sie Client-SDP für WebRTC-Verhandlungen bereitstellen |
| input_audio_buffer.append | Audiobytes an den Eingabe-Audiopuffer anfügen |
| input_audio_buffer.commit | Commit den Eingangs-Audiopuffer zur Verarbeitung |
| input_audio_buffer.clear | Lösche den Eingangs-Audiopuffer |
| conversation.item.create | Füge einen neuen Gegenstand zum Gesprächskontext hinzu |
| conversation.item.retrieve | Holen Sie sich einen bestimmten Gegenstand aus dem Gespräch ab |
| conversation.item.truncate | Eine Assistenten-Audionachricht abschneiden |
| conversation.item.delete | Entferne einen Gegenstand aus dem Gespräch |
| response.create | Weisen Sie den Server an, eine Antwort mittels Modellinferenz zu erstellen |
| response.cancel | Eine laufende Antwort abbrechen |
| output_audio_buffer.clear | Beenden Sie das Sprechen des Avatars, indem Sie den serverseitigen Ausgabeaudiopuffer löschen (nur Avatarmodus) |
session.update
Aktualisieren Sie die Konfiguration der Sitzung. Dieses Ereignis kann jederzeit gesendet werden, um Einstellungen wie Sprache, Ausgabemodalitäten, Zugerkennung, Werkzeuge und andere Sitzungsparameter zu ändern. Beachte, dass eine Sitzung, sobald sie mit einem bestimmten Modell initialisiert wurde, nicht mehr in ein anderes Modell geändert werden kann.
Ereignisstruktur
{
"type": "session.update",
"session": {
"modalities": ["text", "audio"],
"voice": {
"type": "openai",
"name": "alloy"
},
"instructions": "You are a helpful assistant. Be concise and friendly.",
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
"input_audio_sampling_rate": 24000,
"turn_detection": {
"type": "azure_semantic_vad",
"threshold": 0.5,
"prefix_padding_ms": 420,
"silence_duration_ms": 500
},
"temperature": 0.8,
"max_response_output_tokens": "inf"
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "session.update" sein |
| session | RealtimeRequestSession | Sitzungskonfigurationsobjekt mit Feldern zum Aktualisieren |
Beispiel mit Azure Custom Voice
{
"type": "session.update",
"session": {
"voice": {
"type": "azure-custom",
"name": "my-custom-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"temperature": 0.7,
"style": "cheerful"
},
"input_audio_noise_reduction": {
"type": "azure_deep_noise_suppression"
},
"avatar": {
"character": "lisa",
"customized": false,
"video": {
"resolution": {
"width": 1920,
"height": 1080
},
"bitrate": 2000000
}
}
}
}
session.avatar.connect
Stellen Sie eine Avatarverbindung her, indem Sie das SDP-Angebot (Session Description Protocol) des Kunden für WebRTC-Medienverhandlungen bereitstellen. Dieses Ereignis ist erforderlich, wenn Avatar-Funktionen verwendet werden.
Ereignisstruktur
{
"type": "session.avatar.connect",
"client_sdp": "<client_sdp>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "session.avatar.connect" sein |
| client_sdp | Schnur | Das SDP-Angebot des Kunden für die WebRTC-Verbindungseinrichtung, codiert mit base64 |
input_audio_buffer.append (zum Eingabepuffer für Audiodaten hinzufügen)
Fügen Sie Audiobytes dem Eingabe-Audiopuffer hinzu.
Ereignisstruktur
{
"type": "input_audio_buffer.append",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "input_audio_buffer.append" sein |
| Audio | Schnur | Base64-kodierte Audiodaten |
input_audio_buffer.commit
Committen Sie den Eingangs-Audiopuffer zur Verarbeitung.
Ereignisstruktur
{
"type": "input_audio_buffer.commit"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "input_audio_buffer.commit" sein |
input_audio_buffer.clear
Lösche den Eingangs-Audiopuffer.
Ereignisstruktur
{
"type": "input_audio_buffer.clear"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "input_audio_buffer.clear" sein |
gespräch.eintrag.erstellen
Füge einen neuen Gegenstand zum Gesprächskontext hinzu. Dies kann Nachrichten, Funktionsaufrufe und Funktionsaufrufantworten umfassen. Punkte können an bestimmten Stellen im Gesprächsverlauf eingefügt werden.
Ereignisstruktur
{
"type": "conversation.item.create",
"previous_item_id": "item_ABC123",
"item": {
"id": "item_DEF456",
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Hello, how are you?"
}
]
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "conversation.item.create" sein |
| vorheriges_Element_ID | Schnur | Optional. ID des Gegenstands, nach dem man diesen Einsatz einfügen soll. Falls nicht angegeben, fügt es am Ende hinzu |
| item | Echtzeit-Gesprächsanfrageelement | Der Punkt, den man zur Diskussion hinzufügen möchte |
Beispiel mit Audio-Inhalten
{
"type": "conversation.item.create",
"item": {
"type": "message",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
"transcript": "Hello there"
}
]
}
}
Beispiel mit Function Call-Ausgabe
{
"type": "conversation.item.create",
"item": {
"type": "function_call_output",
"call_id": "call_123",
"output": "{\"location\": \"San Francisco\", \"temperature\": \"70\"}"
}
}
Beispiel mit MCP-Genehmigungsantwort
{
"type": "conversation.item.create",
"item": {
"type": "mcp_approval_response",
"approval_request_id": "mcp_approval_req_456",
"approve": true,
}
}
Konversation.Element.Abrufen
Rufen Sie einen bestimmten Gegenstand aus dem Gesprächsverlauf ab. Dies ist nützlich, um verarbeitete Audioaufnahmen nach Rauschunterdrückung und VAD zu inspizieren.
Ereignisstruktur
{
"type": "conversation.item.retrieve",
"item_id": "item_ABC123"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "conversation.item.retrieve" sein |
| item_id | Schnur | Die ID des zu holenden Gegenstands |
conversation.item.truncate
Kürze den Audioinhalt einer Assistentennachricht. Dies ist nützlich, um die Wiedergabe an einem bestimmten Punkt zu stoppen und das Verständnis des Servers mit dem Zustand des Clients zu synchronisieren.
Ereignisstruktur
{
"type": "conversation.item.truncate",
"item_id": "item_ABC123",
"content_index": 0,
"audio_end_ms": 5000
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "conversation.item.truncate" sein |
| item_id | Schnur | Die ID des Assistenten-Nachrichtenelements zum Abschneiden |
| content_index | integer | Der Index des Inhalts ist zum Abkürzen |
| audio_end_ms | integer | Die Dauer, bis zu der das Audio gekürzt werden kann, in Millisekunden |
Konversation.Element.Löschen
Entferne einen Punkt aus dem Gesprächsverlauf.
Ereignisstruktur
{
"type": "conversation.item.delete",
"item_id": "item_ABC123"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "conversation.item.delete" sein |
| item_id | Schnur | Die ID des zu löschenden Objekts |
response.create
Weist den Server an, eine Antwort über Modellinferenz zu erstellen. Dieses Ereignis kann eine reaktionsspezifische Konfiguration spezifizieren, die die Sitzungsstandardeinstellungen überschreibt.
Ereignisstruktur
{
"type": "response.create",
"response": {
"modalities": ["text", "audio"],
"instructions": "Be extra helpful and detailed.",
"voice": {
"type": "openai",
"name": "alloy"
},
"output_audio_format": "pcm16",
"temperature": 0.7,
"max_response_output_tokens": 1000
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.create" sein |
| response | RealtimeResponseOptions | Optionale Antwortkonfiguration, die die Session-Standardwerte überschreibt |
Beispiel mit Tool Choice
{
"type": "response.create",
"response": {
"modalities": ["text"],
"tools": [
{
"type": "function",
"name": "get_current_time",
"description": "Get the current time",
"parameters": {
"type": "object",
"properties": {}
}
}
],
"tool_choice": "get_current_time",
"temperature": 0.3
}
}
Beispiel mit Animation
{
"type": "response.create",
"response": {
"modalities": ["audio", "animation"],
"animation": {
"model_name": "default",
"outputs": ["blendshapes", "viseme_id"]
},
"voice": {
"type": "azure-custom",
"name": "my-expressive-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"style": "excited"
}
}
}
Beispiel mit vorgefertigter Assistentennachricht
In manchen Szenarien möchtest du vielleicht eine Audioantwort für vordefinierten Text generieren, anstatt dass das Modell die Textantwort generiert. Verwenden Sie den Parameter pre_generated_assistant_message in der response.create Nachricht. Du kannst nur einen Texteintrag im Feld content einfügen.
{
"type": "response.create",
"response": {
"pre_generated_assistant_message": {
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "repeat what I say"
}
]
}
}
}
Wenn der Dienst diese Nachricht erhält, erzeugt er eine Audioantwort für den vordefinierten Text. Die Nachricht wird auch in den Kontextverlauf der Gespräche aufgenommen.
response.cancel
Stornieren Sie eine laufende Antwort. Dadurch wird sofort die Antwortgenerierung und die zugehörige Audioausgabe gestoppt.
Ereignisstruktur
{
"type": "response.cancel"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.cancel" sein |
output_audio_buffer.löschen
Löschen Sie den serverseitigen Ausgabeaudiopuffer. In der aktuellen Vorschau wird dieses Ereignis nur im Avatarmodus unterstützt und wird verwendet, um zu verhindern, dass der Avatar spricht, indem audio (und entsprechende Avatarvideos) gelöscht werden, die der Server für die Wiedergabe in die Warteschlange gestellt hat. Der Server antwortet mit einem output_audio_buffer.cleared Ereignis.
Ereignisstruktur
{
"type": "output_audio_buffer.clear"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "output_audio_buffer.clear" sein |
input_audio_buffer.append (zum Eingabepuffer für Audiodaten hinzufügen)
Das Client-Event input_audio_buffer.append wird verwendet, um Audiobytes an den Eingabe-Audiopuffer anzuhängen. Der Audiopuffer ist ein temporärer Speicher, in den Sie schreiben und später einen Commit ausführen können.
Im Server VAD (Voice Activity Detection)-Modus wird der Audiopuffer verwendet, um Sprache zu erkennen, und der Server entscheidet, wann er commitet. Wenn das Server-VAD deaktiviert ist, kann der Client wählen, wie viel Audio in jedem Ereignis bis zu maximal 15 MiB eingefügt werden soll. Zum Beispiel kann das Streamen kleinerer Abschnitte vom Client das VAD ermöglichen, reaktionsschneller zu werden.
Im Gegensatz zu den meisten anderen Client-Events sendet der Server keine Bestätigungsantwort an das Client-Event input_audio_buffer.append .
Ereignisstruktur
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein input_audio_buffer.append. |
| Audio | Schnur | Base64-codierte Audiobytes. Dieser Wert muss im vom Feld input_audio_format in der Sitzungskonfiguration angegebenen Format sein. |
input_audio_buffer.clear
Das Client-Event input_audio_buffer.clear wird verwendet, um die Audiobytes im Puffer zu löschen.
Der Server antwortet mit einem input_audio_buffer.cleared Ereignis.
Ereignisstruktur
{
"type": "input_audio_buffer.clear"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein input_audio_buffer.clear. |
input_audio_buffer.commit
Das Client-Event input_audio_buffer.commit wird verwendet, um den Audiopuffer der Benutzereingabe zu committen, der ein neues Benutzernachrichtenelement in der Konversation erstellt. Audio wird transkribiert, wenn input_audio_transcription es für die Sitzung konfiguriert ist.
Im Server-VAD-Modus muss der Client dieses Ereignis nicht senden, sondern der Server comminiert automatisch den Audiopuffer. Ohne Server-VAD muss der Client den Audiopuffer committen, um ein Benutzernachrichtenelement zu erstellen. Dieses Client-Ereignis erzeugt einen Fehler, wenn der Eingangs-Audiopuffer leer ist.
Das Committing des Eingangs-Audiopuffers erzeugt keine Reaktion vom Modell.
Der Server antwortet mit einem input_audio_buffer.committed Ereignis.
Ereignisstruktur
{
"type": "input_audio_buffer.commit"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein input_audio_buffer.commit. |
Serverereignisse
Die Voice Live API sendet folgende Serverereignisse, um Status, Antworten und Daten an den Client zu kommunizieren:
| Ereignis | Beschreibung |
|---|---|
| error | Zeigt an, dass während der Verarbeitung ein Fehler aufgetreten ist |
| Warnung | Zeigt eine Warnung an, die den Gesprächsfluss nicht unterbricht |
| session.created | Gesendet, wenn eine neue Sitzung erfolgreich eingerichtet wurde |
| session.updated | Gesendet, wenn die Sitzungskonfiguration aktualisiert wird |
| session.avatar.connecting | Zeigt an, dass eine WebRTC-Verbindung zum Avatar hergestellt wird. |
| Konversationseintrag erstellt | Gesendet, wenn ein neuer Eintrag zum Gespräch hinzugefügt wird |
| conversation.item.retrieved | Antwort auf conversation.item.retrieve-Anfrage |
| conversation.item.truncated | Bestätigt die Punktabschneidung |
| conversation.item.deleted | Bestätigt die Löschung des Elements |
| conversation.item.input_audio_transcription.completed | Die Eingabe-Audiotranskription ist abgeschlossen |
| conversation.item.input_audio_transcription.delta | Audio-Transkription mit Streaming-Eingabe |
| conversation.item.input_audio_transcription.failed | Eingabe-Audio-Transkription fehlschlug |
| input_audio_buffer.commit | Der Eingangs-Audiopuffer diente der Verarbeitung |
| input_audio_buffer.cleared | Der Eingangs-Audiopuffer wurde gelöscht |
| input_audio_buffer.speech_started | Sprache im Eingangs-Audiopuffer (VAD) erkannt |
| input_audio_buffer.speech_stopped | Sprachending im Eingangs-Audiopuffer (VAD) |
| response.created | Neue Reaktionsgeneration begann |
| response.done | Die Antwortgenerierung ist abgeschlossen |
| Antwort.Ausgabeelement hinzugefügt | Neuer Ausgabepunkt zur Antwort hinzugefügt |
| response.output_item.done | Das Ausgabeobjekt ist vollständig |
| response.content_part.added | Neuer Inhaltsteil zum Ausgabeobjekt hinzugefügt |
| response.content_part.done | Der inhaltliche Teil ist abgeschlossen |
| response.text.delta | Streaming-Textinhalte aus dem Modell |
| response.text.done | Der Textinhalt ist vollständig |
| response.audio_transcript.delta | Audiotranskript im Streaming |
| response.audio_transcript.done | Audio-Transkript ist vollständig |
| response.audio.delta | Audio-Streaming-Inhalte aus dem Modell |
| response.audio.done | Die Audioinhalte sind vollständig |
| response.animation_blendshapes.delta | Streaming-Animations-Blendshapes-Daten |
| response.animation_blendshapes.done | Animations-Blendshapes-Daten sind vollständig |
| response.audio_timestamp.delta | Streaming-Audio-Zeitstempelinformationen |
| response.audio_timestamp.done | Audio-Zeitstempelinformationen sind vollständig |
| response.animation_viseme.delta | Streaming-Animationsvisem-Daten |
| response.animation_viseme.done | Die Animationsviseme-Daten sind vollständig |
| response.function_call_arguments.delta | Aufrufargumente der Streamingfunktion |
| response.function_call_arguments.done | Funktionsaufrufargumente sind vollständig |
| mcp_list_tools.in_progress | Die Auflistung der MCP-Werkzeuge ist in Arbeit |
| mcp_list_tools.completed | Die Auflistung der MCP-Werkzeuge ist abgeschlossen |
| mcp_list_tools.failed | Die MCP-Werkzeugliste ist gescheitert |
| response.mcp_call_arguments.delta | Streaming von MCP-Aufrufargumenten |
| response.mcp_call_arguments.done | MCP-Aufrufargumente sind vollständig |
| response.mcp_call.in_progress | Der MCP-Anruf ist im Gange |
| response.mcp_call.completed | MCP-Anruf ist abgeschlossen |
| response.mcp_call.failed | MCP-Anruf ist fehlgeschlagen |
| response.foundry_agent_call_arguments.delta | Argumente gegen Streaming-Foundry-Agentenanrufe |
| response.foundry_agent_call_arguments.done | Die Argumente der Foundry-Agenten sind vollständig |
| response.foundry_agent_call.in_progress | Der Anruf des Gießerei-Agenten läuft |
| response.foundry_agent_call.completed | Der Anruf des Gießerei-Agenten ist abgeschlossen |
| response.foundry_agent_call.failed | Der Anruf des Gießerei-Agenten ist fehlgeschlagen |
| session.avatar.switch_to_speaking | Avatar wechselt in den Sprachzustand |
| session.avatar.switch_to_idle | Avatar wechselt in den Leerlaufzustand |
| response.video.delta | Streamen von Avatar-Videoframedaten |
| response.web_search_call.searching | Aufruf des Websuchtools durchsucht |
| response.web_search_call.in_progress | Aufruf des Websuchtools wird ausgeführt |
| response.web_search_call.completed | Aufruf des Websuchtools abgeschlossen |
| response.file_search_call.searching | Aufruf des Dateisuchtools durchsucht |
| response.file_search_call.in_progress | Aufruf des Dateisuchtools wird ausgeführt |
| response.file_search_call.completed | Aufruf des Dateisuchtools abgeschlossen |
| output_audio_buffer.cleared | Ausgabeaudiopuffer wurde gelöscht. |
| response.audio_transcript.annotation.added | Eine Anmerkung wurde einem Audiotranskript hinzugefügt. |
session.created
Gesendet, wenn eine neue Sitzung erfolgreich eingerichtet wurde. Dies ist das erste Ereignis, das nach der Verbindung zur API empfangen wird.
Ereignisstruktur
{
"type": "session.created",
"session": {
"id": "sess_ABC123DEF456",
"object": "realtime.session",
"model": "gpt-realtime",
"modalities": ["text", "audio"],
"instructions": "You are a helpful assistant.",
"voice": {
"type": "openai",
"name": "alloy"
},
"input_audio_format": "pcm16",
"output_audio_format": "pcm16",
"input_audio_sampling_rate": 24000,
"turn_detection": {
"type": "azure_semantic_vad",
"threshold": 0.5,
"prefix_padding_ms": 420,
"silence_duration_ms": 500
},
"temperature": 0.8,
"max_response_output_tokens": "inf"
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "session.created" sein |
| session | RealtimeResponseSession | Das erstellte Session-Objekt |
session.updated
Gesendet, wenn die Sitzungskonfiguration als Reaktion auf ein session.update Client-Ereignis erfolgreich aktualisiert wurde.
Ereignisstruktur
{
"type": "session.updated",
"session": {
"id": "sess_ABC123DEF456",
"voice": {
"type": "azure-custom",
"name": "my-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012"
},
"temperature": 0.7,
"avatar": {
"character": "lisa",
"customized": false
}
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "session.updated" sein |
| session | RealtimeResponseSession | Das aktualisierte Sitzungsobjekt |
session.avatar.connecting
Zeigt an, dass eine Avatar-WebRTC-Verbindung hergestellt wird. Dieses Ereignis wird als Antwort auf ein session.avatar.connect Kundenereignis gesendet.
Ereignisstruktur
{
"type": "session.avatar.connecting",
"server_sdp": "<server_sdp>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "session.avatar.connecting" sein |
Konversation.Eintrag.erstellt
Gesendet, wenn ein neuer Punkt zur Konversation hinzugefügt wird, entweder über ein Kundenereignis conversation.item.create oder automatisch während der Antwortgenerierung.
Ereignisstruktur
{
"type": "conversation.item.created",
"previous_item_id": "item_ABC123",
"item": {
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Hello, how are you?"
}
]
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "conversation.item.created" sein |
| vorheriges_Element_ID | Schnur | ID des Gegenstands, nach dem dieser Gegenstand eingesetzt wurde |
| item | RealtimeConversationResponseItem | Das erstellte Gesprächselement |
Beispiel mit Audio-Item
{
"type": "conversation.item.created",
"item": {
"id": "item_GHI789",
"type": "message",
"status": "completed",
"role": "user",
"content": [
{
"type": "input_audio",
"audio": null,
"transcript": "What's the weather like today?"
}
]
}
}
conversation.item.retrieved
Gesendet als Antwort auf ein conversation.item.retrieve Kundenereignis und liefert das gewünschte Gesprächsobjekt.
Ereignisstruktur
{
"type": "conversation.item.retrieved",
"item": {
"id": "item_ABC123",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "audio",
"audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
"transcript": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
]
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "conversation.item.retrieved" sein |
| item | RealtimeConversationResponseItem | Das wiederholte Gesprächsobjekt |
conversation.item.abgeschnitten
Das Server-Event conversation.item.truncated wird zurückgegeben, wenn der Client ein früheres Assistant-Audio-Message-Element mit einem Ereignis abschneidet conversation.item.truncate . Dieses Ereignis wird verwendet, um das Verständnis des Tons durch den Server mit der Wiedergabe des Clients zu synchronisieren.
Dieses Ereignis kürzt das Audio und entfernt das serverseitige Texttranskript, um sicherzustellen, dass kein Text im Kontext vorhanden ist, von dem der Nutzer nichts weiß.
Ereignisstruktur
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein conversation.item.truncated. |
| item_id | Schnur | Die ID des Assistenten-Nachrichtenelements, das abgeschnitten wurde. |
| content_index | integer | Der Index des Inhaltsteils, der gekürzt wurde. |
| audio_end_ms | integer | Die Dauer, bis zu der das Audio verkürzt wurde, in Millisekunden. |
Gesprächselement gelöscht
Gesendet als Antwort auf ein conversation.item.delete Kundenereignis, das bestätigt, dass der angegebene Punkt aus dem Gespräch entfernt wurde.
Ereignisstruktur
{
"type": "conversation.item.deleted",
"item_id": "item_ABC123"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "conversation.item.deleted" sein |
| item_id | Schnur | ID des gelöschten Gegenstands |
response.created
Gesendet, wenn eine neue Antwortgenerierung beginnt. Dies ist das erste Ereignis in einer Reaktionssequenz.
Ereignisstruktur
{
"type": "response.created",
"response": {
"id": "resp_ABC123",
"object": "realtime.response",
"status": "in_progress",
"status_details": null,
"output": [],
"usage": {
"total_tokens": 0,
"input_tokens": 0,
"output_tokens": 0
}
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.created" sein |
| response | RealtimeResponse | Das erstellte Antwortobjekt |
response.done
Gesendet, wenn die Antwortgenerierung abgeschlossen ist. Dieses Ereignis enthält die endgültige Antwort mit allen Ausgabeeinträgen und Nutzungsstatistiken.
Ereignisstruktur
{
"type": "response.done",
"response": {
"id": "resp_ABC123",
"object": "realtime.response",
"status": "completed",
"status_details": null,
"output": [
{
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
]
}
],
"usage": {
"total_tokens": 87,
"input_tokens": 52,
"output_tokens": 35,
"input_token_details": {
"cached_tokens": 0,
"text_tokens": 45,
"audio_tokens": 7
},
"output_token_details": {
"text_tokens": 15,
"audio_tokens": 20
}
}
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.done" sein |
| response | RealtimeResponse | Das Objekt der abgeschlossenen Antwort |
response.ausgabeelement.hinzugefügt
Gesendet, wenn während der Generierung ein neues Ausgabeelement zur Antwort hinzugefügt wird.
Ereignisstruktur
{
"type": "response.output_item.added",
"response_id": "resp_ABC123",
"output_index": 0,
"item": {
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "in_progress",
"role": "assistant",
"content": []
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.output_item.added" sein |
| response_id | Schnur | ID der Antwort, zu der dieser Beitrag gehört |
| output_index | integer | Index des Elements im Ausgabearray der Antwort |
| item | RealtimeConversationResponseItem | Das hinzugefügte Ausgabeelement |
response.output_item.done
Gesendet, wenn ein Ausgabepunkt abgeschlossen ist.
Ereignisstruktur
{
"type": "response.output_item.done",
"response_id": "resp_ABC123",
"output_index": 0,
"item": {
"id": "item_DEF456",
"object": "realtime.item",
"type": "message",
"status": "completed",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I'm doing well, thank you for asking."
}
]
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.output_item.done" sein |
| response_id | Schnur | ID der Antwort, zu der dieser Beitrag gehört |
| output_index | integer | Index des Elements im Ausgabearray der Antwort |
| item | RealtimeConversationResponseItem | Das abgeschlossene Ausgabeelement |
response.content_part.added
Das Server-Ereignis response.content_part.added wird zurückgegeben, wenn während der Antwortgenerierung ein neuer Inhaltsteil zu einem Assistant-Nachrichtenelement hinzugefügt wird.
Ereignisstruktur
{
"type": "response.content_part.added",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"part": {
"type": "text",
"text": ""
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.content_part.added" sein |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Artikels, zu dem dieser Inhaltsteil gehört |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index dieses Inhaltsteils im Artikel |
| part | RealtimeContentPart | Der Inhaltsteil, der hinzugefügt wurde |
Antwort.Inhaltsteil.Fertig
Das Server-Event response.content_part.done wird zurückgegeben, wenn ein Inhaltsteil in einem Assistant-Nachrichtenelement gestreamt wird.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.
Ereignisstruktur
{
"type": "response.content_part.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"part": {
"type": "text",
"text": "Hello! I'm doing well, thank you for asking."
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.content_part.done" sein |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Artikels, zu dem dieser Inhaltsteil gehört |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index dieses Inhaltsteils im Artikel |
| part | RealtimeContentPart | Der Teil mit den fertigen Inhalten |
response.text.delta
Streamende Textinhalte vom Modell. Wird schrittweise gesendet, während das Modell Text erzeugt.
Ereignisstruktur
{
"type": "response.text.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.text.delta" sein |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
| delta | Schnur | Inkrementeller Textinhalt |
response.text.done
Gesendet, wenn die Textinhaltserstellung abgeschlossen ist.
Ereignisstruktur
{
"type": "response.text.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"text": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.text.done" sein |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
| Text | Schnur | Der vollständige Textinhalt |
response.audio.delta
Audio-Inhalte vom Modell werden gestreamt. Audio wird als base64-kodierte Daten bereitgestellt.
Ereignisstruktur
{
"type": "response.audio.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.audio.delta" sein |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
| delta | Schnur | Base64-kodierter Audio-Datenblock |
response.audio.done
Gesendet, wenn die Audio-Generierung abgeschlossen ist.
Ereignisstruktur
{
"type": "response.audio.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.audio.done" sein |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
response.audio_transcript.delta
Streaming-Transkript der generierten Audioinhalte.
Ereignisstruktur
{
"type": "response.audio_transcript.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"delta": "Hello! I'm doing"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.audio_transcript.delta" sein |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
| delta | Schnur | Inkrementeller Transkripttext |
response.audio_transcript.done
Gesendet, wenn die Audiotranskripterstellung abgeschlossen ist.
Ereignisstruktur
{
"type": "response.audio_transcript.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"transcript": "Hello! I'm doing well, thank you for asking. How can I help you today?"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "response.audio_transcript.done" sein |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
| Abschrift | Schnur | Der vollständige Text des Transkripts |
Gespräch.Element.Audioeingabetranskription.abgeschlossen
Das Server-Event conversation.item.input_audio_transcription.completed ist das Ergebnis der Audiotranskription für Sprache, die in den Audiopuffer geschrieben wurde.
Die Transkription beginnt, wenn der Eingabe-Audiopuffer vom Client oder Server (im Modus server_vad ) ausgeführt wird. Die Transkription läuft asynchron mit der Antworterstellung ab, sodass dieses Ereignis vor oder nach den Reaktionsereignissen auftreten kann.
Realtime-API-Modelle akzeptieren Audio nativ, und somit ist die Eingabetranskription ein separater Prozess, der auf einem separaten Spracherkennungsmodell wie zum Beispiel whisper-1 ausgeführt wird. Daher kann das Transkript etwas von der Interpretation des Modells abweichen und sollte als grobe Orientierung behandelt werden.
Ereignisstruktur
{
"type": "conversation.item.input_audio_transcription.completed",
"item_id": "<item_id>",
"content_index": 0,
"transcript": "<transcript>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein conversation.item.input_audio_transcription.completed. |
| item_id | Schnur | Die ID des Benutzernachrichtenelements mit dem Audio. |
| content_index | integer | Der Index des Inhaltsteils, der das Audio enthält. |
| Abschrift | Schnur | Der transkribierte Text. |
| logprobs | Array von LogProbProperties | Optional. Die Log-Wahrscheinlichkeiten der Transkriptionstoken. |
| Phrasen | Array von TranscriptionPhrase | Optional. Die Transkriptionsphrasen mit Zeitangaben. |
Konversation.Element.Eingabe_Audio_Transkription.Delta
Das Serverereignis conversation.item.input_audio_transcription.delta wird zurückgegeben, wenn die Eingabe-Audiotranskription konfiguriert wird und eine Transkriptionsanfrage für eine Benutzernachricht im Gange ist. Diese Veranstaltung liefert teilweise Transkriptionsergebnisse, sobald sie verfügbar sind.
Ereignisstruktur
{
"type": "conversation.item.input_audio_transcription.delta",
"item_id": "<item_id>",
"content_index": 0,
"delta": "<delta>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein conversation.item.input_audio_transcription.delta. |
| item_id | Schnur | Die ID des Benutzernachrichtenelements. |
| content_index | integer | Der Index des Inhaltsteils, der das Audio enthält. |
| delta | Schnur | Der inkrementelle Transkriptionstext. |
Gesprächselemente: Eingabetranskription der Audiodatei fehlgeschlagen
Das Serverereignis conversation.item.input_audio_transcription.failed wird zurückgegeben, wenn die Eingabe-Audiotranskription konfiguriert wird und eine Transkriptionsanfrage für eine Benutzernachricht fehlschlägt. Dieses Ereignis ist von anderen error Ereignissen getrennt, sodass der Kunde das zugehörige Element identifizieren kann.
Ereignisstruktur
{
"type": "conversation.item.input_audio_transcription.failed",
"item_id": "<item_id>",
"content_index": 0,
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein conversation.item.input_audio_transcription.failed. |
| item_id | Schnur | Die ID des Benutzernachrichtenelements. |
| content_index | integer | Der Index des Inhaltsteils, der das Audio enthält. |
| Fehler | Objekt | Details zum Transkriptionsfehler. Siehe verschachtelte Eigenschaften in der nächsten Tabelle. |
Fehlereigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Die Art von Fehler. |
| Programmcode | Schnur | Fehlercode, falls vorhanden. |
| message | Schnur | Eine für Menschen lesbare Fehlermeldung. |
| param | Schnur | Parameter, der mit dem Fehler zusammenhängt, falls vorhanden. |
response.animation_blendshapes.delta
Das Server-Event response.animation_blendshapes.delta wird zurückgegeben, wenn das Modell als Teil einer Antwort Animations-Blendshapes-Daten erzeugt. Dieses Ereignis liefert inkrementelle Blendshapes-Daten, sobald sie verfügbar sind.
Ereignisstruktur
{
"type": "response.animation_blendshapes.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"frame_index": 0,
"frames": [
[0.0, 0.1, 0.2, ..., 1.0]
...
]
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.animation_blendshapes.delta. |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
| frame_index | integer | Index des ersten Frames in diesem Frame-Batch |
| Rahmen | Array von Array von Float | Array von Blendshape-Frames, jedes Frame ist ein Array von Blendshape-Werten |
response.animation_blendshapes.done
Das Serverereignis response.animation_blendshapes.done wird zurückgegeben, wenn das Modell die Animations-Blendshapes-Daten als Teil einer Antwort generiert hat.
Ereignisstruktur
{
"type": "response.animation_blendshapes.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.animation_blendshapes.done. |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
response.audio_timestamp.delta
Das Serverereignis response.audio_timestamp.delta wird zurückgegeben, wenn das Modell Audio-Zeitstempeldaten als Teil einer Antwort erzeugt. Dieses Ereignis liefert inkrementelle Zeitstempeldaten für die Ausrichtung von Audio und Text, sobald sie verfügbar sind.
Ereignisstruktur
{
"type": "response.audio_timestamp.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"audio_offset_ms": 0,
"audio_duration_ms": 500,
"text": "Hello",
"timestamp_type": "word"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.audio_timestamp.delta. |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
| audio_offset_ms | integer | Audio versetzt sich in Millisekunden ab dem Beginn des Audios |
| audio_duration_ms | integer | Dauer des Audiosegments in Millisekunden |
| Text | Schnur | Der Textabschnitt, der diesem Audio-Zeitstempel entspricht |
| timestamp_type | Schnur | Die Art des Zeitstempels, derzeit nur "Wort", wird unterstützt |
response.audio_timestamp.done
Gesendet, wenn die Erstellung des Audio-Zeitstempels abgeschlossen ist.
Ereignisstruktur
{
"type": "response.audio_timestamp.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.audio_timestamp.done. |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
response.animation_viseme.delta
Das Serverereignis response.animation_viseme.delta wird zurückgegeben, wenn das Modell Animationsviseme-Daten als Teil einer Antwort erzeugt. Dieses Ereignis liefert inkrementelle Visem-Daten, sobald sie verfügbar sind.
Ereignisstruktur
{
"type": "response.animation_viseme.delta",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0,
"audio_offset_ms": 0,
"viseme_id": 1
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.animation_viseme.delta. |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
| audio_offset_ms | integer | Audio versetzt sich in Millisekunden ab dem Beginn des Audios |
| viseme_id | integer | Die Visem-ID entspricht der Mundform für die Animation |
response.animation_viseme.done
Das Serverereignis response.animation_viseme.done wird zurückgegeben, wenn das Modell die Generierung von Animationsviseme-Daten als Teil einer Antwort abgeschlossen hat.
Ereignisstruktur
{
"type": "response.animation_viseme.done",
"response_id": "resp_ABC123",
"item_id": "item_DEF456",
"output_index": 0,
"content_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.animation_viseme.done. |
| response_id | Schnur | ID der Antwort |
| item_id | Schnur | ID des Gegenstands |
| output_index | integer | Index des Punkts in der Antwort |
| content_index | integer | Index des Inhaltsteils |
Fehler
Das Serverereignis error wird zurückgegeben, wenn ein Fehler auftritt, was ein Client- oder Serverproblem sein kann. Die meisten Fehler sind wiederherstellbar und die Sitzung bleibt offen.
Ereignisstruktur
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein error. |
| Fehler | Objekt | Details des Fehlers. Siehe verschachtelte Eigenschaften in der nächsten Tabelle. |
Fehlereigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Die Art von Fehler. Zum Beispiel sind "invalid_request_error" und "server_error" Fehlertypen. |
| Programmcode | Schnur | Fehlercode, falls vorhanden. |
| message | Schnur | Eine für Menschen lesbare Fehlermeldung. |
| param | Schnur | Parameter, der mit dem Fehler zusammenhängt, falls vorhanden. |
| event_id | Schnur | Die ID des Client-Ereignisses, das den Fehler verursacht hat, falls zutreffend. |
Warnung
Das Serverereignis warning wird zurückgegeben, wenn eine Warnung auftritt, die den Gesprächsfluss nicht unterbricht. Die Warnungen sind informativ und die Sitzung läuft wie gewohnt weiter.
Ereignisstruktur
{
"type": "warning",
"warning": {
"code": "<code>",
"message": "<message>",
"param": "<param>"
}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein warning. |
| Warnung | Objekt | Details der Warnung. Siehe verschachtelte Eigenschaften in der nächsten Tabelle. |
Warnungseigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| message | Schnur | Eine für Menschen lesbare Warnmeldung. |
| Programmcode | Schnur | Optional. Warncode, falls vorhanden. |
| param | Schnur | Optional. Parameter, der mit der Warnung zusammenhängt, falls vorhanden. |
input_audio_buffer.geleert
Das Serverereignis input_audio_buffer.cleared wird zurückgegeben, wenn der Client den Eingabe-Audiopuffer mit einem Ereignis input_audio_buffer.clear löscht.
Ereignisstruktur
{
"type": "input_audio_buffer.cleared"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein input_audio_buffer.cleared. |
input_audio_buffer.commitiert
Das Server-Event input_audio_buffer.committed wird zurückgegeben, wenn ein Eingabe-Audiopuffer entweder vom Client oder automatisch im Server-VAD-Modus eingetragen wird. Die Eigenschaft item_id ist die ID des erstellten Benutzernachrichtenelements. So wird auch ein conversation.item.created Ereignis an den Kunden gesendet.
Ereignisstruktur
{
"type": "input_audio_buffer.committed",
"previous_item_id": "<previous_item_id>",
"item_id": "<item_id>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein input_audio_buffer.committed. |
| vorheriges_Element_ID | Schnur | Die ID des vorherigen Elements, nach dem der neue Punkt eingefügt wird. |
| item_id | Schnur | Die ID des erstellten Benutzernachrichtenelements. |
input_audio_buffer.speech_started
Das Serverereignis input_audio_buffer.speech_started wird im server_vad Modus zurückgegeben, wenn Sprache im Audiopuffer erkannt wird. Dieses Ereignis kann jedes Mal auftreten, wenn Audio dem Puffer hinzugefügt wird (es sei denn, Sprache wird bereits erkannt).
Note
Der Client möchte dieses Ereignis nutzen, um die Audiowiedergabe zu unterbrechen oder dem Nutzer visuelles Feedback zu geben.
Der Klient sollte damit rechnen, ein input_audio_buffer.speech_stopped Ereignis zu erhalten, wenn die Sprache stoppt. Die Eigenschaft item_id ist die ID des Benutzernachrichtenelements, das erstellt wird, wenn die Sprache stoppt. Dies item_id ist auch im input_audio_buffer.speech_stopped Ereignis enthalten, es sei denn, der Client committiert den Audiopuffer während der VAD-Aktivierung manuell.
Ereignisstruktur
{
"type": "input_audio_buffer.speech_started",
"audio_start_ms": 0,
"item_id": "<item_id>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein input_audio_buffer.speech_started. |
| audio_start_ms | integer | Millisekunden ab dem Beginn aller während der Sitzung in den Puffer geschriebenen Audio, als die Sprache erstmals erkannt wurde. Diese Eigenschaft entspricht dem Beginn des an das Modell gesendeten Audios und schließt somit das in der Sitzung konfigurierte Elemente prefix_padding_ms ein. |
| item_id | Schnur | Die ID des Benutzernachrichtenelements, das erstellt wird, wenn die Sprache stoppt. |
input_audio_buffer.speech_stopped
Das Serverereignis input_audio_buffer.speech_stopped wird im server_vad Modus zurückgegeben, wenn der Server das Ende der Sprache im Audiopuffer erkennt.
Der Server sendet außerdem ein conversation.item.created Ereignis mit dem Benutzernachrichtenelement, das aus dem Audiopuffer erstellt wird.
Ereignisstruktur
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein input_audio_buffer.speech_stopped. |
| audio_end_ms | integer | Millisekunden seit Beginn der Sitzung, als die Sprache aufhörte. Diese Eigenschaft entspricht dem Ende des an das Modell gesendeten Audios und schließt somit das in der Sitzung konfigurierte Elemente min_silence_duration_ms ein. |
| item_id | Schnur | Die ID des erstellten Benutzernachrichtenelements. |
Ratenbegrenzungen.aktualisiert
Das Serverereignis rate_limits.updated wird zu Beginn einer Antwort ausgesendet, um die aktualisierten Rate-Limits anzuzeigen.
Wenn eine Antwort erstellt wird, werden einige Token für die Ausgabetoken reserviert. Die hier gezeigten Tarifgrenzen spiegeln diese Reservierung wider, die dann entsprechend angepasst wird, sobald die Antwort abgeschlossen ist.
Ereignisstruktur
{
"type": "rate_limits.updated",
"rate_limits": [
{
"name": "<name>",
"limit": 0,
"remaining": 0,
"reset_seconds": 0
}
]
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein rate_limits.updated. |
| Ratenbegrenzungen | Array von RealtimeRateLimitsItem | Die Liste der Informationen zum Tariflimit. |
response.audio.delta
Das Server-Event response.audio.delta wird zurückgegeben, wenn das modellgenerierte Audio aktualisiert wird.
Ereignisstruktur
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.audio.delta. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Elements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| content_index | integer | Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels. |
| delta | Schnur | Base64-codierte Audiodaten-Delta. |
response.audio.done
Das Serverereignis response.audio.done wird zurückgegeben, wenn das modellgenerierte Audio abgeschlossen ist.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.
Ereignisstruktur
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.audio.done. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Elements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| content_index | integer | Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels. |
response.audio_transcript.delta
Das Serverereignis response.audio_transcript.delta wird zurückgegeben, wenn die modellgenerierte Transkription der Audioausgabe aktualisiert wird.
Ereignisstruktur
{
"type": "response.audio_transcript.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.audio_transcript.delta. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Elements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| content_index | integer | Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels. |
| delta | Schnur | Das Transkript-Delta. |
response.audio_transcript.done
Das Serverereignis response.audio_transcript.done wird zurückgegeben, wenn die modellgenerierte Transkription der Audioausgabe gestreamt wurde.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.
Ereignisstruktur
{
"type": "response.audio_transcript.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"transcript": "<transcript>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.audio_transcript.done. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Elements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| content_index | integer | Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels. |
| Abschrift | Schnur | Das endgültige Transkript der Audioaufnahme. |
Antwort.Funktionsaufruf_Argumente.Delta
Das Server-Event response.function_call_arguments.delta wird zurückgegeben, wenn die modellgenerierten Funktionsaufruf-Argumente aktualisiert werden.
Ereignisstruktur
{
"type": "response.function_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"delta": "<delta>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.function_call_arguments.delta. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Funktionsaufruf-Elements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| call_id | Schnur | Die ID des Funktionsaufrufs. |
| delta | Schnur | Die Argumente deltan als JSON-String. |
Antwort.Funktionsaufruf_argumente.fertig
Das Serverereignis response.function_call_arguments.done wird zurückgegeben, wenn die vom Modell generierten Funktionsaufruf-Argumente mit dem Streaming abgeschlossen sind.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.
Ereignisstruktur
{
"type": "response.function_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"call_id": "<call_id>",
"arguments": "<arguments>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.function_call_arguments.done. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Funktionsaufruf-Elements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| call_id | Schnur | Die ID des Funktionsaufrufs. |
| Argumente | Schnur | Die abschließenden Argumente als JSON-String. |
mcp_list_tools.in_progress
Das Serverereignis mcp_list_tools.in_progress wird zurückgegeben, wenn der Dienst beginnt, verfügbare Werkzeuge von einem MCP-Server aufzulisten.
Ereignisstruktur
{
"type": "mcp_list_tools.in_progress",
"item_id": "<mcp_list_tools_item_id>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein mcp_list_tools.in_progress. |
| item_id | Schnur | Die ID des MCP-Listentools, das gerade verarbeitet wird. |
mcp_list_tools.abgeschlossen
Das Server-Event mcp_list_tools.completed wird zurückgegeben, wenn der Dienst die verfügbaren Tools eines MCP-Servers auflistet.
Ereignisstruktur
{
"type": "mcp_list_tools.completed",
"item_id": "<mcp_list_tools_item_id>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein mcp_list_tools.completed. |
| item_id | Schnur | Die ID des MCP-Listentools, das gerade verarbeitet wird. |
mcp_list_tools.fehlgeschlagen
Das Server-Ereignis mcp_list_tools.failed wird zurückgegeben, wenn der Dienst keine verfügbaren Werkzeuge von einem MCP-Server auflistet.
Ereignisstruktur
{
"type": "mcp_list_tools.failed",
"item_id": "<mcp_list_tools_item_id>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein mcp_list_tools.failed. |
| item_id | Schnur | Die ID des MCP-Listentools, das gerade verarbeitet wird. |
response.mcp_call_arguments.delta
Das Serverereignis response.mcp_call_arguments.delta wird zurückgegeben, wenn die vom Modell generierten MCP-Tool-Aufrufargumente aktualisiert werden.
Ereignisstruktur
{
"type": "response.mcp_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"delta": "<delta>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.mcp_call_arguments.delta. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des MCP-Tool-Call-Items. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| delta | Schnur | Die Argumente deltan als JSON-String. |
response.mcp_call_arguments.done
Das Serverereignis response.mcp_call_arguments.done wird zurückgegeben, wenn die vom Modell generierten MCP-Tool-Aufrufargumente mit dem Streaming abgeschlossen sind.
Ereignisstruktur
{
"type": "response.mcp_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"arguments": "<arguments>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.mcp_call_arguments.done. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des MCP-Tool-Call-Items. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| Argumente | Schnur | Die abschließenden Argumente als JSON-String. |
response.mcp_call.in_bearbeitung
Das Serverereignis response.mcp_call.in_progress wird zurückgegeben, wenn ein MCP-Tool-Aufruf mit der Verarbeitung beginnt.
Ereignisstruktur
{
"type": "response.mcp_call.in_progress",
"item_id": "<item_id>",
"output_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.mcp_call.in_progress. |
| item_id | Schnur | Die ID des MCP-Tool-Call-Items. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
response.mcp_call.abgeschlossen
Das Serverereignis response.mcp_call.completed wird zurückgegeben, wenn ein MCP-Toolaufruf erfolgreich abgeschlossen wird.
Ereignisstruktur
{
"type": "response.mcp_call.completed",
"item_id": "<item_id>",
"output_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.mcp_call.completed. |
| item_id | Schnur | Die ID des MCP-Tool-Call-Items. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
Antwort.mcp_aufruf.gescheitert
Das Serverereignis response.mcp_call.failed wird zurückgegeben, wenn ein MCP-Toolaufruf fehlschlägt.
Ereignisstruktur
{
"type": "response.mcp_call.failed",
"item_id": "<item_id>",
"output_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.mcp_call.failed. |
| item_id | Schnur | Die ID des MCP-Tool-Call-Items. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
response.foundry_agent_call_arguments.delta
Das Serverereignis response.foundry_agent_call_arguments.delta wird zurückgegeben, wenn die modellgenerierten Foundry-Agent-Aufrufargumente aktualisiert werden.
Ereignisstruktur
{
"type": "response.foundry_agent_call_arguments.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"delta": "<delta>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.foundry_agent_call_arguments.delta. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Gießerei-Agenten-Anruf-Artikels. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| delta | Schnur | Die Argumente deltan als JSON-String. |
response.foundry_agent_call_arguments.done
Das Serverereignis response.foundry_agent_call_arguments.done wird zurückgegeben, wenn die modellgenerierten Foundry-Agent-Aufrufargumente mit dem Streaming abgeschlossen sind.
Ereignisstruktur
{
"type": "response.foundry_agent_call_arguments.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"arguments": "<arguments>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.foundry_agent_call_arguments.done. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Gießerei-Agenten-Anruf-Artikels. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| Argumente | Schnur | Die abschließenden Argumente als JSON-String. |
response.foundry_agent_call.in_progress
Das Serverereignis response.foundry_agent_call.in_progress wird zurückgegeben, wenn ein Foundry-Agentenaufruf mit der Verarbeitung beginnt.
Ereignisstruktur
{
"type": "response.foundry_agent_call.in_progress",
"item_id": "<item_id>",
"output_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.foundry_agent_call.in_progress. |
| item_id | Schnur | Die ID des Gießerei-Agenten-Anruf-Artikels. |
| agent_response_id | Schnur | Die Antwort-ID vom Gießerei-Agenten. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
response.foundry_agent_call.completed
Das Server-Ereignis response.foundry_agent_call.completed wird zurückgegeben, wenn ein Foundry-Agentenaufruf erfolgreich abgeschlossen ist.
Ereignisstruktur
{
"type": "response.foundry_agent_call.completed",
"item_id": "<item_id>",
"agent_response_id": "<agent_response_id>",
"output_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.foundry_agent_call.completed. |
| item_id | Schnur | Die ID des Gießerei-Agenten-Anruf-Artikels. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
response.foundry_agent_call.failed
Das Serverereignis response.foundry_agent_call.failed wird zurückgegeben, wenn ein Foundry-Agentenaufruf fehlschlägt.
Ereignisstruktur
{
"type": "response.foundry_agent_call.failed",
"item_id": "<item_id>",
"output_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.foundry_agent_call.failed. |
| item_id | Schnur | Die ID des Gießerei-Agenten-Anruf-Artikels. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
response.ausgabeelement.hinzugefügt
Das Server-Event response.output_item.added wird zurückgegeben, wenn während der Antwortgenerierung ein neues Element erstellt wird.
Ereignisstruktur
{
"type": "response.output_item.added",
"response_id": "<response_id>",
"output_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.output_item.added. |
| response_id | Schnur | Die ID der Antwort, zu der der Gegenstand gehört. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| item | RealtimeConversationResponseItem | Der hinzugefügte Gegenstand. |
response.output_item.done
Das Server-Event response.output_item.done wird zurückgegeben, wenn ein Item das Streaming beendet hat.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.
Ereignisstruktur
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.output_item.done. |
| response_id | Schnur | Die ID der Antwort, zu der der Gegenstand gehört. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| item | RealtimeConversationResponseItem | Das Item, das gestreamt wird. |
response.text.delta
Das Serverereignis response.text.delta wird zurückgegeben, wenn der modellgenerierte Text aktualisiert wird. Der Text entspricht dem text Inhaltsteil eines Assistant-Nachrichtenelements.
Ereignisstruktur
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.text.delta. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Elements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| content_index | integer | Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels. |
| delta | Schnur | Der Text-Delta. |
response.text.done
Das Server-Event response.text.done wird zurückgegeben, wenn der modellgenerierte Text mit dem Streaming abgeschlossen ist. Der Text entspricht dem text Inhaltsteil eines Assistant-Nachrichtenelements.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen, unvollständig oder abgebrochen wird.
Ereignisstruktur
{
"type": "response.text.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"text": "<text>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.text.done. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Elements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| content_index | integer | Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels. |
| Text | Schnur | Der endgültige Textinhalt. |
session.avatar.switch_to_speaking
Wird zurückgegeben, wenn der Avatar in den Sprachzustand wechselt. Verwenden Sie dieses Ereignis, um UI-Änderungen zu koordinieren, z. B. das Anzeigen eines sprechenden Indikators.
Ereignisstruktur
{
"type": "session.avatar.switch_to_speaking",
"turn_id": "<turn_id>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein session.avatar.switch_to_speaking. |
| turn_id | Schnur | Optional. Die ID der Runde, die mit dem Avatar-Zustand verbunden ist, ändert sich. |
session.avatar.switch_to_idle
Wird zurückgegeben, wenn der Avatar in den Leerlaufzustand wechselt.
Ereignisstruktur
{
"type": "session.avatar.switch_to_idle",
"turn_id": "<turn_id>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein session.avatar.switch_to_idle. |
| turn_id | Schnur | Optional. Die ID der Runde, die mit dem Avatar-Zustand verbunden ist, ändert sich. |
response.video.delta
Wird zurückgegeben, wenn Avatar-Videoframedaten an den Client gestreamt werden. Die Framenutzlast ist base64-codiert und verwendet den durch das codec Feld angegebenen Codec.
Ereignisstruktur
{
"type": "response.video.delta",
"output_index": 0,
"codec": "h264",
"delta": "<base64_encoded_video_frame>"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.video.delta. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| Codec | Schnur | Der für die Videodaten verwendete Codec (z. B h264. ). |
| delta | Schnur | Die base64-codierten Videoframe-Daten. |
response.web_search_call.searching
Wird zurückgegeben, wenn ein Aufruf eines Websuchtools den Suchstatus eingibt.
Ereignisstruktur
{
"type": "response.web_search_call.searching",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"sequence_number": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.web_search_call.searching. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Websuchaufrufelements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| sequence_number | integer | Die Sequenznummer des Websuchaufrufs. |
response.web_search_call.in_progress
Wird zurückgegeben, wenn ein Aufruf des Websuchtools ausgeführt wird.
Ereignisstruktur
{
"type": "response.web_search_call.in_progress",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"sequence_number": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.web_search_call.in_progress. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Websuchaufrufelements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| sequence_number | integer | Die Sequenznummer des Websuchaufrufs. |
response.web_search_call.completed
Wird zurückgegeben, wenn ein Aufruf eines Websuchtools abgeschlossen wurde.
Ereignisstruktur
{
"type": "response.web_search_call.completed",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"sequence_number": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.web_search_call.completed. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Websuchaufrufelements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| sequence_number | integer | Die Sequenznummer des Websuchaufrufs. |
response.file_search_call.searching
Wird zurückgegeben, wenn ein Aufruf des Dateisuchtools den Suchstatus eingibt.
Ereignisstruktur
{
"type": "response.file_search_call.searching",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"sequence_number": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.file_search_call.searching. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Dateisuchaufrufelements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| sequence_number | integer | Die Sequenznummer des Dateisuchaufrufs. |
response.file_search_call.in_progress
Wird zurückgegeben, wenn ein Aufruf des Dateisuchtools ausgeführt wird.
Ereignisstruktur
{
"type": "response.file_search_call.in_progress",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"sequence_number": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.file_search_call.in_progress. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Dateisuchaufrufelements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| sequence_number | integer | Die Sequenznummer des Dateisuchaufrufs. |
response.file_search_call.completed
Wird zurückgegeben, wenn ein Aufruf des Dateisuchtools abgeschlossen wurde.
Ereignisstruktur
{
"type": "response.file_search_call.completed",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"sequence_number": 0
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.file_search_call.completed. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Dateisuchaufrufelements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| sequence_number | integer | Die Sequenznummer des Dateisuchaufrufs. |
output_audio_puffer.geräumt
Wird zurückgegeben, wenn der Ausgabeaudiopuffer als Reaktion auf ein Clientereignis output_audio_buffer.clear gelöscht wird. In der aktuellen Vorschau wird dieses Ereignis nur im Avatarmodus ausgegeben.
Ereignisstruktur
{
"type": "output_audio_buffer.cleared"
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein output_audio_buffer.cleared. |
response.audio_transcript.annotation.added
Wird zurückgegeben, wenn eine Anmerkung (z. B. ein Zitat, das von einem Web- oder Dateisuchtool erzeugt wird) einem Audiotranskriptinhaltsteil hinzugefügt wird.
Ereignisstruktur
{
"type": "response.audio_transcript.annotation.added",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"annotation_index": 0,
"annotation": {}
}
Eigenschaften
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Ereignistyp muss sein response.audio_transcript.annotation.added. |
| response_id | Schnur | Die ID der Antwort. |
| item_id | Schnur | Die ID des Elements. |
| output_index | integer | Der Index des Ausgabeelements in der Antwort. |
| content_index | integer | Der Index des Inhalts ist Teil des Inhalts-Arrays des Artikels. |
| annotation_index | integer | Der Index der Annotation. |
| Anmerkung | Objekt | Das Anmerkungsobjekt. Das Schema hängt von der Anmerkungsquelle ab (z. B. Websuchzitat). |
Komponenten
Audioformate
Echtzeit-Audioformat
Basis-Audioformat, das für den Eingabeton verwendet wird.
Zulässige Werte:
-
pcm16- 16-Bit-PCM-Audioformat -
g711_ulaw- G.711 μ-Law Audioformat -
g711_alaw- G.711 A-Law Audioformat
RealtimeOutputAudioFormat
Das Audioformat wird für die Ausgabe von Audio mit bestimmten Abtastraten verwendet.
Zulässige Werte:
-
pcm16- 16-Bit-PCM-Audioformat mit Standardabtastrate (24 kHz) -
pcm16_8000hz- 16-Bit-PCM-Audioformat mit 8 kHz Abtastrate -
pcm16_16000hz- 16-Bit-PCM-Audioformat mit 16 kHz Abtastrate -
g711_ulaw- G.711 μ-Law (mu-law) Audioformat mit 8 kHz Abtastrate -
g711_alaw- G.711 A-Law Audioformat mit 8 kHz Abtastrate
Echtzeit-Audioeingabe-Transkriptionseinstellungen
Konfiguration für die Eingabeaudiotranskription.
| Feld | Typ | Beschreibung |
|---|---|---|
| model | Schnur | Das Transkriptionsmodell. Unterstützt mit gpt-realtime und gpt-realtime-mini:whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, gpt-4o-transcribe-diarize, . mai-transcribeUnterstützt mit allen anderen Modellen und Agents: azure-speech und mai-transcribe |
| language | Schnur | Optionaler Sprachcode in BCP-47 (zum Beispiel en-US), oder ISO-639-1 (zum Beispiel en), oder in mehreren Sprachen mit automatischer Erkennung (zum Beispiel en,zh).Siehe Azure Sprach-zu-Text-unterstützte Sprachen für die empfohlene Verwendung dieser Einstellung. |
| custom_speech | Objekt | Optionale Konfiguration für benutzerdefinierte Sprachmodelle, nur gültig für azure-speech Modelle. |
| phrase_list | string[] | Optionale Liste von Phrasenhinweisen zur Verzerrungserkennung, gilt nur für azure-speech das Modell. |
| Eingabeaufforderung | Schnur | Optionaler Prompttext zur Anleitung der Transkription, gilt nur für whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe und gpt-4o-transcribe-diarize Modelle. |
RealtimeInputAudioNoiseReductionSettings
Dies kann sein:
RealtimeOpenAINoiseReduction
OpenAI Rauschunterdrückungskonfiguration mit explizitem Typfeld, nur verfügbar für gpt-realtime und gpt-realtime-mini Modelle.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur |
near_field oder far_field |
RealtimeAzureDeepNoiseSuppression
Konfiguration zur Rauschunterdrückung bei Audioeingang.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "azure_deep_noise_suppression" sein |
RealtimeInputAudioEchoCancellationSettings
Echo-Unterdrückungskonfiguration für serverseitige Audioverarbeitung.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "server_echo_cancellation" sein |
VoIP-Konfiguration
RealtimeVoice
Vereinigung aller unterstützten Sprachkonfigurationen.
Dies kann sein:
RealtimeOpenAIVoice
OpenAI-Sprachkonfiguration mit explizitem Typfeld.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "openai" sein |
| Name | Schnur | OpenAI-Sprachname: alloy, ash, , balladcoral, echo, sage, , shimmerversemarin, ,cedar |
RealtimeAzureVoice
Base für Azure Sprachkonfigurationen. Dies ist eine diskriminierte Vereinigung mit verschiedenen Typen:
RealtimeAzureStandardVoice
Azure Standard Voice Configuration.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "azure-standard" sein |
| Name | Schnur | Sprachname (darf nicht leer sein) |
| Temperatur | Zahl | Optional. Temperatur zwischen 0,0 und 1,0 |
| custom_lexicon_url | Schnur | Optional. URL zum benutzerdefinierten Lexikon |
| custom_text_normalization_url | Schnur | Optional. URL zur benutzerdefinierten Textnormalisierung |
| prefer_locales | string[] | Optional. Bevorzugte Gebietsschemas Bevorzugte Orte ändern die Akzente der Sprachen. Wenn der Wert nicht gesetzt ist, verwendet TTS den Standardakzent jeder Sprache. Zum Beispiel verwendet TTS beim Sprechen von Englisch den amerikanischen englischen Akzent. Und wenn man Spanisch spricht, verwendet er den mexikanischen spanischen Akzent. Wenn das prefer_locales auf ["en-GB", "es-ES"]gesetzt wird, ist der englische Akzent britisches Englisch und der spanische Akzent europäisch-spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen. |
| locale | Schnur | Optional. Gebietsschemaspezifikation Ersetze den Standort für TTS-Ausgabe. Wenn es nicht gesetzt ist, verwendet TTS immer den angegebenen Ort zum Sprechen. Zum Beispiel setzt man den Standort auf en-US, TTS verwendet immer einen amerikanischen englischen Akzent, um den Textinhalt zu sprechen, selbst wenn der Text in einer anderen Sprache ist. Und TTS gibt Stille aus, wenn der Textinhalt auf Chinesisch ist. |
| Stil | Schnur | Optional. Sprachstil |
| Tonhöhe | Schnur | Optional. Tonhöhenanpassung für den Stimmausgang. Folgt den gleichen Regeln wie das pitch Attribut des SSML-Elements prosody (siehe Anpassen prosody). Typische Werte: eine benannte Ebene (x-low, low, , mediumhigh, x-high, ), defaulteine relative Änderung (z+10%. B. , , -5%, +50Hz), -2stoder eine absolute Häufigkeit (z. B200Hz. ). |
| rate | Schnur | Optional. Sprechrate-Anpassung für den Sprachausgang. Folgt den gleichen Regeln wie das rate Attribut des SSML-Elements prosody (siehe Anpassen prosody). Typische Werte: eine benannte Ebene (, , , x-slowslow, medium, ), fasteinen relativen Prozentsatz (z. Bx-fast. ) defaultoder einen nicht negativen Multiplikator (z+20%. B. , -10%). 0.51.5 |
| Lautstärke | Schnur | Optional. Lautstärkeanpassung für den Sprachausgang. Folgt den gleichen Regeln wie das volume Attribut des SSML-Elements prosody (siehe Anpassen prosody). Typische Werte: eine benannte Ebene (, , , silent, x-softsoft, medium, ), loudeine absolute Zahl zwischen 0,0 und 100,0 oder eine relative Änderung (zx-loud. B. , default). +10-6dB |
RealtimeAzureCustomVoice
Azure benutzerdefinierte Sprachkonfiguration (bevorzugt für benutzerdefinierte Stimmen).
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "azure-custom" sein |
| Name | Schnur | Sprachname (darf nicht leer sein) |
| endpoint_id | Schnur | Endpunkt-ID (darf nicht leer sein) |
| Temperatur | Zahl | Optional. Temperatur zwischen 0,0 und 1,0 |
| custom_lexicon_url | Schnur | Optional. URL zum benutzerdefinierten Lexikon |
| custom_text_normalization_url | Schnur | Optional. URL zur benutzerdefinierten Textnormalisierung |
| prefer_locales | string[] | Optional. Bevorzugte Gebietsschemas Bevorzugte Orte ändern die Akzente der Sprachen. Wenn der Wert nicht gesetzt ist, verwendet TTS den Standardakzent jeder Sprache. Zum Beispiel verwendet TTS beim Sprechen von Englisch den amerikanischen Englischakzent. Und wenn man Spanisch spricht, verwendet er den mexikanischen spanischen Akzent. Wenn das prefer_locales auf ["en-GB", "es-ES"]gesetzt wird, ist der englische Akzent britisches Englisch und der spanische Akzent europäisch-spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen. |
| locale | Schnur | Optional. Gebietsschemaspezifikation Ersetze den Standort für TTS-Ausgabe. Wenn es nicht gesetzt ist, verwendet TTS immer den angegebenen Ort zum Sprechen. Zum Beispiel setzt man den Standort auf en-US, TTS verwendet immer einen amerikanischen englischen Akzent, um den Textinhalt zu sprechen, selbst wenn der Text in einer anderen Sprache ist. Und TTS gibt Stille aus, wenn der Textinhalt auf Chinesisch ist. |
| Stil | Schnur | Optional. Sprachstil |
| Tonhöhe | Schnur | Optional. Tonhöhenanpassung für den Stimmausgang. Folgt den gleichen Regeln wie das pitch Attribut des SSML-Elements prosody (siehe Anpassen prosody). Typische Werte: eine benannte Ebene (x-low, low, , mediumhigh, x-high, ), defaulteine relative Änderung (z+10%. B. , , -5%, +50Hz), -2stoder eine absolute Häufigkeit (z. B200Hz. ). |
| rate | Schnur | Optional. Sprechrate-Anpassung für den Sprachausgang. Folgt den gleichen Regeln wie das rate Attribut des SSML-Elements prosody (siehe Anpassen prosody). Typische Werte: eine benannte Ebene (, , , x-slowslow, medium, ), fasteinen relativen Prozentsatz (z. Bx-fast. ) defaultoder einen nicht negativen Multiplikator (z+20%. B. , -10%). 0.51.5 |
| Lautstärke | Schnur | Optional. Lautstärkeanpassung für den Sprachausgang. Folgt den gleichen Regeln wie das volume Attribut des SSML-Elements prosody (siehe Anpassen prosody). Typische Werte: eine benannte Ebene (, , , silent, x-softsoft, medium, ), loudeine absolute Zahl zwischen 0,0 und 100,0 oder eine relative Änderung (zx-loud. B. , default). +10-6dB |
Beispiel:
{
"type": "azure-custom",
"name": "my-custom-voice",
"endpoint_id": "12345678-1234-1234-1234-123456789012",
"temperature": 0.7,
"style": "cheerful",
"locale": "en-US"
}
RealtimeAzurePersonalVoice
Azure Personal Voice Configuration.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "azure-personal" sein |
| Name | Schnur | Sprachname (darf nicht leer sein) |
| Temperatur | Zahl | Optional. Temperatur zwischen 0,0 und 1,0 |
| model | Schnur | Zugrunde liegendes Basismodell: DragonLatestNeural, DragonHDOmniLatestNeural |
| custom_lexicon_url | Schnur | Optional. URL zum benutzerdefinierten Lexikon |
| custom_text_normalization_url | Schnur | Optional. URL zur benutzerdefinierten Textnormalisierung |
| prefer_locales | string[] | Optional. Bevorzugte Gebietsschemas Bevorzugte Orte ändern die Akzente der Sprachen. Wenn der Wert nicht gesetzt ist, verwendet TTS den Standardakzent jeder Sprache. Zum Beispiel verwendet TTS beim Sprechen von Englisch den amerikanischen englischen Akzent. Und wenn man Spanisch spricht, verwendet er den mexikanischen spanischen Akzent. Wenn das prefer_locales auf ["en-GB", "es-ES"]gesetzt wird, ist der englische Akzent britisches Englisch und der spanische Akzent europäisch-spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen. |
| locale | Schnur | Optional. Gebietsschemaspezifikation Ersetze den Standort für TTS-Ausgabe. Wenn es nicht gesetzt ist, verwendet TTS immer den angegebenen Ort zum Sprechen. Zum Beispiel setzt man den Standort auf en-US, TTS verwendet immer einen amerikanischen englischen Akzent, um den Textinhalt zu sprechen, selbst wenn der Text in einer anderen Sprache ist. Und TTS gibt Stille aus, wenn der Textinhalt auf Chinesisch ist. |
| Tonhöhe | Schnur | Optional. Tonhöhenanpassung für den Stimmausgang. Folgt den gleichen Regeln wie das pitch Attribut des SSML-Elements prosody (siehe Anpassen prosody). Typische Werte: eine benannte Ebene (x-low, low, , mediumhigh, x-high, ), defaulteine relative Änderung (z+10%. B. , , -5%, +50Hz), -2stoder eine absolute Häufigkeit (z. B200Hz. ). |
| rate | Schnur | Optional. Sprechrate-Anpassung für den Sprachausgang. Folgt den gleichen Regeln wie das rate Attribut des SSML-Elements prosody (siehe Anpassen prosody). Typische Werte: eine benannte Ebene (, , , x-slowslow, medium, ), fasteinen relativen Prozentsatz (z. Bx-fast. ) defaultoder einen nicht negativen Multiplikator (z+20%. B. , -10%). 0.51.5 |
| Lautstärke | Schnur | Optional. Lautstärkeanpassung für den Sprachausgang. Folgt den gleichen Regeln wie das volume Attribut des SSML-Elements prosody (siehe Anpassen prosody). Typische Werte: eine benannte Ebene (, , , silent, x-softsoft, medium, ), loudeine absolute Zahl zwischen 0,0 und 100,0 oder eine relative Änderung (zx-loud. B. , default). +10-6dB |
Erkennung drehen
Echtzeitkurvendetektion
Konfiguration für die Turnerkennung. Dies ist eine diskriminierte Gewerkschaft, die mehrere VAD-Typen unterstützt.
RealtimeServerVAD
Basis-VAD-basierte Zugerkennung.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "server_vad" sein |
| threshold | float | Optional. Aktivierungsschwellenwert im Bereich [0.01, 1.0) (Standard: 0,5) |
| prefix_padding_ms | integer | Optional. Audioabstand vor dem Start der Sprache (Standard: 400) |
| Stille_Dauer_ms | integer | Optional. Dauer der Stille bis zum Erkennen der Sprachbeendigung (Standard: 500) |
| speech_duration_ms | integer | Optional. Mindestsprachdauer (Standard: 200) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. End-of-Utterance-Erkennungskonfiguration |
| Antwort_erstellen | boolean | Optional. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird (Standard: true). |
| interrupt_response | boolean | Optional. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: true). |
| auto_truncate | boolean | Optional. Auto-trunkieren bei Unterbrechung (Standard: falsch) |
RealtimeOpenAISemanticVAD
OpenAI semantische VAD-Konfiguration, die ein Modell verwendet, um zu bestimmen, wann der Benutzer mit dem Sprechen fertig ist. Es gibt nur Modelle und gpt-realtimegpt-realtime-mini Modelle.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "semantic_vad" sein |
| Eifer | Schnur | Optional. Dies ist eine Möglichkeit, zu steuern, wie eifrig das Modell ist, den Benutzer zu unterbrechen und das maximale Wartezeittimeout zu optimieren. Auch wenn das Modell nicht antwortet, hat es im Transkriptionsmodus Einfluss darauf, wie das Audio segmentiert wird. Die folgenden Werte sind zulässig: - auto (Standard) entspricht medium,- low lässt den Nutzer sich Zeit zum Sprechen nehmen,- high wird das Audio so schnell wie möglich in Abschnitte unterteilen.Wenn Sie möchten, dass das Modell häufiger im Unterhaltungsmodus reagiert oder Transkriptionsereignisse schneller im Transkriptionsmodus zurückgegeben werden sollen, können Sie die Eingreifbereitschaft auf high festlegen.Wenn Sie es dem Benutzer hingegen ermöglichen möchten, im Unterhaltungsmodus ununterbrochen zu sprechen, oder wenn Sie größere Transkriptblöcke im Transkriptionsmodus wünschen, können Sie die Einstellung auf low ändern. |
| Antwort_erstellen | boolean | Optional. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird (Standard: true). |
| interrupt_response | boolean | Optional. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: true). |
RealtimeAzureSemanticVAD
Azure semantisches VAD, das bestimmt, wann der Benutzer mit einem semantischen Sprachmodell beginnt und spricht, was eine robustere Erkennung in rauschen Umgebungen ermöglicht.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "azure_semantic_vad" sein |
| threshold | float | Optional. Aktivierungsschwellenwert im Bereich [0.01, 1.0) (Standard: 0,5) |
| prefix_padding_ms | integer | Optional. Audioabstand vor sprache (Standard: 420) |
| Stille_Dauer_ms | integer | Optional. Dauer der Stille zum Ende der Rede (Standard: 500) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. EOU-Erkennungskonfiguration |
| speech_duration_ms | integer | Optional. Mindestsprachdauer (Standard: 80) |
| remove_filler_words | boolean | Optional. Füllwörter entfernen (Standard: falsch) |
| Sprachen | string[] | Optional. Unterstützt Englisch. Andere Sprachen werden ignoriert (Standard: keine). |
| Antwort_erstellen | boolean | Optional. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird (Standard: true). |
| interrupt_response | boolean | Optional. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: true). |
| auto_truncate | boolean | Optional. Auto-trunkieren bei Unterbrechung (Standard: falsch) |
RealtimeAzureSemanticVADMultilingual
Azure semantischen VAD (Standardvariante).
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "azure_semantic_vad_multilingual" sein |
| threshold | float | Optional. Aktivierungsschwellenwert im Bereich [0.01, 1.0) (Standard: 0,5) |
| prefix_padding_ms | integer | Optional. Audioabstand vor sprache (Standard: 420) |
| Stille_Dauer_ms | integer | Optional. Dauer der Stille zum Ende der Rede (Standard: 500) |
| end_of_utterance_detection | RealtimeEOUDetection | Optional. EOU-Erkennungskonfiguration |
| speech_duration_ms | integer | Optional. Mindestsprachdauer (Standard: 80) |
| remove_filler_words | boolean | Optional. Füllwörter entfernen (Standard: falsch) |
| Sprachen | string[] | Optional. Unterstützt Englisch, Spanisch, Französisch, Italienisch, Deutsch (DE), Japanisch, Portugiesisch, Chinesisch, Koreanisch, Hindi. Andere Sprachen werden ignoriert (Standard: keine). |
| Antwort_erstellen | boolean | Optional. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird (Standard: true). |
| interrupt_response | boolean | Optional. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: true). |
| auto_truncate | boolean | Optional. Auto-trunkieren bei Unterbrechung (Standard: falsch) |
RealtimeEOUDetection
Azure End-of-Utterance (EOU) konnte anzeigen, wann der Endnutzer aufhörte zu sprechen, während natürliche Pausen erlaubt wurden. Die Erkennung der Beendigung von Äußerungen kann vorzeitige Signale zu Sprecherwechseln erheblich reduzieren, ohne dass eine für die Benutzenden erkennbare Latenz auftritt.
| Feld | Typ | Beschreibung |
|---|---|---|
| model | Schnur | Könnte semantic_detection_v1 Englisch unterstützen oder semantic_detection_v1_multilingual Englisch, Spanisch, Französisch, Italienisch, Deutsch (DE), Japanisch, Portugiesisch, Chinesisch, Koreanisch, Hindi unterstützen |
| threshold_level | Schnur | Optional. Der Erkennungsschwellenwert (low, medium, high und default), die Standardeinstellung entspricht medium der Einstellung. Mit einer niedrigeren Einstellung wird die Wahrscheinlichkeit, dass der Satz abgeschlossen ist, höher sein. |
| timeout_ms | Zahl | Optional. Maximale Zeit in Millisekunden, um auf mehr Nutzersprache zu warten. Standardmäßig 1000 ms. |
Avatarkonfiguration
RealtimeAvatarConfig
Konfiguration für Avatar-Streaming und Verhalten.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Optional. Avatartyp. Zulässige Werte: video-avatar, photo-avatar. Die Standardeinstellung ist video-avatar. |
| ice_servers | RealtimeIceServer[] | Optional. ICE-Server für WebRTC |
| character | Schnur | Charaktername oder ID des Avatars |
| Stil | Schnur | Optional. Avatar-Stil (emotionaler Ton, Sprechstil) |
| Angepasst | boolean | Ob der Avatar individuell angepasst ist |
| model | Schnur | Optional. Basismodellname für den Foto-Avatar, erforderlich, wenn Typ ist photo-avatar, gültiger Wert ist vasa-1 |
| video | RealtimeVideoParams | Optional. Videokonfiguration |
| Szene | RealtimeAvatarScene | Optional. Konfiguration für den Zoomlevel, die Position, die Rotation und die Bewegungsamplitude des Avatars im Videobild |
| output_protocol | Schnur | Optional. Ausgabeprotokoll für Avatar-Streaming. Zulässige Werte: websocket und webrtc. Die Standardeinstellung ist webrtc. |
| output_audit_audio | boolean | Optional. Wenn aktiviert, leitet er Audit-Audio über WebSocket zur Überprüfung und Debugging weiter, selbst wenn die Avatarausgabe über WebRTC geliefert wird. Die Standardeinstellung ist false. |
RealtimeIceServer
ICE-Serverkonfiguration für WebRTC-Verbindungsverhandlung.
| Feld | Typ | Beschreibung |
|---|---|---|
| urls | string[] | ICE-Server-URLs (TURN oder STUN-Endpunkte) |
| username | Schnur | Optional. Benutzername für die Authentifizierung |
| credential | Schnur | Optional. Zugangsnachweis zur Authentifizierung |
RealtimeVideoParams
Video-Streaming-Parameter für den Avatar.
| Feld | Typ | Beschreibung |
|---|---|---|
| Bitrate | integer | Optional. Bitrate in Bits pro Sekunde (Standard: 2000000) |
| Codec | Schnur | Optional. Videocodec, derzeit nur h264 (Standard: h264) |
| crop | RealtimeVideoCrop | Optional. Zuschneideeinstellungen |
| Auflösung | RealtimeVideoResolution | Optional. Auflösungseinstellungen |
| Hintergrund | RealtimeVideoBackground | Optional. Hintergrundeinstellungen |
| gop_size | integer | Optional. Bildgruppengröße (Standardgröße: 10, Bereich: 1–2000) |
RealtimeVideoCrop
Definition von Rechtecken im Videozuschnitt.
| Feld | Typ | Beschreibung |
|---|---|---|
| top_left | Ganzzahl[] | Obere linke Ecke [x, y], nichtnegative ganze Zahlen |
| bottom_right | Ganzzahl[] | Unten rechts [x, y], nichtnegative ganze Zahlen |
RealtimeVideoResolution
Videoauflösungsspezifikation.
| Feld | Typ | Beschreibung |
|---|---|---|
| width | integer | Breite in Pixeln (muss 0 sein > ) |
| height | integer | Höhe in Pixeln (muss 0 sein > ) |
RealtimeVideoBackground
Video-Hintergrundkonfiguration. Es kann nur eines von oder image_urlcolor eingestellt werden.
| Feld | Typ | Beschreibung |
|---|---|---|
| image_url | Schnur | Optional. URL zu einem Hintergrundbild |
| color | Schnur | Optional. Hintergrundfarbwert |
RealtimeAvatarScene
Konfiguration für den Zoomlevel, die Position, die Rotation und die Bewegungsamplitude des Avatars im Videobild.
| Feld | Typ | Beschreibung |
|---|---|---|
| Zoom | Zahl | Optional. Zoomhöhe des Avatars. Reichweite ist (0, +∞). Werte weniger als 1 Zoom heraus, Werte größer als 1 Zoom hinein. Standard ist 0 |
| position_x | Zahl | Optional. Horizontale Position des Avatars. Die Reichweite ist [-1, 1], als Verhältnis zur Bildbreite. Negative Werte verschieben sich nach links, positive Werte bewegen sich nach rechts. Standard ist 0 |
| position_y | Zahl | Optional. Vertikale Position des Avatars. Die Reichweite ist [-1, 1], als Verhältnis zur Bildhöhe. Negative Werte steigen, positive Werte fallen ab. Standard ist 0 |
| rotation_x | Zahl | Optional. Drehung um die X-Achse (Pitch). Die Reichweite ist [-π, π] in Radianten. Negative Werte drehen sich nach oben, positive Werte rotieren nach unten. Standard ist 0 |
| rotation_y | Zahl | Optional. Rotation um die Y-Achse (Gier). Die Reichweite ist [-π, π] in Radianten. Negative Werte drehen sich nach links, positive Werte drehen nach rechts. Standard ist 0 |
| rotation_z | Zahl | Optional. Rotation um die Z-Achse (Roll). Die Reichweite ist [-π, π] in Radianten. Negative Werte drehen sich gegen den Uhrzeigersinn, positive Werte drehen sich im Uhrzeigersinn. Standard ist 0 |
| Amplitude | Zahl | Optional. Amplitude der Avatar-Bewegung. Reichweite ist (0, 1]. Werte in (0, 1) bedeuten reduzierte Amplitude, 1 bedeutet volle Amplitude. Standard ist 0 |
Animationskonfiguration
RealtimeAnimation
Konfiguration für Animationsausgaben, einschließlich Blendshapes und Vizeme.
| Feld | Typ | Beschreibung |
|---|---|---|
| model_name | Schnur | Optional. Name des Animationsmodells (Standard: "default") |
| outputs | RealtimeAnimationOutputType[] | Optional. Ausgabetypen (Standard: ["blendshapes"]) |
RealtimeAnimationOutputType
Arten von Animationsdaten, die ausgegeben werden sollen.
Zulässige Werte:
-
blendshapes- Daten zu Gesichtsmischungen -
viseme_id- Viseme-Identifikatordaten
Sitzungskonfiguration
RealtimeRequestSession
Sitzungskonfigurationsobjekt, das in Events verwendet session.update wird.
| Feld | Typ | Beschreibung |
|---|---|---|
| model | Schnur | Optional. Modellname zur Verwendung |
| modalities | RealtimeModality[] | Optional. Die unterstützten Ausgabemodalitäten für die Sitzung. Zum Beispiel ist "Modalitäten": ["Text", "Audio"] die Standardeinstellung, die sowohl Text- als auch Audioausgabemodalitäten aktiviert. Um nur die Textausgabe zu ermöglichen, setzen Sie "Modalitäten": ["text"]. Um die Avatarausgabe zu aktivieren, setze "Modalitäten": ["text", "audio", "avatar"]. Du kannst nicht nur Audio aktivieren. |
| Animation | RealtimeAnimation | Optional. Animationskonfiguration |
| Stimme | RealtimeVoice | Optional. VoIP-Konfiguration |
| instructions | Schnur | Optional. Systemanweisungen für das Modell. Die Anweisungen könnten den Ausgangston steuern, wenn OpenAI-Stimmen verwendet werden, gelten aber möglicherweise nicht für Azure-Stimmen. |
| input_audio_sampling_rate | integer | Optional. Eingangs-Audio-Abtastrate in Hz (Standard: 24000 für pcm16, 8000 für g711_ulaw und g711_alaw) |
| input_audio_format | RealtimeAudioFormat | Optional. Eingangs-Audioformat (Standard: pcm16) |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Ausgabe-Audioformat (Standard: pcm16) |
| input_audio_noise_reduction | RealtimeInputAudioNoiseReductionSettings | Konfiguration zur Rauschunterdrückung bei Audioeingang. Dies kann auf NULL festgelegt werden, um den Vorgang zu deaktivieren. Bei der Rauschunterdrücken werden Audiodaten, die dem Eingabeaudiopuffer hinzugefügt werden, gefiltert, bevor sie an VAD und das Modell gesendet werden. Durch die Filterung der Audiodaten können die Genauigkeit der VAD und der Sprecherwechselerkennung (Reduzierung falsch positiver Ergebnisse) sowie die Modellleistung verbessert werden, indem die Wahrnehmung der Eingabeaudiodaten verbessert wird. Diese Eigenschaft ist null. |
| input_audio_echo_cancellation | RealtimeInputAudioEchoCancellationSettings | Konfiguration zur Eingangs-Audio-Echo-Unterdrückung. Dies kann auf NULL festgelegt werden, um den Vorgang zu deaktivieren. Diese dienstseitige Echounterdrückung kann helfen, die Qualität des Eingangstons zu verbessern, indem sie den Einfluss von Echo und Nachhall reduziert. Diese Eigenschaft ist null. |
| input_audio_transcription | Echtzeit-Audioeingabe-Transkriptionseinstellungen | Die Konfiguration für die Eingabeaudiotranskription. Die Konfiguration ist standardmäßig NULL (aus). Die Audiotranskription von Eingaben ist nicht nativ für das Modell, da das Modell Audio direkt nutzt. Die Transkription wird asynchron über den /audio/transcriptions Endpunkt ausgeführt und sollte als Anleitung für Eingabeaudioinhalte behandelt werden, anstatt genau das, was das Modell gehört hat. Für zusätzliche Anleitungen für den Transkriptionsdienst kann der Client optional die Sprache festlegen und zur Transkription auffordern.Diese Eigenschaft ist null. |
| turn_detection | RealtimeTurnDetection | Die Einstellungen für die Abzugserkennung für die Sitzung. Dies kann auf NULL festgelegt werden, um den Vorgang zu deaktivieren. |
| tools | Array von RealtimeTool | Die Werkzeuge, die dem Modell für die Sitzung zur Verfügung stehen. |
| tool_choice | RealtimeToolChoice | Die Werkzeugwahl für die Sitzung. Erlaubte Werte: auto, none, und required. Andernfalls können Sie den Namen der zu verwendenden Funktion angeben. |
| Temperatur | Zahl | Die Stichprobentemperatur für das Modell. Die erlaubten Temperaturwerte sind auf [0,6, 1,2] begrenzt. Der Standardwert ist 0,8. |
| max_response_output_tokens | Ganzzahl oder "Inf" | Die maximale Anzahl der Ausgabetoken pro Assistentenantwort, einschließlich Werkzeugaufrufe. Geben Sie eine ganze Zahl zwischen 1 und 4096 an, um die Ausgabetoken zu begrenzen. Andernfalls wird der Wert auf "inf" gesetzt, um die maximale Anzahl an Token zu ermöglichen. Zum Beispiel, um die Ausgabetoken auf 1000 zu begrenzen, setzen "max_response_output_tokens": 1000wir . Um die maximale Anzahl an Token zu ermöglichen, setze "max_response_output_tokens": "inf".Wird standardmäßig auf "inf" festgelegt. |
| Zwischenantwort | InterimResponseConfig | Optional. Konfiguration für die Erzeugung von Zwischenantworten während Latenz oder Tool-Aufrufen. |
| Denkanstrengung | ReasoningEffort | Optional. Beschränkt den Aufwand für die Begründung von Begründungsmodellen. Schau dir Azure Foundry doc für weitere Details an. Das Reduzieren von Begründungen kann zu schnelleren Antworten und weniger Token führen, die bei der Begründung in einer Antwort verwendet werden. |
| Avatar | RealtimeAvatarConfig | Optional. Avatarkonfiguration |
| output_audio_timestamp_types | RealtimeAudioTimestampType[] | Optional. Zeitstempeltypen für Ausgangsaudio |
| Metadaten | Karte | Optional. Setze bis zu 16 Schlüssel-Wert-Paare, die der Sitzung zugeordnet werden können. Dies ist nützlich, um zusätzliche Informationen über die Sitzung in einem strukturierten Format zu speichern, wie z. B. Tracking-IDs, Benutzerkontext oder anwendungsspezifische Labels. Diese Schlüssel-Wert-Paare sind auch in Microsoft Foundry-Ressourcenprotokolle für die Ablaufverfolgung und Diagnose enthalten. Tasten können maximal 64 Zeichen lang sein und Werte maximal 512 Zeichen. |
RealtimeModality
Unterstützte Sitzungsausgabemodalitäten.
Zulässige Werte:
-
text- Textausgabe -
audio- Audioausgabe -
animation- Animationsausgabe -
avatar- Avatar-Videoausgabe
RealtimeAudioTimestampType
Ausgabe-Zeitstempeltypen, die in Audio-Antwort-Inhalten unterstützt werden.
Zulässige Werte:
-
word- Zeitstempel pro Wort im Ausgangsaudio
ReasoningEffort
Beschränkt den Aufwand für die Begründung von Begründungsmodellen. Überprüfen Sie die Modelldokumentation auf unterstützte Werte für jedes Modell. Das Reduzieren von Begründungen kann zu schnelleren Antworten und weniger Token führen, die bei der Begründung in einer Antwort verwendet werden.
Zulässige Werte:
-
none- Kein Überlegungsaufwand -
minimal- Minimaler Schlussaufwand -
low- Geringer Schlussarbeit – schnellere Antworten mit weniger Argumentation -
medium- Mittlerer Schlussaufwand – ausgewogen zwischen Geschwindigkeit und Denktiefe -
high- Hoher Schlussfolgerungsaufwand – gründlicheres Schließen, kann länger dauern -
xhigh- Extra hoher Schlussarbeit – maximale Denktiefe
Toolkonfiguration
Wir unterstützen zwei Arten von Tools: Function Calling und MCP-Tools, mit denen Sie sich mit einem MCP-Server verbinden können.
Echtzeit-Tool
Werkzeugdefinition für das Aufrufen von Funktionen.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "function" sein |
| Name | Schnur | Funktionsname |
| description | Schnur | Funktionsbeschreibung und Nutzungsrichtlinien |
| parameters | Objekt | Funktionsparameter als JSON-Schema-Objekt |
RealtimeToolChoice
Werkzeugauswahlstrategie.
Dies kann sein:
-
"auto"- Lass das Modell wählen -
"none"- Benutze keine Werkzeuge -
"required"- Muss ein Werkzeug benutzen -
{ "type": "function", "name": "function_name" }- Verwendung spezifischer Funktion
MCPTool
MCP-Werkzeugkonfiguration.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "mcp" sein |
| Serverbeschriftung | Schnur | Required. Die Bezeichnung des MCP-Servers. |
| server_url | Schnur | Required. Die Server-URL des MCP-Servers. |
| erlaubte_Werkzeuge | string[] | Optional. Die Liste der erlaubten Werkzeugnamen. Wenn nicht angegeben, sind alle Werkzeuge erlaubt. |
| headers | Objekt | Optional. Zusätzliche Header für MCP-Anfragen. |
| authorization | Schnur | Optional. Autorisierungstoken für MCP-Anforderungen. |
| Genehmigung erforderlich | String oder Wörterbuch | Optional. Wenn auf eine Zeichenkette gesetzt, muss der Wert oder neverseinalways. Wenn es auf ein Wörterbuch gesetzt ist, muss es im Format {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}sein. Der Standardwert ist always. Wenn auf alwaysgesetzt ist, benötigt die Werkzeugausführung eine Genehmigung, mcp_approval_request wird an den Client gesendet, wenn das MCP-Argument abgeschlossen ist, und wird erst ausgeführt, wenn mcp_approval_response mit approve=true empfangen wurde. Wenn auf nevergesetzt ist, wird das Werkzeug automatisch ohne Genehmigung ausgeführt. |
FoundryAgentTool
Werkzeugdefinition zur Integration eines Foundry-Agenten als Werkzeug. Dies ermöglicht ein Chat-Supervisor-Muster, bei dem ein Echtzeit-basierter Chat-Agent grundlegende Interaktionen abwickelt und komplexe Aufgaben an einen intelligenteren Foundry-Agenten delegiert.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "foundry_agent" sein |
| agent_name | Schnur | Required. Der Name des Gießerei-Agenten, den man anrufen sollte. |
| agent_version | Schnur | Optional. Die Version des Foundry-Agenten, die man anrufen sollte. |
| project_name | Schnur | Required. Der Name des Gießereiprojekts, das den Agenten enthält. |
| client_id | Schnur | Optional. Die Kunden-ID ist mit dem Foundry-Agenten verknüpft. |
| description | Schnur | Optional. Eine optionale Beschreibung für das Foundry-Agenten-Tool. Wenn angegeben, wird es anstelle der Beschreibung des Agenten im Foundry-Portal verwendet. |
| foundry_resource_override | Schnur | Optional. Override für die Foundry-Ressource, die zur Ausführung des Agenten verwendet wird. |
| agent_context_type | Schnur | Optional. Der Kontexttyp, den man beim Aufruf des Foundry-Agenten verwenden sollte. Mögliche Werte: no_context, agent_context. Der Standardwert ist agent_context.no_context: Es wird nur die aktuelle Benutzereingabe gesendet, kein Kontext wird gepflegt.agent_context: Der Agent behält seinen eigenen Kontext (Thread), nur die aktuelle Eingabe wird pro Aufruf gesendet. |
| return_agent_response_directly | boolean | Optional. Ob man die Antwort des Agenten direkt in der Voice Live-Antwort zurückgeben soll. Der Standardwert ist true. Wenn falseauf gesetzt ist, wird die Antwort an den Chat-Agenten gesendet, um sie umzuformulieren. |
Beispiel:
{
"instructions": "You are a helpful assistant. Please respond with a short message like 'working on this' before calling the agent tool.",
"tools": [
{
"type": "foundry_agent",
"agent_name": "customer-service-agent",
"agent_version": "2",
"project_name": "my-foundry-project",
"description": "A helpful agent that can search online information and handle complex customer requests"
}
]
}
Zwischenlösungskonfiguration
Zwischenreaktionen ermöglichen es dem System, während der Ausführung der Werkzeuge Platzhalter-Audioantworten zu erzeugen, was das Nutzererlebnis verbessert, indem Stille vermieden wird.
InterimResponseConfig
Konfiguration zur Zwischenreaktionsgenerierung. Dies ist ein Union-Typ, der einer der folgenden sein kann:
- StaticInterimResponseConfig – Vorgefertigte Zwischenantworten, ausgewählt aus einer vordefinierten Liste.
- LlmInterimResponseConfig – von LLM generierte Zwischenantworten.
StaticInterimResponseConfig
Konfiguration für statische Zwischenantwortgenerierung. Wählt zufällig aus konfigurierten Texten aus, wenn eine Triggerbedingung erfüllt ist.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "static-interim-response" sein. |
| triggers | InterimResponseTrigger[] | Optional. Liste von Auslösern, die die Zwischenreaktion auslösen können. Jeder Trigger kann die Zwischenreaktion (OR-Logik) aktivieren. Unterstützte Werte: latency, tool. Der Standardwert ist ["latency"]. |
| latency_threshold_ms | integer | Optional. Latenzschwelle in Millisekunden, bevor die Zwischenreaktion ausgelöst wird. Standard sind 2000 ms. Der Mindestwert ist 0. |
| Texte | string[] | Optional. Liste von Zwischenantwort-Textoptionen, aus denen man zufällig auswählen kann. |
Beispiel:
{
"session": {
"interim-response": {
"type": "static-interim-response",
"triggers": ["latency", "tool"],
"latency_threshold_ms": 1500,
"texts": [
"Let me think about that...",
"One moment please...",
"Working on that for you..."
]
}
}
}
LlmInterimResponseConfig
Konfiguration für LLM-basierte Zwischenantwortgenerierung. Verwendet LLM, um kontextbewusste Zwischenantworten zu erzeugen, wenn eine Triggerbedingung erfüllt ist.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "llm-interim-response" sein. |
| triggers | InterimResponseTrigger[] | Optional. Liste von Auslösern, die die Zwischenreaktion auslösen können. Jeder Trigger kann die Zwischenreaktion (OR-Logik) aktivieren. Unterstützte Werte: latency, tool. Der Standardwert ist ["latency"]. |
| latency_threshold_ms | integer | Optional. Latenzschwelle in Millisekunden, bevor die Zwischenreaktion ausgelöst wird. Standard sind 2000 ms. Der Mindestwert ist 0. |
| model | Schnur | Optional. Das Modell für die LLM-basierte Zwischenreaktionsgenerierung. Der Standardwert ist gpt-4.1-mini. Das Standardmodell könnte sich ohne eine neue API-Version ändern. |
| instructions | Schnur | Optional. Benutzerdefinierte Anweisungen zur Erstellung von Zwischenantworten. Falls nicht angegeben, wird eine Standard-Eingabeaufforderung verwendet. |
| max_completion_tokens | integer | Optional. Maximale Anzahl an Token, die für die Zwischenantwort generiert werden müssen. Der Standardwert ist 50. Der Mindestwert ist 1. |
Beispiel:
{
"session": {
"interim-response": {
"type": "llm-interim-response",
"triggers": ["tool"],
"latency_threshold_ms": 2000,
"model": "gpt-4.1-mini",
"instructions": "Generate a brief, friendly acknowledgment that you're working on the user's request.",
"max_completion_tokens": 30
}
}
}
InterimResponseTrigger
Auslöser, die die Zwischenreaktionsgenerierung aktivieren können.
Zulässige Werte:
-
latency- Zwischenreaktion auslösen, wenn die Antwortlatenz die Schwelle überschreitet -
tool- Zwischenreaktion auslösen, wenn ein Toolaufruf ausgeführt wird
Echtzeit-Gesprächsantwort-Element
Dies ist ein Union-Typ, der einer der folgenden sein kann:
RealtimeConversationUserMessageItem
Benutzernachrichtenelement.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Gegenstands. |
| type | Schnur | Muss "message" sein |
| Objekt | Schnur | Muss "conversation.item" sein |
| Rolle | Schnur | Muss "user" sein |
| Inhalt | RealtimeInputTextContentPart | Der Inhalt der Nachricht. |
| status | RealtimeItemStatus | Der Status des Elements. |
RealtimeConversationAssistantMessageItem
Assistentennachricht.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Gegenstands. |
| type | Schnur | Muss "message" sein |
| Objekt | Schnur | Muss "conversation.item" sein |
| Rolle | Schnur | Muss "assistant" sein |
| Inhalt | RealtimeOutputTextContentPart[] oder RealtimeOutputAudioContentPart[] | Der Inhalt der Nachricht. |
| status | RealtimeItemStatus | Der Status des Elements. |
RealtimeConversationSystemMessageItem
Systemnachrichtenelement.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Gegenstands. |
| type | Schnur | Muss "message" sein |
| Objekt | Schnur | Muss "conversation.item" sein |
| Rolle | Schnur | Muss "system" sein |
| Inhalt | RealtimeInputTextContentPart[] | Der Inhalt der Nachricht. |
| status | RealtimeItemStatus | Der Status des Elements. |
RealtimeConversationFunctionCallItem
Funktionsaufruf-Anfrage-Item.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Gegenstands. |
| type | Schnur | Muss "function_call" sein |
| Objekt | Schnur | Muss "conversation.item" sein |
| Name | Schnur | Der Name der funktion, die aufgerufen werden soll. |
| Argumente | Schnur | Die Argumente für die Funktion rufen als JSON-String auf. |
| call_id | Schnur | Die eindeutige ID des Funktionsaufrufs. |
| status | RealtimeItemStatus | Der Status des Elements. |
RealtimeConversationFunctionCallOutputItem
Funktionsaufruf-Antwort-Item.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Gegenstands. |
| type | Schnur | Muss "function_call_output" sein |
| Objekt | Schnur | Muss "conversation.item" sein |
| Name | Schnur | Der Name der Veranstaltung, die genannt wurde. |
| Ausgabe | Schnur | Die Ausgabe des Funktionsaufrufs. |
| call_id | Schnur | Die eindeutige ID des Funktionsaufrufs. |
| status | RealtimeItemStatus | Der Status des Elements. |
RealtimeConversationMCPListToolsItem
Antwortpunkt für MCP-Listenwerkzeuge.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Gegenstands. |
| type | Schnur | Muss "mcp_list_tools" sein |
| Serverbeschriftung | Schnur | Die Bezeichnung des MCP-Servers. |
RealtimeConversationMCPCallItem
MCP-Anrufantwort-Item.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Gegenstands. |
| type | Schnur | Muss "mcp_call" sein |
| Serverbeschriftung | Schnur | Die Bezeichnung des MCP-Servers. |
| Name | Schnur | Der Name des Werkzeugs, das man anrufen sollte. |
| approval_request_id | Schnur | Die Genehmigungsantrags-ID für den MCP-Anruf. |
| Argumente | Schnur | Die Argumente für den MCP-Aufruf. |
| Ausgabe | Schnur | Die Ausgabe des MCP-Anrufs. |
| Fehler | Objekt | Der Fehler zeigt an, ob der MCP-Anruf fehlgeschlagen ist. |
RealtimeConversationMCPApprovalRequestItem
Antrag auf MCP-Genehmigung.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Gegenstands. |
| type | Schnur | Muss "mcp_approval_request" sein |
| Serverbeschriftung | Schnur | Die Bezeichnung des MCP-Servers. |
| Name | Schnur | Der Name des Werkzeugs, das man anrufen sollte. |
| Argumente | Schnur | Die Argumente für den MCP-Aufruf. |
RealtimeConversationFoundryAgentCallItem
Gießerei-Agenten-Anruf-Antwort-Artikel.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Gegenstands. |
| type | Schnur | Muss "foundry_agent_call" sein |
| Name | Schnur | Der Name des Gießerei-Agenten. |
| call_id | Schnur | Die ID des Anrufs. |
| Argumente | Schnur | Die Argumente für den Gießerei-Agenten rufen. |
| agent_response_id | Schnur | Optional. Die Antwort-ID vom Gießerei-Agenten. |
| Ausgabe | Schnur | Optional. Die Ausgabe des Foundry-Agenten-Anrufs. |
| Fehler | Objekt | Optional. Der Fehler zeigt an, ob der Anruf des Foundry-Agenten fehlgeschlagen ist. |
RealtimeConversationWebSearchCallItem
Antwortelement für Websuchanrufe.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Aufrufs des Websuchtools. |
| type | Schnur | Muss "web_search_call" sein |
| status | Schnur | Der Status des Aufrufs des Websuchtools. Einer von in_progress, searching, completed, failed. |
RealtimeConversationFileSearchCallItem
Antwortelement für Dateisucheanrufe.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Die eindeutige ID des Aufrufs des Dateisuchtools. |
| type | Schnur | Muss "file_search_call" sein |
| Abfragen | string[] | Optional. Die für die Dateisuche verwendeten Abfragen. |
| status | Schnur | Der Status des Aufrufs des Dateisuchwerkzeugs. Einer von in_progress, searching, completed, incomplete, . failed |
| results | Array von FileSearchResult | Optional. Die Ergebnisse der Dateisuche. |
FileSearchResult
Ein einzelner Datei-Suchergebniseintrag.
| Feld | Typ | Beschreibung |
|---|---|---|
| Datei-ID | Schnur | Optional. Die eindeutige ID der Datei. |
| filename | Schnur | Optional. Der Name der Datei. |
| Punktzahl | Zahl | Optional. Der Relevanzwert des Dateisuchergebnisses. |
| Text | Schnur | Optional. Der Textinhalt der Datei, der mit der Anfrage übereinstimmte. |
| attributes | Karte | Optional. Schlüssel-Wert-Paare zum Filtern von Dateisuchergebnissen. |
ActionSearch
Eine Websuchaktion, die als Teil eines Websuchaufrufs aufgezeichnet wird.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "search" sein. |
| Abfrage | Schnur | Optional. Die Suchabfrage. |
| Quellen | Array von ActionSearchSource | Optional. Die in der Suche verwendeten Quellen. |
ActionSearchSource
Eine Quell-URL, auf die von einer Websuchaktion verwiesen wird.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "url" sein. |
| url | Schnur | Die URL der Quelle. |
ActionOpenPage
Eine vom Modell während einer Websuche ausgeführte Open-Page-Aktion.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "open_page" sein. |
| url | Schnur | Die URL, die vom Modell geöffnet wurde. |
ActionFind
Eine vom Modell während einer Websuche ausgeführte Auffind-in-Page-Aktion.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "find" sein. |
| pattern | Schnur | Das Muster oder der Text, nach dem innerhalb der Seite gesucht werden soll. |
| url | Schnur | Die URL der Seite, die nach dem Muster gesucht wurde. |
TranskriptionPhrase
Ein transkribierter Ausdruck mit Zeitangaben, der in conversation.item.input_audio_transcription.completed.
| Feld | Typ | Beschreibung |
|---|---|---|
| offset_milliseconds | integer | Versetzt vom Beginn des Audios in Millisekunden. |
| duration_milliseconds | integer | Dauer der Phrase in Millisekunden. |
| Text | Schnur | Der transkribierte Text des Ausdrucks. |
| words | Array von TranscriptionWord | Optional. Die einzelnen Wörter in der Phrase mit Zeitangaben. |
| locale | Schnur | Optional. Das Gebietsschema der Transkription (z. B en-US. ). |
| confidence | Zahl | Optional. Der Vertrauenswert der Transkription. |
TranscriptionWord
Ein zeitstempeltes Wort in einer Transkription.
| Feld | Typ | Beschreibung |
|---|---|---|
| Text | Schnur | Der transkribierte Worttext. |
| offset_milliseconds | integer | Versetzt vom Beginn des Audios in Millisekunden. |
| duration_milliseconds | integer | Dauer des Wortes in Millisekunden. |
LogProbProperties
Protokollwahrscheinlichkeitsinformationen für ein Transkriptionstoken.
| Feld | Typ | Beschreibung |
|---|---|---|
| Token | Schnur | Der Tokentext. |
| logprob | Zahl | Die Natural-Log-Wahrscheinlichkeit des Tokens. |
| Byte | Ganzzahl[] | Optional. Die UTF-8-Bytedarstellung des Tokens. |
EchtzeitArtikelstatus
Status der Gesprächsthemen.
Zulässige Werte:
-
in_progress- Derzeit in der Bearbeitung -
completed- Erfolgreich abgeschlossen -
incomplete- Unvollständig (unterbrochen oder fehlgeschlagen)
EchtzeitInhaltsTeil
Inhaltsteil in einer Nachricht.
RealtimeInputTextContentPart
Textteil.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "input_text" sein |
| Text | Schnur | Der Textinhalt |
RealtimeOutputTextContentPart
Textteil.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "text" sein |
| Text | Schnur | Der Textinhalt |
RealtimeInputAudioContentPart
Audio-Content-Teil.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "input_audio" sein |
| Audio | Schnur | Optional. Base64-kodierte Audiodaten |
| Abschrift | Schnur | Optional. Audiotranskript |
RealtimeOutputAudioContentPart
Audio-Content-Teil.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Muss "audio" sein |
| Audio | Schnur | Base64-kodierte Audiodaten |
| Abschrift | Schnur | Optional. Audiotranskript |
Antwortobjekte
RealtimeResponse
Antwortobjekt, das eine Modellinferenzantwort darstellt.
| Feld | Typ | Beschreibung |
|---|---|---|
| id | Schnur | Optional. Antwort-ID |
| Objekt | Schnur | Optional. Immer "realtime.response" |
| status | RealtimeResponseStatus | Optional. Antwortstatus |
| status_details | RealtimeResponseStatusDetails | Optional. Details zum Status |
| Ausgabe | RealtimeConversationResponseItem[] | Optional. Ausgabeelemente |
| usage | RealtimeUsage | Optional. Statistiken zur Nutzung von Token |
| conversation_id | Schnur | Optional. Zugehörige Konversations-ID |
| Stimme | RealtimeVoice | Optional. Für die Antwort verwendete Stimme |
| modalities | string[] | Optional. Verwendete Ausgabemodalitäten |
| output_audio_format | RealtimeOutputAudioFormat | Optional. Verwendetes Audioformat |
| Temperatur | Zahl | Optional. Verwendete Temperatur |
| max_response_output_tokens | Ganzzahl oder "Inf" | Optional. Maximal verwendete Token |
Echtzeit-Antwortstatus
Reaktionsstatuswerte.
Zulässige Werte:
-
in_progress- Es wird eine Antwort generiert -
completed- Antwort erfolgreich abgeschlossen -
cancelled- Die Antwort wurde abgesagt -
incomplete- Antwort unvollständig (unterbrochen) -
failed- Antwort fehlschlug mit Fehler auf
RealtimeUsage
Statistiken zur Token-Verwendung.
| Feld | Typ | Beschreibung |
|---|---|---|
| Gesamtanzahl Tokens | integer | Gesamtzahl der verwendeten Token |
| input_tokens | integer | Verwendete Eingabetoken |
| output_tokens | integer | Erzeugte Ausgabetoken |
| Eingabetoken-Details | TokenDetails | Aufschlüsselung der Eingabetoken |
| output_token_details | TokenDetails | Aufschlüsselung der Ausgabetoken |
TokenDetails
Detaillierte Aufschlüsselung der Token-Verwendung.
| Feld | Typ | Beschreibung |
|---|---|---|
| cached_tokens | integer | Optional. Verwendete Cache-Token |
| text_tokens | integer | Optional. Verwendete Texttoken |
| audio_tokens | integer | Optional. Verwendete Audio-Tokens |
| Begründungs_Token | integer | Optional. In der Ausgabe generierte Begründungstoken. Gilt nur für Ausgabetokendetails. |
Fehlerbehandlung
RealtimeErrorDetails
Fehlerinformationsobjekt.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Fehlertyp (z. B. "invalid_request_error", , "server_error") |
| Programmcode | Schnur | Optional. Spezifischer Fehlercode |
| message | Schnur | Für Menschen lesbare Fehlerbeschreibung |
| param | Schnur | Optional. Parameter im Zusammenhang mit dem Fehler |
| event_id | Schnur | Optional. ID des Client-Ereignisses, das den Fehler verursacht hat |
Echtzeitgesprächsanfrageelement
Du verwendest das Objekt, RealtimeConversationRequestItem um über das Ereignis conversation.item.create ein neues Element in der Diskussion zu erstellen.
Dies ist ein Union-Typ, der einer der folgenden sein kann:
RealtimeSystemMessageItem
Ein Systemnachrichtenelement.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Elements. Zulässige Werte: message |
| Rolle | Schnur | Die Rolle der Botschaft. Zulässige Werte: system |
| Inhalt | Array von RealtimeInputTextContentPart | Der Inhalt der Nachricht. |
| id | Schnur | Die eindeutige ID des Gegenstands. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, erzeugt der Server eine. |
RealtimeUserMessageItem
Ein Benutzernachrichtenelement.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Elements. Zulässige Werte: message |
| Rolle | Schnur | Die Rolle der Botschaft. Zulässige Werte: user |
| Inhalt | Array von RealtimeInputTextContentPart oder RealtimeInputAudioContentPart | Der Inhalt der Nachricht. |
| id | Schnur | Die eindeutige ID des Gegenstands. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, erzeugt der Server eine. |
RealtimeAssistantMessageItem
Ein Assistenten-Nachrichteneintrag.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Elements. Zulässige Werte: message |
| Rolle | Schnur | Die Rolle der Botschaft. Zulässige Werte: assistant |
| Inhalt | Array von RealtimeOutputTextContentPart | Der Inhalt der Nachricht. |
RealtimeFunctionCallItem
Ein Funktionsaufruf-Item.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Elements. Zulässige Werte: function_call |
| Name | Schnur | Der Name der funktion, die aufgerufen werden soll. |
| Argumente | Schnur | Die Argumente der Funktion rufen als JSON-String auf. |
| call_id | Schnur | Die ID des Funktionsaufruf-Elements. |
| id | Schnur | Die eindeutige ID des Gegenstands. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, erzeugt der Server eine. |
RealtimeFunctionCallOutputItem
Ein Funktionsaufruf für das Ausgabeobjekt.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Elements. Zulässige Werte: function_call_output |
| call_id | Schnur | Die ID des Funktionsaufruf-Elements. |
| Ausgabe | Schnur | Die Ausgabe des Funktionsaufrufs, dies ist ein freier String mit dem Funktionsergebnis, könnte ebenfalls leer sein. |
| id | Schnur | Die eindeutige ID des Gegenstands. Wenn der Client keine ID bereitstellt, erzeugt der Server eine. |
RealtimeMCPApprovalResponseItem
Eine MCP-Genehmigungsantwort.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Elements. Zulässige Werte: mcp_approval_response |
| Genehmigen | boolean | Ob der MCP-Antrag genehmigt wird. |
| approval_request_id | Schnur | Der Ausweis des MCP-Genehmigungsantrags. |
| id | Schnur | Die eindeutige ID des Gegenstands. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, erzeugt der Server eine. |
RealtimeFunctionTool
Die Definition eines Funktionswerkzeugs, wie es vom Echtzeit-Endpunkt verwendet wird.
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Tools. Zulässige Werte: function |
| Name | Schnur | Der Name der Funktion. |
| description | Schnur | Die Beschreibung der Funktion, einschließlich Nutzungsrichtlinien. Zum Beispiel: "Verwenden Sie diese Funktion, um die aktuelle Zeit zu erhalten." |
| parameters | Objekt | Die Parameter der Funktion in Form eines JSON-Objekts. |
EchtzeitArtikelstatus
Zulässige Werte:
in_progresscompletedincomplete
EchtzeitAntwortTonInhaltsteil
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Inhaltsteils. Zulässige Werte: audio |
| Abschrift | Schnur | Das Transkript der Audioaufnahme. Diese Eigenschaft ist null. |
EchtzeitAntwortFunktionsaufrufElement
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Elements. Zulässige Werte: function_call |
| Name | Schnur | Der Name des Funktionsaufrufelements. |
| call_id | Schnur | Die ID des Funktionsaufruf-Elements. |
| Argumente | Schnur | Die Argumente der Funktion rufen das Element auf. |
| status | RealtimeItemStatus | Der Status des Elements. |
Echtzeitreaktionsfunktionsaufruf-Ausgabeelement
| Feld | Typ | Beschreibung |
|---|---|---|
| type | Schnur | Der Typ des Elements. Zulässige Werte: function_call_output |
| call_id | Schnur | Die ID des Funktionsaufruf-Elements. |
| Ausgabe | Schnur | Die Ausgabe des Funktionsaufruf-Elements. |
Echtzeit-Reaktionsoptionen
| Feld | Typ | Beschreibung |
|---|---|---|
| modalities | array | Die Ausgabemodalitäten für die Antwort. Zulässige Werte: text, audio.Zum Beispiel ist die Standardeinstellung, "modalities": ["text", "audio"] die sowohl Text- als auch Audioausgabemodalitäten ermöglicht. Um nur die Textausgabe zu aktivieren, setze "modalities": ["text"]. Du kannst nicht nur Audio aktivieren. |
| instructions | Schnur | Die Anweisungen (die Systemnachricht) sollen die Antworten des Modells steuern. |
| Stimme | RealtimeVoice | Die Stimme, die für die Modellantwort der Sitzung verwendet wird. Sobald die Stimme in der Sitzung für die Audioantwort des Modells verwendet wird, kann sie nicht mehr verändert werden. |
| tools | Array von RealtimeTool | Die Werkzeuge, die dem Modell für die Sitzung zur Verfügung stehen. |
| tool_choice | RealtimeToolChoice | Die Werkzeugwahl für die Sitzung. |
| Temperatur | Zahl | Die Stichprobentemperatur für das Modell. Die erlaubten Temperaturwerte sind auf [0,6, 1,2] begrenzt. Der Standardwert ist 0,8. |
| max_response_output_tokens | Ganzzahl oder "Inf" | Die maximale Anzahl der Ausgabetoken pro Assistentenantwort, einschließlich Werkzeugaufrufe. Geben Sie eine ganze Zahl zwischen 1 und 4096 an, um die Ausgabetoken zu begrenzen. Andernfalls wird der Wert auf "inf" gesetzt, um die maximale Anzahl an Token zu ermöglichen. Zum Beispiel, um die Ausgabetoken auf 1000 zu begrenzen, setzen "max_response_output_tokens": 1000wir . Um die maximale Anzahl an Token zu ermöglichen, setze "max_response_output_tokens": "inf".Wird standardmäßig auf "inf" festgelegt. |
| Zwischenantwort | InterimResponseConfig | Optional. Konfiguration für die Erzeugung von Zwischenantworten während Latenz oder Tool-Aufrufen. |
| Denkanstrengung | ReasoningEffort | Optional. Beschränkt den Aufwand für die Begründung von Begründungsmodellen. Überprüfen Sie die Modelldokumentation auf unterstützte Werte für jedes Modell. Das Reduzieren von Begründungen kann zu schnelleren Antworten und weniger Token führen, die bei der Begründung in einer Antwort verwendet werden. |
| Gespräch | Schnur | Kontrolliert, zu welchem Gespräch die Antwort hinzugefügt wird. Unterstützte Werte sind auto und none.Der Wert (oder das Nichtsetzen dieser Eigenschaft auto ) stellt sicher, dass der Inhalt der Antwort zur Standardkonversion der Sitzung hinzugefügt wird.Setze diese Eigenschaft auf so, none dass eine Out-of-Band-Antwort erzeugt wird, bei der keine Elemente zur Standardkonversation hinzugefügt werden. Standardeinstellungen zu "auto" |
| Metadaten | Karte | Setze von bis zu 16 Schlüssel-Wert-Paaren, die an ein Objekt angehängt werden können. Dies kann nützlich sein, um zusätzliche Informationen über das Objekt in einem strukturierten Format zu speichern. Tasten können maximal 64 Zeichen lang sein und Werte maximal 512 Zeichen. Beispiel: metadata: { topic: "classification" } |
| interim_response | InterimResponseConfig | Optional. Konfiguration für die Erzeugung von Zwischenantworten während Latenz oder Tool-Aufrufen. Überschreibt die Einstellung auf Sitzungsebene für diese Antwort. |
| pre_generated_assistant_message | RealtimeAssistantMessageItem | Optional. Eine vorgefertigte Assistentennachricht, die zur Erzeugung der Audioantwort verwendet wird, anstatt dass das Modell den Text generiert. Wenn bereitgestellt, erzeugt der Server eine Audioantwort für den vordefinierten Text und umgeht damit die Modellinferenz für die Textgenerierung. Die Nachricht wird in den Kontextverlauf des Gesprächs aufgenommen. Die Nachricht muss das role Set to "assistant" and Include content mit einem einzelnen Textteil haben. |
Echtzeit-Antwort-Session
Das Objekt RealtimeResponseSession stellt eine Sitzung in der Echtzeit-API dar. Es wird in einigen Server-Events verwendet, wie zum Beispiel:
| Feld | Typ | Beschreibung |
|---|---|---|
| Objekt | Schnur | Das Session-Objekt. Zulässige Werte: realtime.session |
| id | Schnur | Die eindeutige ID der Sitzung. |
| model | Schnur | Das Modell, das für die Sitzung verwendet wurde. |
| modalities | array | Die Ausgabemodalitäten für die Sitzung. Zulässige Werte: text, audio.Zum Beispiel ist die Standardeinstellung, "modalities": ["text", "audio"] die sowohl Text- als auch Audioausgabemodalitäten ermöglicht. Um nur die Textausgabe zu aktivieren, setze "modalities": ["text"]. Du kannst nicht nur Audio aktivieren. |
| instructions | Schnur | Die Anweisungen (die Systemnachricht) sollen die Text- und Audioantworten des Modells steuern. Hier sind einige Beispielanweisungen, die den Inhalt und das Format von Text- und Audioantworten steuern können: "instructions": "be succinct""instructions": "act friendly""instructions": "here are examples of good responses"Hier sind einige Beispielanweisungen, um das Audioverhalten zu steuern: "instructions": "talk quickly""instructions": "inject emotion into your voice""instructions": "laugh frequently"Auch wenn das Modell diese Anweisungen nicht immer befolgt, geben sie Hinweise auf das gewünschte Verhalten. |
| Stimme | RealtimeVoice | Die Stimme, die für die Modellantwort der Sitzung verwendet wird. Sobald die Stimme in der Sitzung für die Audioantwort des Modells verwendet wird, kann sie nicht mehr verändert werden. |
| input_audio_sampling_rate | integer | Die Abtastrate für das Eingangsaudio. |
| input_audio_format | RealtimeAudioFormat | Das Format für das Eingabeaudio. |
| output_audio_format | RealtimeAudioFormat | Das Format für das Ausgabe-Audio. |
| input_audio_transcription | Echtzeit-Audioeingabe-Transkriptionseinstellungen | Die Einstellungen für die Audio-Eingabe-Transkription. Diese Eigenschaft ist null. |
| turn_detection | RealtimeTurnDetection | Die Einstellungen für die Abzugserkennung für die Sitzung. Diese Eigenschaft ist null. |
| tools | Array von RealtimeTool | Die Werkzeuge, die dem Modell für die Sitzung zur Verfügung stehen. |
| tool_choice | RealtimeToolChoice | Die Werkzeugwahl für die Sitzung. |
| Temperatur | Zahl | Die Stichprobentemperatur für das Modell. Die erlaubten Temperaturwerte sind auf [0,6, 1,2] begrenzt. Der Standardwert ist 0,8. |
| max_response_output_tokens | Ganzzahl oder "Inf" | Die maximale Anzahl der Ausgabetoken pro Assistentenantwort, einschließlich Werkzeugaufrufe. Geben Sie eine ganze Zahl zwischen 1 und 4096 an, um die Ausgabetoken zu begrenzen. Andernfalls wird der Wert auf "inf" gesetzt, um die maximale Anzahl an Token zu ermöglichen. Zum Beispiel, um die Ausgabetoken auf 1000 zu begrenzen, setzen "max_response_output_tokens": 1000wir . Um die maximale Anzahl an Token zu ermöglichen, setze "max_response_output_tokens": "inf". |
| Zwischenantwort | InterimResponseConfig | Konfiguration für die Erzeugung von Zwischenantworten während Latenz oder Tool-Aufrufen. |
Echtzeit-Antwortstatusdetails
| Feld | Typ | Beschreibung |
|---|---|---|
| type | RealtimeResponseStatus | Der Status der Antwort. |
RealtimeRateLimitsItem
| Feld | Typ | Beschreibung |
|---|---|---|
| Name | Schnur | Der Name der Grundstücksbegrenzung, über den dieser Artikel Informationen enthält. |
| limit | integer | Das maximal konfigurierte Limit für diese Rate-Limit-Eigenschaft. |
| verbleibend | integer | Die verbleibende Quote steht im Rahmen des konfigurierten Limits für diese Tarifbegrenzung zur Verfügung. |
| Sekunden_zurücksetzen | Zahl | Die verbleibende Zeit, in Sekunden, bis diese Geschwindigkeitsbegrenzungseigenschaft zurückgesetzt wird. |
Verwandte Ressourcen
- Probieren Sie den Voice Live-Schnellstart aus
- Testen der Voice Live-Agents – Schnellstart
- Weitere Informationen zur Verwendung der Voice Live-API