Freigeben über


VoIP-Live-API-Referenz

Die VoIP-Live-API bietet echtzeitbasierte bidirektionale Kommunikation für sprachfähige Anwendungen mithilfe von WebSocket-Verbindungen. Diese API unterstützt erweiterte Features wie Spracherkennung, Text-zu-Sprache-Synthese, Avatarstreaming, Animationsdaten und umfassende Audioverarbeitungsfunktionen.

Die API verwendet JSON-formatierte Ereignisse, die über WebSocket-Verbindungen gesendet werden, um Unterhaltungen, Audiodatenströme, Avatarinteraktionen und Echtzeitantworten zu verwalten. Ereignisse werden in Clientereignisse (gesendet von Client an Server) und Serverereignisse (vom Server an den Client gesendet) kategorisiert.

Wichtige Merkmale

  • Echtzeit-Audioverarbeitung: Unterstützung für mehrere Audioformate, einschließlich PCM16 bei verschiedenen Sampleraten und G.711-Codecs
  • Erweiterte Sprachoptionen: OpenAI-Stimmen, benutzerdefinierte Azure-Stimmen, Azure-Standardstimme und Azure-persönliche Stimmen
  • Avatarintegration: WebRTC-basiertes Avatarstreaming mit Video, Animation und Blendshapes
  • Intelligente Turnerkennung: Mehrere VAD-Optionen, einschließlich azure-semantischer VAD und serverseitiger Erkennung
  • Audioverbesserung: Integrierte Rauschreduzierung und Echounterdrückung
  • Funktionsaufrufe: Toolintegration für erweiterte Unterhaltungsfunktionen
  • Flexible Sitzungsverwaltung: Konfigurierbare Modalitäten, Anweisungen und Antwortparameter

Clientereignisse

Die VoIP-Live-API unterstützt die folgenden Clientereignisse, die vom Client an den Server gesendet werden können:

Event Description
session.update Aktualisieren der Sitzungskonfiguration, einschließlich VoIP, Modalitäten, Aktivieren der Erkennung und anderer Einstellungen
session.avatar.connect Herstellen einer Avatarverbindung durch Bereitstellen von Client-SDP für WebRTC-Aushandlung
input_audio_buffer.append Anfügen von Audiobytes an den Eingabeaudiopuffer
input_audio_buffer.commit Commit des Eingabeaudiopuffers für die Verarbeitung
input_audio_buffer.clear Löschen des Eingabeaudiopuffers
conversation.item.create Hinzufügen eines neuen Elements zum Unterhaltungskontext
conversation.item.retrieve Abrufen eines bestimmten Elements aus der Unterhaltung
conversation.item.truncate Abschneiden einer Audionachricht eines Assistenten
conversation.item.delete Entfernen eines Elements aus der Unterhaltung
response.create Weisen Sie den Server an, eine Antwort über Modellferenz zu erstellen.
response.cancel Abbrechen einer laufenden Antwort
mcp_approval_response Senden einer Genehmigung oder Ablehnung für einen MCP-Toolaufruf, der eine Genehmigung erfordert

session.update

Aktualisieren Sie die Konfiguration der Sitzung. Dieses Ereignis kann jederzeit gesendet werden, um Einstellungen wie Sprache, Modalitäten, Erkennung, Tools und andere Sitzungsparameter zu ändern. Beachten Sie, dass eine Sitzung nach dem Initialisieren einer Sitzung mit einem bestimmten Modell 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": 300,
      "silence_duration_ms": 500
    },
    "temperature": 0.8,
    "max_response_output_tokens": "inf"
  }
}

Eigenschaften

Feld Typ Description
type Schnur Muss "session.update" sein.
Sitzung RealtimeRequestSession Sitzungskonfigurationsobjekt mit zu aktualisierenden Feldern

Beispiel mit benutzerdefinierter Azure 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

Richten Sie eine Avatarverbindung ein, indem Sie das SDP-Angebot (Session Description Protocol) des Clients für die WebRTC-Medienverhandlung bereitstellen. Dieses Ereignis ist erforderlich, wenn Avatarfeatures verwendet werden.

Ereignisstruktur

{
  "type": "session.avatar.connect",
  "client_sdp": "<client_sdp>"
}

Eigenschaften

Feld Typ Description
type Schnur Muss "session.avatar.connect" sein.
client_sdp Schnur Das SDP-Angebot des Clients für die WebRTC-Verbindungseinrichtung

input_audio_buffer.append

Fügen Sie Audiobytes an den Eingabeaudiopuffer an.

Ereignisstruktur

{
  "type": "input_audio_buffer.append",
  "audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA="
}

Eigenschaften

Feld Typ Description
type Schnur Muss "input_audio_buffer.append" sein.
audio Schnur Base64-codierte Audiodaten

input_audio_buffer.commit

Übernehmen Sie den Eingabeaudiopuffer für die Verarbeitung.

Ereignisstruktur

{
  "type": "input_audio_buffer.commit"
}

Eigenschaften

Feld Typ Description
type Schnur Muss "input_audio_buffer.commit" sein.

input_audio_buffer.clear

Löschen Sie den Eingabeaudiopuffer.

Ereignisstruktur

{
  "type": "input_audio_buffer.clear"
}

Eigenschaften

Feld Typ Description
type Schnur Muss "input_audio_buffer.clear" sein.

conversation.item.create

Fügen Sie dem Unterhaltungskontext ein neues Element hinzu. Dazu können Nachrichten, Funktionsaufrufe und Funktionsaufrufantworten gehören. Elemente können an bestimmten Positionen im Unterhaltungsverlauf 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 Description
type Schnur Muss "conversation.item.create" sein.
previous_item_id Schnur Wahlfrei. ID des Elements, nach dem dieses Element eingefügt werden soll. Falls nicht angegeben, wird an das Ende angefügt.
item RealtimeConversationRequestItem Das Element, das der Unterhaltung hinzugefügt werden soll

Beispiel für Audioinhalte

{
  "type": "conversation.item.create",
  "item": {
    "type": "message",
    "role": "user",
    "content": [
      {
        "type": "input_audio",
        "audio": "UklGRiQAAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQAAAAA=",
        "transcript": "Hello there"
      }
    ]
  }
}

Beispiel mit Funktionsaufruf

{
  "type": "conversation.item.create",
  "item": {
    "type": "function_call",
    "name": "get_weather",
    "call_id": "call_123",
    "arguments": "{\"location\": \"San Francisco\", \"unit\": \"celsius\"}"
  }
}

Beispiel für MCP-Aufruf

{
  "type": "conversation.item.create",
  "item": {
    "type": "mcp_call",
    "approval_request_id": null,
    "arguments": "",
    "server_label": "deepwiki",
    "name": "ask_question",
    "output": null,
    "error": null
  }
}

conversation.item.retrieve

Dient zum Abrufen eines bestimmten Elements aus dem Unterhaltungsverlauf. Dies ist nützlich, um verarbeitete Audiodaten nach der Rauschunterdrückung und VAD zu prüfen.

Ereignisstruktur

{
  "type": "conversation.item.retrieve",
  "item_id": "item_ABC123"
}

Eigenschaften

Feld Typ Description
type Schnur Muss "conversation.item.retrieve" sein.
item_id Schnur Die ID des abzurufenden Elements

conversation.item.truncate

Kürzen Sie den Audioinhalt einer Assistentennachricht. Dies ist nützlich, um die Wiedergabe an einem bestimmten Punkt zu beenden und das Verständnis des Servers mit dem Clientstatus zu synchronisieren.

Ereignisstruktur

{
  "type": "conversation.item.truncate",
  "item_id": "item_ABC123",
  "content_index": 0,
  "audio_end_ms": 5000
}

Eigenschaften

Feld Typ Description
type Schnur Muss "conversation.item.truncate" sein.
item_id Schnur Die ID des Nachrichtenelements des Assistenten, das abgeschnitten werden soll
content_index Integer Der Index des Zuschneidens des Inhaltsteils
audio_end_ms Integer Die Dauer, bis zu der die Audiodaten abgeschnitten werden sollen, in Millisekunden

conversation.item.delete

Entfernen Sie ein Element aus dem Unterhaltungsverlauf.

Ereignisstruktur

{
  "type": "conversation.item.delete",
  "item_id": "item_ABC123"
}

Eigenschaften

Feld Typ Description
type Schnur Muss "conversation.item.delete" sein.
item_id Schnur Die ID des zu löschenden Elements

response.create

Weisen Sie den Server an, eine Antwort über Modellleitungen zu erstellen. Dieses Ereignis kann antwortspezifische Konfiguration angeben, die die Sitzungsstandardwerte ü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 Description
type Schnur Muss "response.create" sein.
response RealtimeResponseOptions Optionale Antwortkonfiguration, die Die Sitzungsstandardwerte außer Kraft setzt

Beispiel mit Toolauswahl

{
  "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"
    }
  }
}

response.cancel

Abbrechen einer laufenden Antwort. Dadurch wird die Antwortgenerierung und die zugehörige Audioausgabe sofort beendet.

Ereignisstruktur

{
  "type": "response.cancel"
}

Eigenschaften

Feld Typ Description
type Schnur Muss "response.cancel" sein.

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein conversation.item.retrieve.
item_id Schnur Die ID des abzurufenden Elements.
event_id Schnur Die ID des Ereignisses.

RealtimeClientEventConversationItemTruncate

Das Clientereignis conversation.item.truncate wird verwendet, um die Audiodaten einer vorherigen Assistentennachricht abgeschnitten zu haben. Der Server erzeugt Audio schneller als Echtzeit, daher ist dieses Ereignis nützlich, wenn der Benutzer unterbricht, um Audio abgeschnitten zu werden, das an den Client gesendet wurde, aber noch nicht wiedergegeben wurde. Das Verständnis des Audiosignals mit der Wiedergabe des Clients auf dem Server wird synchronisiert.

Durch das Abschneiden von Audiodaten wird die serverseitige Texttranskription gelöscht, um sicherzustellen, dass kein Text im Kontext vorhanden ist, den der Benutzer nicht kennt.

Wenn das Clientereignis erfolgreich ist, antwortet der Server mit einem conversation.item.truncated Ereignis.

Ereignisstruktur

{
  "type": "conversation.item.truncate",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein conversation.item.truncate.
item_id Schnur Die ID des Nachrichtenelements des Assistenten, das abgeschnitten werden soll. Nur Nachrichtenelemente des Assistenten können abgeschnitten werden.
content_index Integer Der Index des inhaltsteils, der abgeschnitten werden soll. Legen Sie diese Eigenschaft auf "0" fest.
audio_end_ms Integer Inklusive Dauer bis zum Abschneiden von Audiodaten in Millisekunden. Wenn die audio_end_ms größer als die tatsächliche Audiodauer ist, antwortet der Server mit einem Fehler.

RealtimeClientEventInputAudioBufferAppend

Das Clientereignis input_audio_buffer.append wird verwendet, um Audiobytes an den Eingabeaudiopuffer anzufügen. Der Audiopuffer ist temporärer Speicher, in den Sie schreiben und später commiten können.

Im Server VAD-Modus (VoIP-Aktivitätserkennung) wird der Audiopuffer verwendet, um Die Sprache zu erkennen, und der Server entscheidet, wann ein Commit ausgeführt werden soll. Wenn die Server-VAD deaktiviert ist, kann der Client auswählen, wie viel Audio in jedem Ereignis bis zu maximal 15 MiB platziert werden soll. Beispielsweise kann das Streaming kleinerer Blöcke vom Client zulassen, dass die VAD reaktionsfähiger ist.

Im Gegensatz zu den meisten anderen Clientereignissen sendet der Server keine Bestätigungsantwort an das Clientereignis input_audio_buffer.append .

Ereignisstruktur

{
  "type": "input_audio_buffer.append",
  "audio": "<audio>"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein input_audio_buffer.append.
audio Schnur Base64-codierte Audiobytes. Dieser Wert muss sich im Format befinden, das durch das input_audio_format Feld in der Sitzungskonfiguration angegeben wird.

RealtimeClientEventInputAudioBufferClear

Das Clientereignis 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 Description
type Schnur Der Ereignistyp muss sein input_audio_buffer.clear.

RealtimeClientEventInputAudioBufferCommit

Das Clientereignis input_audio_buffer.commit wird verwendet, um den Benutzereingabeaudiopuffer zu übernehmen, wodurch ein neues Benutzernachrichtenelement in der Unterhaltung erstellt wird. Audio wird transkribiert, wenn input_audio_transcription sie für die Sitzung konfiguriert ist.

Wenn sich der Client im Server-VAD-Modus befindet, muss dieses Ereignis nicht gesendet werden, wird der Server automatisch für den Audiopuffer commits ausgeführt. Ohne Server-VAD muss der Client den Audiopuffer übernehmen, um ein Benutzernachrichtenelement zu erstellen. Dieses Clientereignis erzeugt einen Fehler, wenn der Eingabeaudiopuffer leer ist.

Beim Commit des Eingabeaudiopuffers wird keine Antwort aus dem Modell erstellt.

Der Server antwortet mit einem input_audio_buffer.committed Ereignis.

Ereignisstruktur

{
  "type": "input_audio_buffer.commit"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein input_audio_buffer.commit.

RealtimeClientEventResponseCancel

Das Clientereignis response.cancel wird verwendet, um eine laufende Antwort abzubrechen.

Der Server antwortet mit einem response.done Ereignis mit einem Status von response.status=cancelled.

Ereignisstruktur

{
  "type": "response.cancel"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein response.cancel.

RealtimeClientEventResponseCreate

Das Clientereignis response.create wird verwendet, um den Server anzuweisen, eine Antwort über modellseitige Ableitungen zu erstellen. Wenn die Sitzung im VaD-Modus des Servers konfiguriert ist, erstellt der Server automatisch Antworten.

Eine Antwort enthält mindestens einen item, und kann zwei haben, in diesem Fall ist die zweite ein Funktionsaufruf. Diese Elemente werden an den Unterhaltungsverlauf angefügt.

Der Server antwortet mit einem response.created Ereignis, einem oder mehreren Element- und Inhaltsereignissen (z conversation.item.created . B. und response.content_part.added), und schließlich ein response.done Ereignis, um anzugeben, dass die Antwort abgeschlossen ist.

Ereignisstruktur

{
  "type": "response.create"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein response.create.
response RealtimeResponseOptions Die Antwortoptionen.

RealtimeClientEventSessionUpdate

Das Clientereignis session.update wird verwendet, um die Standardkonfiguration der Sitzung zu aktualisieren. Der Client kann dieses Ereignis jederzeit senden, um die Sitzungskonfiguration zu aktualisieren, und jedes Feld kann jederzeit aktualisiert werden, mit Ausnahme von VoIP.

Es werden nur felder aktualisiert, die vorhanden sind. Um ein Feld (z instructions. B. ) zu löschen, übergeben Sie eine leere Zeichenfolge.

Der Server antwortet mit einem session.updated Ereignis, das die vollständige effektive Konfiguration enthält.

Ereignisstruktur

{
  "type": "session.update"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein session.update.
Sitzung RealtimeRequestSession Die Sitzungskonfiguration.

Serverereignisse

Die VoIP-Live-API sendet die folgenden Serverereignisse, um Status, Antworten und Daten an den Client zu kommunizieren:

Event Description
Fehler Gibt an, dass während der Verarbeitung ein Fehler aufgetreten ist.
session.created Gesendet, wenn eine neue Sitzung erfolgreich eingerichtet wurde
session.updated Gesendet, wenn die Sitzungskonfiguration aktualisiert wird
session.avatar.connecting Gibt an, dass die WebRTC-Verbindung des Avatars eingerichtet wird.
conversation.item.created Gesendet, wenn der Unterhaltung ein neues Element hinzugefügt wird
conversation.item.retrieved Antwort auf die Anforderung "conversation.item.retrieve"
conversation.item.truncated Bestätigt das Abschneiden des Elements.
conversation.item.deleted Bestätigt das Löschen von Elementen.
conversation.item.input_audio_transcription.completed Die Audiotranskription für die Eingabe ist abgeschlossen.
conversation.item.input_audio_transcription.delta Audiotranskription für Streamingeingaben
conversation.item.input_audio_transcription.failed Fehler bei der Audiotranskription für die Eingabe
input_audio_buffer.commit Der Eingabeaudiopuffer wurde zur Verarbeitung zugesichert.
input_audio_buffer.cleared Der Eingabeaudiopuffer wurde gelöscht.
input_audio_buffer.speech_started Spracherkennung im Eingabeaudiopuffer (VAD)
input_audio_buffer.speech_stopped Die Sprachausgabe wurde im Eingabeaudiopuffer (VAD) beendet.
response.created Neue Reaktionsgenerierung wurde gestartet
response.done Die Antwortgenerierung ist abgeschlossen.
response.output_item.added Neues Ausgabeelement zur Antwort hinzugefügt
response.output_item.done Ausgabeelement ist abgeschlossen
response.content_part.added Dem Ausgabeelement hinzugefügter neuer Inhaltsteil
response.content_part.done Inhaltsteil ist abgeschlossen
response.text.delta Streamen von Textinhalten aus dem Modell
response.text.done Der Textinhalt ist abgeschlossen.
response.audio_transcript.delta Streamen von Audiotranskript
response.audio_transcript.done Audiotranskript ist abgeschlossen
response.audio.delta Streamen von Audioinhalten aus dem Modell
response.audio.done Audioinhalte sind abgeschlossen
response.animation_blendshapes.delta Daten zum Streamen von Animationen blendshapes
response.animation_blendshapes.done Animations-Blendshapes-Daten sind abgeschlossen
response.audio_timestamp.delta Streamen von Audiozeitstempelinformationen
response.audio_timestamp.done Audiozeitstempelinformationen sind abgeschlossen
response.animation_viseme.delta Streaminganimation viseme-Daten
response.animation_viseme.done Animations viseme-Daten sind abgeschlossen
response.function_call_arguments.delta Aufrufargumente der Streamingfunktion
response.function_call_arguments.done Funktionsaufrufargumente sind abgeschlossen
mcp_list_tools.in_progress DIE MCP-Toolauflistung wird ausgeführt
mcp_list_tools.completed MCP-Toolauflistung ist abgeschlossen
mcp_list_tools.failed Fehler bei der MCP-Toolauflistung
response.mcp_call_arguments.delta Streaming von MCP-Aufrufargumenten
response.mcp_call_arguments.done MCP-Aufrufargumente sind abgeschlossen
response.mcp_call.in_progress MCP-Aufruf wird ausgeführt
response.mcp_call.completed MCP-Aufruf ist abgeschlossen
response.mcp_call.failed MCP-Aufruf fehlgeschlagen

session.created

Gesendet, wenn eine neue Sitzung erfolgreich eingerichtet wurde. Dies ist das erste Ereignis, das nach dem Herstellen einer Verbindung mit der 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": 300,
      "silence_duration_ms": 500
    },
    "temperature": 0.8,
    "max_response_output_tokens": "inf"
  }
}

Eigenschaften

Feld Typ Description
type Schnur Muss "session.created" sein.
Sitzung RealtimeResponseSession Das erstellte Sitzungsobjekt

session.updated

Gesendet, wenn die Sitzungskonfiguration als Reaktion auf ein session.update Clientereignis erfolgreich aktualisiert wird.

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 Description
type Schnur Muss "session.updated" sein.
Sitzung RealtimeResponseSession Das aktualisierte Sitzungsobjekt

session.avatar.connecting

Gibt an, dass eine Avatar-WebRTC-Verbindung hergestellt wird. Dieses Ereignis wird als Reaktion auf ein session.avatar.connect Clientereignis gesendet.

Ereignisstruktur

{
  "type": "session.avatar.connecting",
  "server_sdp": "<server_sdp>"
}

Eigenschaften

Feld Typ Description
type Schnur Muss "session.avatar.connecting" sein.

conversation.item.created

Gesendet, wenn der Unterhaltung ein neues Element hinzugefügt wird, entweder über ein Clientereignis 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 Description
type Schnur Muss "conversation.item.created" sein.
previous_item_id Schnur ID des Elements, nach dem dieses Element eingefügt wurde
item RealtimeConversationResponseItem Das erstellte Unterhaltungselement

Beispiel mit Audioelement

{
  "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

Wird als Reaktion auf ein conversation.item.retrieve Clientereignis gesendet und stellt das angeforderte Unterhaltungselement bereit.

Eigenschaften

Feld Typ Description
type Schnur Muss "conversation.item.created" sein.
item RealtimeConversationResponseItem Das erstellte Unterhaltungselement

conversation.item.truncated

Das Serverereignis conversation.item.truncated wird zurückgegeben, wenn der Client ein früheres Audionachrichtenelement des Assistenten mit einem conversation.item.truncate Ereignis abschneidet. Dieses Ereignis wird verwendet, um das Verständnis des Servers mit der Wiedergabe des Clients zu synchronisieren.

Dieses Ereignis schneidet die Audiodaten ab und entfernt die serverseitige Texttranskription, um sicherzustellen, dass kein Text im Kontext vorhanden ist, den der Benutzer nicht kennt.

Ereignisstruktur

{
  "type": "conversation.item.truncated",
  "item_id": "<item_id>",
  "content_index": 0,
  "audio_end_ms": 0
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein conversation.item.truncated.
item_id Schnur Die ID des Nachrichtenelements des Assistenten, das abgeschnitten wurde.
content_index Integer Der Index des Inhaltsteils, der abgeschnitten wurde.
audio_end_ms Integer Die Dauer, bis zu der die Audiodaten abgeschnitten wurden, in Millisekunden.

conversation.item.deleted

Wird als Reaktion auf ein conversation.item.delete Clientereignis gesendet und bestätigt, dass das angegebene Element aus der Unterhaltung entfernt wurde.

Ereignisstruktur

{
  "type": "conversation.item.deleted",
  "item_id": "item_ABC123"
}

Eigenschaften

Feld Typ Description
type Schnur Muss "conversation.item.deleted" sein.
item_id Schnur ID des gelöschten Elements

response.created

Gesendet, wenn eine neue Antwortgenerierung beginnt. Dies ist das erste Ereignis in einer Antwortsequenz.

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 Description
type Schnur Muss "response.created" sein.
response RealtimeResponse Das Antwortobjekt, das erstellt wurde

response.done

Gesendet, wenn die Antwortgenerierung abgeschlossen ist. Dieses Ereignis enthält die endgültige Antwort mit allen Ausgabeelementen 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 Description
type Schnur Muss "response.done" sein.
response RealtimeResponse Das abgeschlossene Antwortobjekt

response.output_item.added

Wird gesendet, wenn der Antwort während der Generierung ein neues Ausgabeelement 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 Description
type Schnur Muss "response.output_item.added" sein.
response_id Schnur DIE ID der Antwort, zu der dieses Element gehört
output_index Integer Index des Elements im Ausgabearray der Antwort
item RealtimeConversationResponseItem Das Ausgabeelement, das hinzugefügt wurde

response.output_item.done

Gesendet, wenn ein Ausgabeelement 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 Description
type Schnur Muss "response.output_item.done" sein.
response_id Schnur DIE ID der Antwort, zu der dieses Element gehört
output_index Integer Index des Elements im Ausgabearray der Antwort
item RealtimeConversationResponseItem Das abgeschlossene Ausgabeelement

response.content_part.added

Das Serverereignis response.content_part.added wird zurückgegeben, wenn während der Antwortgenerierung ein neues Inhaltsteil einem Assistentennachrichtenelement 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 Description
type Schnur Muss "response.content_part.added" sein.
response_id Schnur ID der Antwort
item_id Schnur DIE ID des Elements, zu dem dieser Inhaltsteil gehört
output_index Integer Index des Elements in der Antwort
content_index Integer Index dieses Inhaltsteils im Element
part RealtimeContentPart Der hinzugefügte Inhaltsteil

response.content_part.done

Das Serverereignis response.content_part.done wird zurückgegeben, wenn das Streaming eines Inhaltsteils in einem Assistentennachrichtenelement abgeschlossen ist.

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 Description
type Schnur Muss "response.content_part.done" sein.
response_id Schnur ID der Antwort
item_id Schnur DIE ID des Elements, zu dem dieser Inhaltsteil gehört
output_index Integer Index des Elements in der Antwort
content_index Integer Index dieses Inhaltsteils im Element
part RealtimeContentPart Der fertige Inhaltsteil

response.text.delta

Streamen von Textinhalten aus dem Modell. Wird inkrementell gesendet, wenn das Modell Text generiert.

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 Description
type Schnur Muss "response.text.delta" sein.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils
delta Schnur Inkrementeller Textinhalt

response.text.done

Gesendet, wenn die Textinhaltsgenerierung 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 Description
type Schnur Muss "response.text.done" sein.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils
Text Schnur Der vollständige Textinhalt

response.audio.delta

Streamen von Audioinhalten aus dem Modell. Audio wird als base64-codierte 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 Description
type Schnur Muss "response.audio.delta" sein.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils
delta Schnur Base64-codierte Audiodatenabschnitt

response.audio.done

Gesendet, wenn die Generierung von Audioinhalten abgeschlossen ist.

Ereignisstruktur

{
  "type": "response.audio.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0
}

Eigenschaften

Feld Typ Description
type Schnur Muss "response.audio.done" sein.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils

response.audio_transcript.delta

Streamingtranskript 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 Description
type Schnur Muss "response.audio_transcript.delta" sein.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils
delta Schnur Inkrementeller Transkriptionstext

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 Description
type Schnur Muss "response.audio_transcript.done" sein.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils
transcript Schnur Der vollständige Transkripttext

conversation.item.input_audio_transcription.completed

Das Serverereignis conversation.item.input_audio_transcription.completed ist das Ergebnis der Audiotranskription für die in den Audiopuffer geschriebene Sprache.

Die Transkription beginnt, wenn der Eingabeaudiopuffer vom Client oder Server (im server_vad Modus) zugesichert wird. Die Transkription wird asynchron mit der Antworterstellung ausgeführt, sodass dieses Ereignis vor oder nach den Antwortereignissen erfolgen kann.

Realtime-API-Modelle akzeptieren audionativ und somit ist ein separater Prozess, der auf einem separaten Spracherkennungsmodell wie z whisper-1. B. ausgeführt wird. So kann die Transkription etwas von der Interpretation des Modells abweichen und sollte als grobe Anleitung behandelt werden.

Ereignisstruktur

{
  "type": "conversation.item.input_audio_transcription.completed",
  "item_id": "<item_id>",
  "content_index": 0,
  "transcript": "<transcript>"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein conversation.item.input_audio_transcription.completed.
item_id Schnur Die ID des Benutzernachrichtenelements, das die Audiodaten enthält.
content_index Integer Der Index des Inhaltsteils, der die Audiodaten enthält.
transcript Schnur Der transkribierte Text.

conversation.item.input_audio_transcription.delta

Das Serverereignis conversation.item.input_audio_transcription.delta wird zurückgegeben, wenn die Audiotranskription für die Eingabe konfiguriert ist und eine Transkriptionsanforderung für eine Benutzernachricht ausgeführt wird. Dieses Ereignis stellt teilweise Transkriptionsergebnisse bereit, 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 Description
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 die Audiodaten enthält.
delta Schnur Der inkrementelle Transkriptionstext.

conversation.item.input_audio_transcription.failed

Das Serverereignis conversation.item.input_audio_transcription.failed wird zurückgegeben, wenn die Audiotranskription für die Eingabe konfiguriert ist und eine Transkriptionsanforderung für eine Benutzernachricht fehlgeschlagen ist. Dieses Ereignis ist von anderen error Ereignissen getrennt, sodass der Client 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 Description
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 die Audiodaten enthält.
Fehler Objekt Details des Transkriptionsfehlers.

Siehe geschachtelte Eigenschaften in der nächsten Tabelle.

Fehlereigenschaften

Feld Typ Description
type Schnur Der Typ des Fehlers.
Code Schnur Falls vorhanden, fehlercode.
message Schnur Eine für Menschen lesbare Fehlermeldung.
param Schnur Parameter im Zusammenhang mit dem Fehler, falls vorhanden.

response.animation_blendshapes.delta

Das Serverereignis response.animation_blendshapes.delta wird zurückgegeben, wenn das Modell Animationsmischungsdaten als Teil einer Antwort generiert. Dieses Ereignis stellt daten inkrementelle Blendshapes bereit, sobald es verfügbar wird.

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 Description
type Schnur Der Ereignistyp muss sein response.animation_blendshapes.delta.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils
frame_index Integer Index des ersten Frames in diesem Batch von Frames
Rahmen Array eines Float-Arrays Array von Blendshape-Frames, jeder Frame ist ein Array von Blendshape-Werten.

response.animation_blendshapes.done

Das Serverereignis response.animation_blendshapes.done wird zurückgegeben, wenn das Modell das Generieren von Animationsmischungsdaten als Teil einer Antwort abgeschlossen hat.

Ereignisstruktur

{
  "type": "response.animation_blendshapes.done",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein response.animation_blendshapes.done.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort

response.audio_timestamp.delta

Das Serverereignis response.audio_timestamp.delta wird zurückgegeben, wenn das Modell Audiozeitstempeldaten als Teil einer Antwort generiert. Dieses Ereignis stellt inkrementelle Zeitstempeldaten für die Ausgabeaudio- und Textausrichtung bereit, sobald es verfügbar wird.

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 Description
type Schnur Der Ereignistyp muss sein response.audio_timestamp.delta.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils
audio_offset_ms Integer Audiooffset in Millisekunden vom Anfang des Audiosignals
audio_duration_ms Integer Dauer des Audiosegments in Millisekunden
Text Schnur Das Textsegment, das diesem Audiozeitstempel entspricht
timestamp_type Schnur Der Zeitstempeltyp, derzeit wird nur "Wort" unterstützt.

response.audio_timestamp.done

Gesendet, wenn die Audiozeitstempelgenerierung 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 Description
type Schnur Der Ereignistyp muss sein response.audio_timestamp.done.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements 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 Animationsdaten als Teil einer Antwort generiert. Dieses Ereignis stellt inkrementelle Viseme-Daten bereit, sobald es verfügbar wird.

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 Description
type Schnur Der Ereignistyp muss sein response.animation_viseme.delta.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils
audio_offset_ms Integer Audiooffset in Millisekunden vom Anfang des Audiosignals
viseme_id Integer Die Viseme-ID, die der Mundform für animation entspricht

response.animation_viseme.done

Das Serverereignis response.animation_viseme.done wird zurückgegeben, wenn das Modell das Generieren von Animationsdaten 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 Description
type Schnur Der Ereignistyp muss sein response.animation_viseme.done.
response_id Schnur ID der Antwort
item_id Schnur ID des Elements
output_index Integer Index des Elements in der Antwort
content_index Integer Index des Inhaltsteils

Das Serverereignis response.animation_viseme.delta wird zurückgegeben, wenn das Modell Animationsdaten als Teil einer Antwort generiert. Dieses Ereignis stellt inkrementelle Viseme-Daten bereit, sobald es verfügbar wird.

Fehler

Das Serverereignis error wird zurückgegeben, wenn ein Fehler auftritt, bei dem es sich um ein Clientproblem oder ein Serverproblem handeln kann. Die meisten Fehler können wiederhergestellt werden, und die Sitzung bleibt geöffnet.

Ereignisstruktur

{
  "type": "error",
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>",
    "event_id": "<event_id>"
  }
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein error.
Fehler Objekt Details des Fehlers.

Siehe geschachtelte Eigenschaften in der nächsten Tabelle.

Fehlereigenschaften

Feld Typ Description
type Schnur Der Typ des Fehlers. Beispielsweise sind "invalid_request_error" und "server_error" Fehlertypen.
Code Schnur Falls vorhanden, fehlercode.
message Schnur Eine für Menschen lesbare Fehlermeldung.
param Schnur Parameter im Zusammenhang mit dem Fehler, falls vorhanden.
event_id Schnur Die ID des Clientereignisses, das den Fehler verursacht hat, falls zutreffend.

input_audio_buffer.cleared

Das Serverereignis input_audio_buffer.cleared wird zurückgegeben, wenn der Client den Eingabeaudiopuffer mit einem input_audio_buffer.clear Ereignis löscht.

Ereignisstruktur

{
  "type": "input_audio_buffer.cleared"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein input_audio_buffer.cleared.

input_audio_buffer.commit

Das Serverereignis input_audio_buffer.committed wird zurückgegeben, wenn ein Eingabeaudiopuffer vom Client oder automatisch im Server-VAD-Modus zugesichert wird. Die item_id Eigenschaft ist die ID des erstellten Benutzernachrichtenelements. Daher wird auch ein conversation.item.created Ereignis an den Client gesendet.

Ereignisstruktur

{
  "type": "input_audio_buffer.committed",
  "previous_item_id": "<previous_item_id>",
  "item_id": "<item_id>"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein input_audio_buffer.committed.
previous_item_id Schnur Die ID des vorherigen Elements, nach dem das neue Element 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 die Spracherkennung im Audiopuffer erkannt wird. Dieses Ereignis kann jederzeit auftreten, wenn dem Puffer Audio hinzugefügt wird (es sei denn, die Spracherkennung wurde bereits erkannt).

Hinweis

Der Client möchte dieses Ereignis möglicherweise verwenden, um die Audiowiedergabe zu unterbrechen oder dem Benutzer visuelles Feedback zu geben.

Der Client sollte erwarten, dass ein input_audio_buffer.speech_stopped Ereignis empfangen wird, wenn die Spracherkennung beendet wird. Die item_id Eigenschaft ist die ID des Benutzernachrichtenelements, das beim Beenden der Sprachausgabe erstellt wurde. Dies item_id ist auch im input_audio_buffer.speech_stopped Ereignis enthalten, es sei denn, der Client verpflichtet 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 Description
type Schnur Der Ereignistyp muss sein input_audio_buffer.speech_started.
audio_start_ms Integer Millisekunden vom Anfang aller Audiodaten, die während der Sitzung in den Puffer geschrieben wurden, als die Spracherkennung zum ersten Mal erkannt wurde. Diese Eigenschaft entspricht dem Anfang der an das Modell gesendeten Audiodaten und enthält somit die prefix_padding_ms in der Sitzung konfigurierte.
item_id Schnur Die ID des Benutzernachrichtenelements, das beim Beenden der Spracherkennung erstellt wurde.

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 Spracherkennung im Audiopuffer erkennt.

Der Server sendet außerdem ein conversation.item.created Ereignis mit dem benutzernachrichtenelement, das aus dem Audiopuffer erstellt wurde.

Ereignisstruktur

{
  "type": "input_audio_buffer.speech_stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein input_audio_buffer.speech_stopped.
audio_end_ms Integer Millisekunden seit beginn der Sitzung, als die Sprachausgabe beendet wurde. Diese Eigenschaft entspricht dem Ende der an das Modell gesendeten Audiodaten und enthält somit die min_silence_duration_ms in der Sitzung konfigurierte.
item_id Schnur Die ID des erstellten Benutzernachrichtenelements.

rate_limits.updated

Das Serverereignis rate_limits.updated wird am Anfang einer Antwort ausgegeben, um die aktualisierten Ratengrenzwerte anzugeben.

Wenn eine Antwort erstellt wird, sind einige Token für die Ausgabetoken reserviert. Die hier gezeigten Zinslimits spiegeln die Reservierung wider, die dann nach Abschluss der Antwort entsprechend angepasst wird.

Ereignisstruktur

{
  "type": "rate_limits.updated",
  "rate_limits": [
    {
      "name": "<name>",
      "limit": 0,
      "remaining": 0,
      "reset_seconds": 0
    }
  ]
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein rate_limits.updated.
rate_limits Array von RealtimeRateLimitsItem Die Liste der Informationen zum Satzgrenzwert.

response.audio.delta

Das Serverereignis 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 Description
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 Inhaltsteils im Inhaltsarray des Elements.
delta Schnur Base64-codiertes Audiodatendelta.

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 Description
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 Inhaltsteils im Inhaltsarray des Elements.

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 Description
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 Inhaltsteils im Inhaltsarray des Elements.
delta Schnur Das Transkriptdelta.

response.audio_transcript.done

Das Serverereignis response.audio_transcript.done wird zurückgegeben, wenn die modellgenerierte Transkription der Audioausgabe streamingt wird.

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 Description
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 Inhaltsteils im Inhaltsarray des Elements.
transcript Schnur Die endgültige Transkription der Audiodaten.

response.function_call_arguments.delta

Das Serverereignis response.function_call_arguments.delta wird zurückgegeben, wenn die vom Modell generierten Funktionsaufrufargumente 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 Description
type Schnur Der Ereignistyp muss sein response.function_call_arguments.delta.
response_id Schnur Die ID der Antwort.
item_id Schnur Die ID des Funktionsaufrufelements.
output_index Integer Der Index des Ausgabeelements in der Antwort.
call_id Schnur Die ID des Funktionsaufrufs.
delta Schnur Die Argumente delta als JSON-Zeichenfolge.

response.function_call_arguments.done

Das Serverereignis response.function_call_arguments.done wird zurückgegeben, wenn die vom Modell generierten Funktionsaufrufargumente streamingt werden.

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 Description
type Schnur Der Ereignistyp muss sein response.function_call_arguments.done.
response_id Schnur Die ID der Antwort.
item_id Schnur Die ID des Funktionsaufrufelements.
output_index Integer Der Index des Ausgabeelements in der Antwort.
call_id Schnur Die ID des Funktionsaufrufs.
Argumente Schnur Die endgültigen Argumente als JSON-Zeichenfolge.

mcp_list_tools.in_progress

Das Serverereignis mcp_list_tools.in_progress wird zurückgegeben, wenn der Dienst beginnt, verfügbare Tools von einem Mcp-Server aufzulisten.

Ereignisstruktur

{
  "type": "mcp_list_tools.in_progress",
  "item_id": "<mcp_list_tools_item_id>"
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein mcp_list_tools.in_progress.
item_id Schnur Die ID des verarbeiteten MCP-Listentools-Elements .

mcp_list_tools.completed

Das Serverereignis mcp_list_tools.completed wird zurückgegeben, wenn der Dienst die Auflistung der verfügbaren Tools von einem Mcp-Server abgeschlossen hat.

Ereignisstruktur

{
  "type": "mcp_list_tools.completed",
  "item_id": "<mcp_list_tools_item_id>"
}
Eigenschaften
Feld Typ Description
type Schnur Der Ereignistyp muss sein mcp_list_tools.completed.
item_id Schnur Die ID des verarbeiteten MCP-Listentools-Elements .

mcp_list_tools.failed

Das Serverereignis mcp_list_tools.failed wird zurückgegeben, wenn der Dienst keine verfügbaren Tools von einem Mcp-Server auflistet.

Ereignisstruktur

{
  "type": "mcp_list_tools.failed",
  "item_id": "<mcp_list_tools_item_id>"
}
Eigenschaften
Feld Typ Description
type Schnur Der Ereignistyp muss sein mcp_list_tools.failed.
item_id Schnur Die ID des verarbeiteten MCP-Listentools-Elements .

response.mcp_call_arguments.delta

Das Serverereignis response.mcp_call_arguments.delta wird zurückgegeben, wenn die vom Modell generierten Mcp-Toolaufrufargumente 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 Description
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-Toolaufrufelements.
output_index Integer Der Index des Ausgabeelements in der Antwort.
delta Schnur Die Argumente delta als JSON-Zeichenfolge.

response.mcp_call_arguments.done

Das Serverereignis response.mcp_call_arguments.done wird zurückgegeben, wenn das vom Modell generierte Mcp-Toolaufrufargumente streamingt werden.

Ereignisstruktur

{
  "type": "response.mcp_call_arguments.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "arguments": "<arguments>"
}

Eigenschaften

Feld Typ Description
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-Toolaufrufelements.
output_index Integer Der Index des Ausgabeelements in der Antwort.
Argumente Schnur Die endgültigen Argumente als JSON-Zeichenfolge.

response.mcp_call.in_progress

Das Serverereignis response.mcp_call.in_progress wird zurückgegeben, wenn ein MCP-Toolaufruf die Verarbeitung startet.

Ereignisstruktur

{
  "type": "response.mcp_call.in_progress",
  "item_id": "<item_id>",
  "output_index": 0
}

Eigenschaften

Feld Typ Description
type Schnur Der Ereignistyp muss sein response.mcp_call.in_progress.
item_id Schnur Die ID des Mcp-Toolaufrufelements.
output_index Integer Der Index des Ausgabeelements in der Antwort.

response.mcp_call.completed

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 Description
type Schnur Der Ereignistyp muss sein response.mcp_call.completed.
item_id Schnur Die ID des Mcp-Toolaufrufelements.
output_index Integer Der Index des Ausgabeelements in der Antwort.

response.mcp_call.failed

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 Description
type Schnur Der Ereignistyp muss sein response.mcp_call.failed.
item_id Schnur Die ID des Mcp-Toolaufrufelements.
output_index Integer Der Index des Ausgabeelements in der Antwort.

response.output_item.added

Das Serverereignis 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 Description
type Schnur Der Ereignistyp muss sein response.output_item.added.
response_id Schnur Die ID der Antwort, zu der das Element gehört.
output_index Integer Der Index des Ausgabeelements in der Antwort.
item RealtimeConversationResponseItem Das Hinzugefügte Element.

response.output_item.done

Das Serverereignis response.output_item.done wird zurückgegeben, wenn das Streaming eines Elements abgeschlossen ist.

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 Description
type Schnur Der Ereignistyp muss sein response.output_item.done.
response_id Schnur Die ID der Antwort, zu der das Element gehört.
output_index Integer Der Index des Ausgabeelements in der Antwort.
item RealtimeConversationResponseItem Das Element, das das Streaming abgeschlossen hat.

response.text.delta

Das Serverereignis response.text.delta wird zurückgegeben, wenn der modellgenerierte Text aktualisiert wird. Der Text entspricht dem text Inhaltsteil eines Assistentennachrichtenelements.

Ereignisstruktur

{
  "type": "response.text.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "delta": "<delta>"
}

Eigenschaften

Feld Typ Description
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 Inhaltsteils im Inhaltsarray des Elements.
delta Schnur Das Textdelta.

response.text.done

Das Serverereignis response.text.done wird zurückgegeben, wenn der modellgenerierte Text gestreamt wird. Der Text entspricht dem text Inhaltsteil eines Assistentennachrichtenelements.

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 Description
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 Inhaltsteils im Inhaltsarray des Elements.
Text Schnur Der endgültige Textinhalt.

Komponenten

Audioformate

RealtimeAudioFormat

Basisaudioformat, das für Eingabeaudio verwendet wird.

Zulässige Werte:

  • pcm16 - 16-Bit-PCM-Audioformat
  • g711_ulaw - G.711 μ-law audio format
  • g711_alaw - G.711 A-law audio format

RealtimeOutputAudioFormat

Audioformat, das für die Ausgabe von Audio mit bestimmten Samplingraten verwendet wird.

Zulässige Werte:

  • pcm16 - 16-Bit-PCM-Audioformat bei der Standard-Samplingrate (24kHz)
  • pcm16_8000hz - 16-Bit-PCM-Audioformat bei 8kHz Samplingrate
  • pcm16_16000hz - 16-Bit-PCM-Audioformat bei 16kHz Samplingrate
  • g711_ulaw - G.711 μ-Law -Audioformat (mu-law) bei 8kHz Samplingrate
  • g711_alaw - G.711 A-law audio format at 8kHz sampling rate

RealtimeAudioInputTranscriptionSettings

Konfiguration für die Eingabeaudiotranskription.

Feld Typ Description
Modell 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.
Unterstützt mit allen anderen Modellen und Agents: azure-speech
language Schnur Optionaler Sprachcode in BCP-47 (z. B. en-US), oder ISO-639-1 (z. B en. ) oder Multisprachen mit automatischer Erkennung (z. B en,zh. ).
custom_speech Objekt Optionale Konfiguration für benutzerdefinierte Sprachmodelle, nur gültig für azure-speech das Modell.
phrase_list string[] Optionale Liste von Begriffshinweisen zur Verzerrungserkennung, nur gültig für azure-speech das Modell.
prompt Schnur Optionaler Eingabeaufforderungstext zur Anleitung der Transkription, nur gültig für whisper-1, gpt-4o-transcribegpt-4o-mini-transcribe und gpt-4o-transcribe-diarize Modelle.

RealtimeInputAudioNoiseReductionSettings

Dies kann folgendes sein:

RealtimeOpenAINoiseReduction

OpenAI-Rauschreduzierungskonfiguration mit expliziten Typfeld, nur für gpt-realtime und gpt-realtime-mini Modelle verfügbar.

Feld Typ Description
type Schnur near_field oder far_field

RealtimeAzureDeepNoiseSuppression

Konfiguration zur Rauschunterdrückung bei Audioeingang.

Feld Typ Description
type Schnur Muss "azure_deep_noise_suppression" sein.

RealtimeInputAudioEchoCancellationSettings

Echounterdrückungskonfiguration für die serverseitige Audioverarbeitung.

Feld Typ Description
type Schnur Muss "server_echo_cancellation" sein.

VoIP-Konfiguration

RealtimeVoice

Union aller unterstützten Sprachkonfigurationen.

Dies kann folgendes sein:

RealtimeOpenAIVoice

OpenAI-Sprachkonfiguration mit expliziten Typfeldern.

Feld Typ Description
type Schnur Muss "openai" sein.
name Schnur OpenAI-Sprachname: alloy, , ash, balladcoral, echosageshimmerverse, marincedar

RealtimeAzureVoice

Basis für Azure-VoIP-Konfigurationen. Dies ist eine diskriminierte Vereinigung mit verschiedenen Typen:

RealtimeAzureStandardVoice

Azure-Standard-VoIP-Konfiguration.

Feld Typ Description
type Schnur Muss "azure-standard" sein.
name Schnur Sprachname (darf nicht leer sein)
Temperatur number Wahlfrei. Temperatur zwischen 0,0 und 1,0
custom_lexicon_url Schnur Wahlfrei. URL zu benutzerdefiniertem Lexicon
prefer_locales string[] Wahlfrei. Bevorzugte Gebietsschemas
Gebietsschemas bevorzugen ändern die Akzente der Sprachen. Wenn der Wert nicht festgelegt ist, verwendet TTS den Standardakzent jeder Sprache. Wenn TTS z. B. Englisch spricht, wird es den amerikanischen Englischakzent verwenden. Und wenn Sie Spanisch sprechen, wird es den mexikanischen spanischen Akzent verwenden.
Wenn die prefer_locales festgelegt ["en-GB", "es-ES"]ist, ist der englische Akzent britisches Englisch, und der spanische Akzent ist Europäisches Spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen.
Gebietsschema Schnur Wahlfrei. Gebietsschemaspezifikation
Erzwingen des Gebietsschemas für die TTS-Ausgabe. Wenn nicht festgelegt, verwendet TTS immer das angegebene Gebietsschema, um zu sprechen. z. B. das Gebietsschema festlegen en-US, verwendet TTS immer amerikanischen Englischakzent, um den Textinhalt zu sprechen, auch wenn sich der Textinhalt in einer anderen Sprache befindet. Und TTS gibt stumm, wenn sich der Textinhalt in Chinesisch befindet.
style Schnur Wahlfrei. Sprachstil
Pech Schnur Wahlfrei. Anpassung des Neigungswinkels
Rate Schnur Wahlfrei. Anpassung der Sprachrate
volume Schnur Wahlfrei. Volumenanpassung
RealtimeAzureCustomVoice

Benutzerdefinierte Azure-Sprachkonfiguration (bevorzugt für benutzerdefinierte Stimmen).

Feld Typ Description
type Schnur Muss "azure-custom" sein.
name Schnur Sprachname (darf nicht leer sein)
endpoint_id Schnur Endpunkt-ID (darf nicht leer sein)
Temperatur number Wahlfrei. Temperatur zwischen 0,0 und 1,0
custom_lexicon_url Schnur Wahlfrei. URL zu benutzerdefiniertem Lexicon
prefer_locales string[] Wahlfrei. Bevorzugte Gebietsschemas
Gebietsschemas bevorzugen ändern die Akzente der Sprachen. Wenn der Wert nicht festgelegt ist, verwendet TTS den Standardakzent jeder Sprache. Wenn TTS z. B. Englisch spricht, wird es den amerikanischen Englischakzent verwenden. Und wenn Sie Spanisch sprechen, wird es den mexikanischen spanischen Akzent verwenden.
Wenn die prefer_locales festgelegt ["en-GB", "es-ES"]ist, ist der englische Akzent britisches Englisch, und der spanische Akzent ist Europäisches Spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen.
Gebietsschema Schnur Wahlfrei. Gebietsschemaspezifikation
Erzwingen des Gebietsschemas für die TTS-Ausgabe. Wenn nicht festgelegt, verwendet TTS immer das angegebene Gebietsschema, um zu sprechen. z. B. das Gebietsschema festlegen en-US, verwendet TTS immer amerikanischen Englischakzent, um den Textinhalt zu sprechen, auch wenn sich der Textinhalt in einer anderen Sprache befindet. Und TTS gibt stumm, wenn sich der Textinhalt in Chinesisch befindet.
style Schnur Wahlfrei. Sprachstil
Pech Schnur Wahlfrei. Anpassung des Neigungswinkels
Rate Schnur Wahlfrei. Anpassung der Sprachrate
volume Schnur Wahlfrei. Volumenanpassung

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 Description
type Schnur Muss "azure-personal" sein.
name Schnur Sprachname (darf nicht leer sein)
Temperatur number Wahlfrei. Temperatur zwischen 0,0 und 1,0
Modell Schnur Zugrunde liegendes neurales Modell: DragonLatestNeural, PhoenixLatestNeuralPhoenixV2Neural
custom_lexicon_url Schnur Wahlfrei. URL zu benutzerdefiniertem Lexicon
prefer_locales string[] Wahlfrei. Bevorzugte Gebietsschemas
Gebietsschemas bevorzugen ändern die Akzente der Sprachen. Wenn der Wert nicht festgelegt ist, verwendet TTS den Standardakzent jeder Sprache. Wenn TTS z. B. Englisch spricht, wird es den amerikanischen Englischakzent verwenden. Und wenn Sie Spanisch sprechen, wird es den mexikanischen spanischen Akzent verwenden.
Wenn die prefer_locales festgelegt ["en-GB", "es-ES"]ist, ist der englische Akzent britisches Englisch, und der spanische Akzent ist Europäisches Spanisch. Und TTS kann auch andere Sprachen wie Französisch, Chinesisch usw. sprechen.
Gebietsschema Schnur Wahlfrei. Gebietsschemaspezifikation
Erzwingen des Gebietsschemas für die TTS-Ausgabe. Wenn nicht festgelegt, verwendet TTS immer das angegebene Gebietsschema, um zu sprechen. z. B. das Gebietsschema festlegen en-US, verwendet TTS immer amerikanischen Englischakzent, um den Textinhalt zu sprechen, auch wenn sich der Textinhalt in einer anderen Sprache befindet. Und TTS gibt stumm, wenn sich der Textinhalt in Chinesisch befindet.
Pech Schnur Wahlfrei. Anpassung des Neigungswinkels
Rate Schnur Wahlfrei. Anpassung der Sprachrate
volume Schnur Wahlfrei. Volumenanpassung

Erkennung drehen

RealtimeTurnDetection

Konfiguration für die Turnerkennung. Dies ist eine diskriminierte Vereinigung, die mehrere VAD-Typen unterstützt.

RealtimeServerVAD

Basis-VAD-basierte Dreherkennung.

Feld Typ Description
type Schnur Muss "server_vad" sein.
threshold number Wahlfrei. Aktivierungsschwellenwert (0,0-1.0)
prefix_padding_ms Integer Wahlfrei. Audioabstand vor dem Start der Sprache
silence_duration_ms Integer Wahlfrei. Stille Dauer zum Erkennen des Sprachendes
end_of_utterance_detection RealtimeEOUDetection Wahlfrei. End-of-utterance detection config
Antwort_erstellen boolean Wahlfrei. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird.
interrupt_response boolean Wahlfrei. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: false)
auto_truncate boolean Wahlfrei. Automatische Abkürzung bei Unterbrechung (Standard: false)
RealtimeOpenAISemanticVAD

OpenAI-Semantik-VAD-Konfiguration, die ein Modell verwendet, um zu bestimmen, wann der Benutzer die Rede abgeschlossen hat. Nur für gpt-realtime und gpt-realtime-mini Modelle verfügbar.

Feld Typ Description
type Schnur Muss "semantic_vad" sein.
Eifer Schnur Wahlfrei. 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, wirkt es sich im Transkriptionsmodus darauf aus, wie das Audio geblockt wird.
Die folgenden Werte sind zulässig:
- auto (Standard) entspricht medium,
- low wird dem Benutzer die Zeit nehmen, zu sprechen,
- high wird die Audiowiedergabe so schnell wie möglich abblocken.

Wenn sie möchten, dass das Modell häufiger im Unterhaltungsmodus reagiert oder Transkriptionsereignisse schneller im Transkriptionsmodus zurückgegeben werden soll, können Sie eifrig highfestlegen.
Wenn Sie es dem Benutzer hingegen ermöglichen möchten, im Unterhaltungsmodus unterbrechungsfrei zu sprechen, oder wenn Sie größere Transkriptblöcke im Transkriptionsmodus wünschen, können Sie eifrig festlegen low.
Antwort_erstellen boolean Wahlfrei. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird.
interrupt_response boolean Wahlfrei. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: false)
RealtimeAzureSemanticVAD

Azure Semantic VAD, der bestimmt, wann der Benutzer mit einem semantischen Sprachmodell beginnt und spricht, was eine robustere Erkennung in lauten Umgebungen ermöglicht.

Feld Typ Description
type Schnur Muss "azure_semantic_vad" sein.
threshold number Wahlfrei. Aktivierungsschwellenwert
prefix_padding_ms Integer Wahlfrei. Audioabstand vor der Spracherkennung
silence_duration_ms Integer Wahlfrei. Stille Dauer für Sprachende
end_of_utterance_detection RealtimeEOUDetection Wahlfrei. EOU-Erkennungskonfiguration
speech_duration_ms Integer Wahlfrei. Minimale Sprachdauer
remove_filler_words boolean Wahlfrei. Füllwörter entfernen (Standard: false)
Sprachen string[] Wahlfrei. Unterstützt Englisch. Andere Sprachen werden ignoriert.
Antwort_erstellen boolean Wahlfrei. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird.
interrupt_response boolean Wahlfrei. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: false)
auto_truncate boolean Wahlfrei. Automatische Abkürzung bei Unterbrechung (Standard: false)
RealtimeAzureSemanticVADMultilingual

Azure semantic VAD (Standardvariante).

Feld Typ Description
type Schnur Muss "azure_semantic_vad_multilingual" sein.
threshold number Wahlfrei. Aktivierungsschwellenwert
prefix_padding_ms Integer Wahlfrei. Audioabstand vor der Spracherkennung
silence_duration_ms Integer Wahlfrei. Stille Dauer für Sprachende
end_of_utterance_detection RealtimeEOUDetection Wahlfrei. EOU-Erkennungskonfiguration
speech_duration_ms Integer Wahlfrei. Minimale Sprachdauer
remove_filler_words boolean Wahlfrei. Entfernen Von Füllwörtern (Standard: false).
Sprachen string[] Wahlfrei. Unterstützt Englisch, Spanisch, Französisch, Italienisch, Deutsch (DE), Japanisch, Portugiesisch, Chinesisch, Koreanisch, Hindi. Andere Sprachen werden ignoriert.
Antwort_erstellen boolean Wahlfrei. Aktivieren oder deaktivieren Sie, ob eine Antwort generiert wird.
interrupt_response boolean Wahlfrei. Aktivieren oder Deaktivieren von Barge-In-Unterbrechungen (Standard: false)
auto_truncate boolean Wahlfrei. Automatische Abkürzung bei Unterbrechung (Standard: false)

RealtimeEOUDetection

Azure End-of-Utterance (EOU) könnte angeben, wann der Endbenutzer nicht mehr spricht, während natürliche Pausen möglich sind. 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 Description
Modell Schnur semantic_detection_v1 Könnte englisch oder semantic_detection_v1_multilingual unterstützt Englisch, Spanisch, Französisch, Italienisch, Deutsch (DE), Japanisch, Portugiesisch, Chinesisch, Koreanisch, Hindi
threshold_level Schnur Wahlfrei. Erkennungsschwellenwert low (medium, highdefaultund medium), die Standardeinstellung entspricht. Mit einer niedrigeren Einstellung wird die Wahrscheinlichkeit, dass der Satz abgeschlossen ist, höher sein.
timeout_ms number Wahlfrei. Maximale Zeit in Millisekunden, um auf mehr Benutzersprache zu warten. Der Standardwert ist 1000 ms.

Avatarkonfiguration

RealtimeAvatarConfig

Konfiguration für Avatarstreaming und -verhalten.

Feld Typ Description
ice_servers RealtimeIceServer[] Wahlfrei. ICE-Server für WebRTC
Zeichen Schnur Zeichenname oder ID für den Avatar
style Schnur Wahlfrei. Avatarstil (emotionaler Ton, Sprechender Stil)
Angepasst boolean Gibt an, ob der Avatar angepasst wird.
video RealtimeVideoParams Wahlfrei. Videokonfiguration

RealtimeIceServer

ICE-Serverkonfiguration für WebRTC-Verbindungsverhandlung.

Feld Typ Description
urls string[] ICE-Server-URLs (TURN- oder STUN-Endpunkte)
username Schnur Wahlfrei. Benutzername für die Authentifizierung
credential Schnur Wahlfrei. Anmeldeinformationen für die Authentifizierung

RealtimeVideoParams

Videostreamingparameter für Avatar.

Feld Typ Description
Bitrate Integer Wahlfrei. Bitrate in Bits pro Sekunde (Standard: 2000000)
Codec Schnur Wahlfrei. Videocodec, derzeit nur h264 (Standard: h264)
crop RealtimeVideoCrop Wahlfrei. Zuschneideeinstellungen
Auflösung RealtimeVideoResolution Wahlfrei. Auflösungseinstellungen

RealtimeVideoCrop

Definition des Videozuschneiderechtecks.

Feld Typ Description
top_left ganze Zahl[] Obere linke Ecke [x, y], nicht negative ganze Zahlen
bottom_right ganze Zahl[] Untere rechte Ecke [x, y], nicht negative ganze Zahlen

RealtimeVideoResolution

Spezifikation der Videoauflösung.

Feld Typ Description
width Integer Breite in Pixeln (muss 0 sein > )
height Integer Höhe in Pixeln (muss 0 sein > )

Animationskonfiguration

RealtimeAnimation

Konfiguration für Animationsausgaben, einschließlich Blendformen und Visemes.

Feld Typ Description
model_name Schnur Wahlfrei. Animationsmodellname (Standard: "default")
Ergebnisse RealtimeAnimationOutputType[] Wahlfrei. Ausgabetypen (Standard: ["blendshapes"])

RealtimeAnimationOutputType

Arten von Animationsdaten, die ausgegeben werden sollen.

Zulässige Werte:

  • blendshapes - Gesichts-Blendshapes-Daten
  • viseme_id - Viseme-Bezeichnerdaten

Sitzungskonfiguration

RealtimeRequestSession

Sitzungskonfigurationsobjekt, das in session.update Ereignissen verwendet wird.

Feld Typ Description
Modell Schnur Wahlfrei. Zu verwendende Modellname
modalities RealtimeModality[] Wahlfrei. Die unterstützten Modalitäten für die Sitzung.

Beispielsweise ist "modalities": ["text", "audio"] die Standardeinstellung, die sowohl Text- als auch Audiomodalitäten aktiviert. Um nur Text zu aktivieren, legen Sie "Modalitäten" fest: ["text"]. Um die Avatarausgabe zu aktivieren, legen Sie "Modalitäten" fest: ["text", "audio", "avatar"]. Sie können nicht nur Audio aktivieren.
Animation RealtimeAnimation Wahlfrei. Animationskonfiguration
VoIP RealtimeVoice Wahlfrei. VoIP-Konfiguration
instructions Schnur Wahlfrei. Systemanweisungen für das Modell. Die Anweisungen können die Ausgabeaudio leiten, wenn OpenAI-Stimmen verwendet werden, aber möglicherweise nicht für Azure-Stimmen gelten.
input_audio_sampling_rate Integer Wahlfrei. Eingabeaudio-Samplingrate in Hz (Standard: 24000 für pcm16, 8000 für g711_ulaw und g711_alaw)
input_audio_format RealtimeAudioFormat Wahlfrei. Eingabeaudioformat (Standard: pcm16)
output_audio_format RealtimeOutputAudioFormat Wahlfrei. Ausgabeaudioformat (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 kann null sein.
input_audio_echo_cancellation RealtimeInputAudioEchoCancellationSettings Konfiguration für die Audiounterdrückung der Eingabe. Dies kann auf NULL festgelegt werden, um den Vorgang zu deaktivieren. Diese dienstseitige Echounterdrückung kann dazu beitragen, die Qualität der Eingabeaudio zu verbessern, indem die Auswirkungen von Echo und Hall reduziert werden.

Diese Eigenschaft kann null sein.
input_audio_transcription RealtimeAudioInputTranscriptionSettings 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 kann null sein.
turn_detection RealtimeTurnDetection Die Aktivierungseinstellungen für die Sitzung. Dies kann auf NULL festgelegt werden, um den Vorgang zu deaktivieren.
Werkzeuge Array von RealtimeTool Die Tools, die für das Modell für die Sitzung verfügbar sind.
tool_choice RealtimeToolChoice Die Toolauswahl für die Sitzung.

Zulässige Werte: auto, none, und required. Andernfalls können Sie den Namen der zu verwendenden Funktion angeben.
Temperatur number Die Samplingtemperatur für das Modell. Die zulässigen Temperaturwerte sind auf [0,6, 1,2] beschränkt. Der Standardwert ist 0,8.
max_response_output_tokens ganze Zahl oder "inf" Die maximale Anzahl von Ausgabetoken pro Assistentenantwort, einschließlich der Toolaufrufe.

Geben Sie eine ganze Zahl zwischen 1 und 4096 an, um die Ausgabetoken einzuschränken. Legen Sie andernfalls den Wert auf "inf" fest, um die maximale Anzahl von Token zuzulassen.

Legen Sie beispielsweise fest, "max_response_output_tokens": 1000um die Ausgabetoken auf 1000 zu beschränken. Legen Sie fest "max_response_output_tokens": "inf", um die maximale Anzahl von Token zuzulassen.

Wird standardmäßig auf "inf" festgelegt.
Avatar RealtimeAvatarConfig Wahlfrei. Avatarkonfiguration
output_audio_timestamp_types RealtimeAudioTimestampType[] Wahlfrei. Zeitstempeltypen für Ausgabeaudio

RealtimeModality

Unterstützte Sitzungsmodalitäten.

Zulässige Werte:

  • text - Texteingabe/Ausgabe
  • audio - Audioeingabe/-ausgabe
  • animation - Animationsausgabe
  • avatar - Avatar-Videoausgabe

RealtimeAudioTimestampType

Ausgabezeitstempeltypen, die in Audioantwortinhalten unterstützt werden.

Zulässige Werte:

  • word - Zeitstempel pro Wort im Ausgabeaudio

Toolkonfiguration

Wir unterstützen zwei Arten von Tools: Funktionsaufrufe und MCP-Tools, mit denen Sie eine Verbindung mit einem Mcp-Server herstellen können.

RealtimeTool

Tooldefinition für Funktionsaufrufe.

Feld Typ Description
type Schnur Muss "function" sein.
name Schnur Funktionsname
Beschreibung Schnur Funktionsbeschreibung und Nutzungsrichtlinien
parameters Objekt Funktionsparameter als JSON-Schemaobjekt

RealtimeToolChoice

Toolauswahlstrategie.

Dies kann folgendes sein:

  • "auto" - Lassen Sie das Modell auswählen
  • "none" - Verwenden Sie keine Tools
  • "required" - Muss ein Tool verwenden
  • { "type": "function", "name": "function_name" } - Bestimmte Funktion verwenden

MCPTool

MCP-Toolkonfiguration.

Feld Typ Description
type Schnur Muss "mcp" sein.
Serverbeschriftung Schnur Erforderlich. Die Bezeichnung des MCP-Servers.
server_url Schnur Erforderlich. Die Server-URL des MCP-Servers.
erlaubte_Werkzeuge string[] Wahlfrei. Die Liste der zulässigen Toolnamen. Wenn nicht angegeben, sind alle Tools zulässig.
headers Objekt Wahlfrei. Zusätzliche Header, die in MCP-Anforderungen eingeschlossen werden sollen.
Autorisierung Schnur Wahlfrei. Autorisierungstoken für MCP-Anforderungen.
Genehmigung erforderlich Zeichenfolge oder Wörterbuch Wahlfrei.
Wenn dieser Wert auf eine Zeichenfolge festgelegt ist, muss der Wert sein never oder always.
Wenn sie auf ein Wörterbuch festgelegt ist, muss es im Format vorliegen {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}.
Der Standardwert ist always.
Wenn diese Einstellung alwaysfestgelegt ist, erfordert die Toolausführung eine Genehmigung, mcp_approval_request wird an den Client gesendet, wenn das Mcp-Argument abgeschlossen ist, und wird nur ausgeführt, wenn mcp_approval_response empfangen approve=true wird.
Bei Festlegung auf neverwird das Tool automatisch ohne Genehmigung ausgeführt.

RealtimeConversationResponseItem

Dies ist ein Union-Typ, der eine der folgenden Sein kann:

RealtimeConversationUserMessageItem

Benutzernachrichtenelement.

Feld Typ Description
id Schnur Die eindeutige ID des Elements.
type Schnur Muss "message" sein.
Objekt Schnur Muss "conversation.item" sein.
role Schnur Muss "user" sein.
Inhalt RealtimeInputTextContentPart Der Inhalt der Nachricht.
status RealtimeItemStatus Der Status des Elements.

RealtimeConversationAssistantMessageItem

Nachrichtenelement des Assistenten.

Feld Typ Description
id Schnur Die eindeutige ID des Elements.
type Schnur Muss "message" sein.
Objekt Schnur Muss "conversation.item" sein.
role Schnur Muss "assistant" sein.
Inhalt RealtimeOutputTextContentPart[] oder RealtimeOutputAudioContentPart[] Der Inhalt der Nachricht.
status RealtimeItemStatus Der Status des Elements.

RealtimeConversationSystemMessageItem

Systemnachrichtenelement.

Feld Typ Description
id Schnur Die eindeutige ID des Elements.
type Schnur Muss "message" sein.
Objekt Schnur Muss "conversation.item" sein.
role Schnur Muss "system" sein.
Inhalt RealtimeInputTextContentPart[] Der Inhalt der Nachricht.
status RealtimeItemStatus Der Status des Elements.

RealtimeConversationFunctionCallItem

Anforderungselement für Funktionsaufrufe.

Feld Typ Description
id Schnur Die eindeutige ID des Elements.
type Schnur Muss "function_call" sein.
Objekt Schnur Muss "conversation.item" sein.
name Schnur Der Name der aufzurufenden Funktion.
Argumente Schnur Die Argumente für den Funktionsaufruf als JSON-Zeichenfolge.
call_id Schnur Die eindeutige ID des Funktionsaufrufs.
status RealtimeItemStatus Der Status des Elements.

RealtimeConversationFunctionCallOutputItem

Antwortelement für Funktionsaufrufe.

Feld Typ Description
id Schnur Die eindeutige ID des Elements.
type Schnur Muss "function_call_output" sein.
Objekt Schnur Muss "conversation.item" sein.
name Schnur Der Name der Funktion, die aufgerufen wurde.
output Schnur Die Ausgabe des Funktionsaufrufs.
call_id Schnur Die eindeutige ID des Funktionsaufrufs.
status RealtimeItemStatus Der Status des Elements.

RealtimeConversationMCPListToolsItem

Antwortelement der MCP-Listentools.

Feld Typ Description
id Schnur Die eindeutige ID des Elements.
type Schnur Muss "mcp_list_tools" sein.
Serverbeschriftung Schnur Die Bezeichnung des MCP-Servers.

RealtimeConversationMCPCallItem

MCP-Anrufantwortelement.

Feld Typ Description
id Schnur Die eindeutige ID des Elements.
type Schnur Muss "mcp_call" sein.
Serverbeschriftung Schnur Die Bezeichnung des MCP-Servers.
name Schnur Der Name des tools, das aufgerufen werden soll.
approval_request_id Schnur Die Id der Genehmigungsanforderung für den MCP-Aufruf.
Argumente Schnur Die Argumente für den MCP-Aufruf.
output Schnur Die Ausgabe des MCP-Aufrufs.
Fehler Objekt Die Fehlerdetails, wenn der MCP-Aufruf fehlgeschlagen ist.

RealtimeConversationMCPApprovalRequestItem

MCP-Genehmigungsanforderungselement.

Feld Typ Description
id Schnur Die eindeutige ID des Elements.
type Schnur Muss "mcp_approval_request" sein.
Serverbeschriftung Schnur Die Bezeichnung des MCP-Servers.
name Schnur Der Name des tools, das aufgerufen werden soll.
Argumente Schnur Die Argumente für den MCP-Aufruf.

RealtimeItemStatus

Status von Unterhaltungselementen.

Zulässige Werte:

  • in_progress - Wird zurzeit verarbeitet
  • completed - Erfolgreich abgeschlossen
  • incomplete - Unvollständig (unterbrochen oder fehlgeschlagen)

RealtimeContentPart

Inhaltsteil innerhalb einer Nachricht.

RealtimeInputTextContentPart

Textinhaltsteil.

Feld Typ Description
type Schnur Muss "input_text" sein.
Text Schnur Der Textinhalt

RealtimeOutputTextContentPart

Textinhaltsteil.

Feld Typ Description
type Schnur Muss "text" sein.
Text Schnur Der Textinhalt

RealtimeInputAudioContentPart

Audioinhaltsteil.

Feld Typ Description
type Schnur Muss "input_audio" sein.
audio Schnur Wahlfrei. Base64-codierte Audiodaten
transcript Schnur Wahlfrei. Audiotranskript

RealtimeOutputAudioContentPart

Audioinhaltsteil.

Feld Typ Description
type Schnur Muss "audio" sein.
audio Schnur Base64-codierte Audiodaten
transcript Schnur Wahlfrei. Audiotranskript

Antwortobjekte

RealtimeResponse

Response-Objekt, das eine Modell-Ableitungsantwort darstellt.

Feld Typ Description
id Schnur Wahlfrei. Antwort-ID
Objekt Schnur Wahlfrei. Immer "realtime.response"
status RealtimeResponseStatus Wahlfrei. Antwortstatus
status_details RealtimeResponseStatusDetails Wahlfrei. Details zum Status
output RealtimeConversationResponseItem[] Wahlfrei. Ausgabeelemente
usage RealtimeUsage Wahlfrei. Tokenverwendungsstatistiken
conversation_id Schnur Wahlfrei. Zugeordnete Unterhaltungs-ID
VoIP RealtimeVoice Wahlfrei. VoIP, die für die Antwort verwendet wird
modalities string[] Wahlfrei. Verwendete Modalitäten
output_audio_format RealtimeOutputAudioFormat Wahlfrei. Verwendetes Audioformat
Temperatur number Wahlfrei. Verwendete Temperatur
max_response_output_tokens ganze Zahl oder "inf" Wahlfrei. Max. verwendete Token

RealtimeResponseStatus

Antwortstatuswerte.

Zulässige Werte:

  • in_progress - Die Antwort wird generiert.
  • completed - Antwort erfolgreich abgeschlossen
  • cancelled - Antwort wurde abgebrochen
  • incomplete - Antwort unvollständig (unterbrochen)
  • failed – Fehler bei der Antwort

RealtimeUsage

Tokenverwendungsstatistiken.

Feld Typ Description
Gesamtanzahl Tokens Integer Verwendete Gesamttoken
input_tokens Integer Verwendete Eingabetoken
output_tokens Integer Generierte Ausgabetoken
input_token_details TokenDetails Aufschlüsselung von Eingabetoken
output_token_details TokenDetails Aufschlüsselung der Ausgabetoken

TokenDetails

Detaillierte Aufschlüsselung der Tokenverwendung.

Feld Typ Description
cached_tokens Integer Wahlfrei. Zwischengespeicherte Token verwendet
text_tokens Integer Wahlfrei. Verwendete Texttoken
audio_tokens Integer Wahlfrei. Verwendete Audiotoken

Fehlerbehandlung

RealtimeErrorDetails

Fehlerinformationsobjekt.

Feld Typ Description
type Schnur Fehlertyp (z. B. "invalid_request_error", ) "server_error"
Code Schnur Wahlfrei. Spezifischer Fehlercode
message Schnur Beschreibung für lesbare Fehler
param Schnur Wahlfrei. Parameter im Zusammenhang mit dem Fehler
event_id Schnur Wahlfrei. ID des Clientereignisses, das den Fehler verursacht hat

RealtimeConversationRequestItem

Sie verwenden das RealtimeConversationRequestItem Objekt, um ein neues Element in der Unterhaltung über das ereignis conversation.item.create zu erstellen.

Dies ist ein Union-Typ, der eine der folgenden Sein kann:

RealtimeSystemMessageItem

Ein Systemnachrichtenelement.

Feld Typ Description
type Schnur Der Typ des Elements

Zulässige Werte: message
role Schnur Die Rolle der Nachricht.

Zulässige Werte: system
Inhalt Array von RealtimeInputTextContentPart Der Inhalt der Nachricht.
id Schnur Die eindeutige ID des Elements. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, generiert der Server eine.

RealtimeUserMessageItem

Ein Benutzernachrichtenelement.

Feld Typ Description
type Schnur Der Typ des Elements

Zulässige Werte: message
role Schnur Die Rolle der Nachricht.

Zulässige Werte: user
Inhalt Array von RealtimeInputTextContentPart oder RealtimeInputAudioContentPart Der Inhalt der Nachricht.
id Schnur Die eindeutige ID des Elements. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, generiert der Server eine.

RealtimeAssistantMessageItem

Ein Nachrichtenelement des Assistenten.

Feld Typ Description
type Schnur Der Typ des Elements

Zulässige Werte: message
role Schnur Die Rolle der Nachricht.

Zulässige Werte: assistant
Inhalt Array von RealtimeOutputTextContentPart Der Inhalt der Nachricht.

RealtimeFunctionCallItem

Ein Funktionsaufrufelement.

Feld Typ Description
type Schnur Der Typ des Elements

Zulässige Werte: function_call
name Schnur Der Name der aufzurufenden Funktion.
Argumente Schnur Die Argumente des Funktionsaufrufs als JSON-Zeichenfolge.
call_id Schnur Die ID des Funktionsaufrufelements.
id Schnur Die eindeutige ID des Elements. Der Client kann die ID angeben, um den serverseitigen Kontext zu verwalten. Wenn der Client keine ID bereitstellt, generiert der Server eine.

RealtimeFunctionCallOutputItem

Ein Funktionsaufrufausgabeelement.

Feld Typ Description
type Schnur Der Typ des Elements

Zulässige Werte: function_call_output
call_id Schnur Die ID des Funktionsaufrufelements.
output Schnur Die Ausgabe des Funktionsaufrufs, dies ist eine Freiformzeichenfolge mit dem Funktionsergebnis, könnte auch leer sein.
id Schnur Die eindeutige ID des Elements. Wenn der Client keine ID bereitstellt, generiert der Server eine.

RealtimeMCPApprovalResponseItem

Ein MCP-Genehmigungsantwortelement.

Feld Typ Description
type Schnur Der Typ des Elements

Zulässige Werte: mcp_approval_response
billigen boolean Gibt an, ob die MCP-Anforderung genehmigt wurde.
approval_request_id Schnur Die ID der MCP-Genehmigungsanforderung.

RealtimeFunctionTool

Die Definition eines Funktionstools, wie es vom Echtzeitendpunkt verwendet wird.

Feld Typ Description
type Schnur Der Typ des Tools.

Zulässige Werte: function
name Schnur Der Name der Funktion.
Beschreibung Schnur Die Beschreibung der Funktion, einschließlich Verwendungsrichtlinien. Beispiel: "Verwenden Sie diese Funktion, um die aktuelle Uhrzeit abzurufen.".
parameters Objekt Die Parameter der Funktion in Form eines JSON-Objekts.

RealtimeItemStatus

Zulässige Werte:

  • in_progress
  • completed
  • incomplete

RealtimeResponseAudioContentPart

Feld Typ Description
type Schnur Der Typ des Inhaltsteils

Zulässige Werte: audio
transcript Schnur Die Transkription des Audiosignals.

Diese Eigenschaft kann null sein.

RealtimeResponseFunctionCallItem

Feld Typ Description
type Schnur Der Typ des Elements

Zulässige Werte: function_call
name Schnur Der Name des Funktionsaufrufelements.
call_id Schnur Die ID des Funktionsaufrufelements.
Argumente Schnur Die Argumente des Funktionsaufrufelements.
status RealtimeItemStatus Der Status des Elements.

RealtimeResponseFunctionCallOutputItem

Feld Typ Description
type Schnur Der Typ des Elements

Zulässige Werte: function_call_output
call_id Schnur Die ID des Funktionsaufrufelements.
output Schnur Die Ausgabe des Funktionsaufrufelements.

RealtimeResponseOptions

Feld Typ Description
modalities Array Die Modalitäten, die die Sitzung unterstützt.

Zulässige Werte: text, audio

Beispielsweise ist die Standardeinstellung, "modalities": ["text", "audio"] die sowohl Text- als auch Audiomodalitäten aktiviert. Legen Sie fest "modalities": ["text"], um nur Text zu aktivieren. Sie können nicht nur Audio aktivieren.
instructions Schnur Die Anweisungen (die Systemmeldung), um die Antworten des Modells zu leiten.
VoIP RealtimeVoice Die Für die Modellantwort für die Sitzung verwendete Stimme.

Sobald die Stimme in der Sitzung für die Audioantwort des Modells verwendet wird, kann sie nicht mehr geändert werden.
Werkzeuge Array von RealtimeTool Die Tools, die für das Modell für die Sitzung verfügbar sind.
tool_choice RealtimeToolChoice Die Toolauswahl für die Sitzung.
Temperatur number Die Samplingtemperatur für das Modell. Die zulässigen Temperaturwerte sind auf [0,6, 1,2] beschränkt. Der Standardwert ist 0,8.
max_response_output_tokens ganze Zahl oder "inf" Die maximale Anzahl von Ausgabetoken pro Assistentenantwort, einschließlich der Toolaufrufe.

Geben Sie eine ganze Zahl zwischen 1 und 4096 an, um die Ausgabetoken einzuschränken. Legen Sie andernfalls den Wert auf "inf" fest, um die maximale Anzahl von Token zuzulassen.

Legen Sie beispielsweise fest, "max_response_output_tokens": 1000um die Ausgabetoken auf 1000 zu beschränken. Legen Sie fest "max_response_output_tokens": "inf", um die maximale Anzahl von Token zuzulassen.

Wird standardmäßig auf "inf" festgelegt.
Gespräch Schnur Steuert, zu welcher Unterhaltung die Antwort hinzugefügt wird. Unterstützte Werte sind auto und none.

Der auto Wert (oder nicht das Festlegen dieser Eigenschaft) stellt sicher, dass der Inhalt der Antwort zur Standardunterhaltung der Sitzung hinzugefügt wird.

Legen Sie diese Eigenschaft fest, um eine Out-of-Band-Antwort zu none erstellen, bei der elemente nicht zur Standardunterhaltung hinzugefügt werden.

Der Standardwert lautet "auto".
metadata Karte Bis zu 16 Schlüssel-Wert-Paare, die an ein Objekt angefügt werden können. Dies kann hilfreich sein, um zusätzliche Informationen zum Objekt in einem strukturierten Format zu speichern. Schlüssel dürfen maximal 64 Zeichen und Werte dürfen höchstens 512 Zeichen lang sein.

Beispiel: metadata: { topic: "classification" }

RealtimeResponseSession

Das RealtimeResponseSession Objekt stellt eine Sitzung in der Realtime-API dar. Es wird in einigen der Serverereignisse verwendet, z. B.:

Feld Typ Description
Objekt Schnur Das Sitzungsobjekt.

Zulässige Werte: realtime.session
id Schnur Die eindeutige ID der Sitzung.
Modell Schnur Das modell, das für die Sitzung verwendet wird.
modalities Array Die Modalitäten, die die Sitzung unterstützt.

Zulässige Werte: text, audio

Beispielsweise ist die Standardeinstellung, "modalities": ["text", "audio"] die sowohl Text- als auch Audiomodalitäten aktiviert. Legen Sie fest "modalities": ["text"], um nur Text zu aktivieren. Sie können nicht nur Audio aktivieren.
instructions Schnur Die Anweisungen (die Systemmeldung), um die Text- und Audioantworten des Modells zu leiten.

Im Folgenden finden Sie einige Beispielanweisungen, mit denen Sie den Inhalt und das Format von Text- und Audioantworten unterstützen:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Im Folgenden finden Sie einige Beispielanweisungen zur Anleitung des Audioverhaltens:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Obwohl das Modell diese Anweisungen möglicherweise nicht immer befolgt, bieten sie Anleitungen zum gewünschten Verhalten.
VoIP RealtimeVoice Die Für die Modellantwort für die Sitzung verwendete Stimme.

Sobald die Stimme in der Sitzung für die Audioantwort des Modells verwendet wird, kann sie nicht mehr geändert werden.
input_audio_sampling_rate Integer Die Samplingrate für die Eingabeaudio.
input_audio_format RealtimeAudioFormat Das Format für die Eingabeaudio.
output_audio_format RealtimeAudioFormat Das Format für die Ausgabeaudio.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Die Einstellungen für die Audioeingabetranskription.

Diese Eigenschaft kann null sein.
turn_detection RealtimeTurnDetection Die Aktivierungseinstellungen für die Sitzung.

Diese Eigenschaft kann null sein.
Werkzeuge Array von RealtimeTool Die Tools, die für das Modell für die Sitzung verfügbar sind.
tool_choice RealtimeToolChoice Die Toolauswahl für die Sitzung.
Temperatur number Die Samplingtemperatur für das Modell. Die zulässigen Temperaturwerte sind auf [0,6, 1,2] beschränkt. Der Standardwert ist 0,8.
max_response_output_tokens ganze Zahl oder "inf" Die maximale Anzahl von Ausgabetoken pro Assistentenantwort, einschließlich der Toolaufrufe.

Geben Sie eine ganze Zahl zwischen 1 und 4096 an, um die Ausgabetoken einzuschränken. Legen Sie andernfalls den Wert auf "inf" fest, um die maximale Anzahl von Token zuzulassen.

Legen Sie beispielsweise fest, "max_response_output_tokens": 1000um die Ausgabetoken auf 1000 zu beschränken. Legen Sie fest "max_response_output_tokens": "inf", um die maximale Anzahl von Token zuzulassen.

RealtimeResponseStatusDetails

Feld Typ Description
type RealtimeResponseStatus Der Status der Antwort.

RealtimeRateLimitsItem

Feld Typ Description
name Schnur Der Name der Eigenschaft "Rate Limit", zu dem dieses Element Informationen enthält.
Grenze Integer Der maximale konfigurierte Grenzwert für diese Zinsgrenzwerteigenschaft.
remaining Integer Das verbleibende Kontingent, das gegen den konfigurierten Grenzwert für diese Zinsgrenzwerteigenschaft verfügbar ist.
reset_seconds number Die verbleibende Zeit in Sekunden, bis diese Ratelimit-Eigenschaft zurückgesetzt wird.