Referenz zur Realtime-API (Vorschau)
Hinweis
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Die Echtzeit-API ist eine WebSocket-basierte API, mit der Sie in Echtzeit mit Azure OpenAI Service interagieren können.
Die Realtime-API (über /realtime
) basiert auf der WebSockets-API, um die vollständig asynchrone Streamingkommunikation zwischen Endbenutzer und Modell zu erleichtern. Gerätedetails wie das Aufzeichnen und Rendern von Audiodaten liegen außerhalb des Umfangs der Realtime-API. Sie sollte im Kontext eines vertrauenswürdigen Zwischendiensts verwendet werden, der sowohl Verbindungen mit Endbenutzern als auch Modellendpunktverbindungen verwaltet. Verwenden Sie sie nicht direkt auf nicht vertrauenswürdigen Endbenutzergeräten.
Tipp
Informationen zu den ersten Schritten mit der Realtime-API finden Sie in der Schnellstartanleitung und der Schrittanleitung.
Verbindung
Die Realtime-API erfordert einen vorhandenen Azure OpenAI-Ressourcenendpunkt in einer unterstützten Region. Auf die API wird über eine sichere WebSocket-Verbindung mit dem /realtime
-Endpunkt Ihrer Azure OpenAI-Ressource zugegriffen.
Sie können einen vollständigen Anforderungs-URI erstellen, indem Sie Folgendes verketten:
- Das sichere WebSocket-Protokoll (
wss://
). - Den Hostnamen Ihres Azure OpenAI-Ressourcenendpunkts, z. B.
my-aoai-resource.openai.azure.com
- Den
openai/realtime
-API-Pfad. - Einen
api-version
-Abfragezeichenfolge-Parameter für eine unterstützte API-Version, z. B.2024-12-17
- Einen
deployment
-Abfragezeichenfolge-Parameter mit dem Namen Ihrergpt-4o-realtime-preview
- odergpt-4o-mini-realtime-preview
-Modellimplementierung.
Das folgende Beispiel ist ein korrekt konstruierter /realtime
-Anforderungs-URI:
wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-12-17&deployment=gpt-4o-realtime-preview
Authentifizierung
Zum Authentifizieren:
-
Microsoft Entra (empfohlen): Verwenden Sie die tokenbasierte Authentifizierung mit der
/realtime
-API für eine Azure OpenAI Service-Ressource mit aktivierter verwalteter Identität. Wenden Sie ein abgerufenes Authentifizierungstoken mithilfe einesBearer
-Tokens mit demAuthorization
-Header an. -
API-Schlüssel:
api-key
kann auf eine von zwei Arten bereitgestellt werden:- Verwenden eines
api-key
-Verbindungsheaders für die Prehandshake-Verbindung. Diese Option ist in einer Browserumgebung nicht verfügbar. - Verwenden eines
api-key
-Abfragezeichenfolge-Parameters für den Anforderungs-URI. Abfragezeichenfolge-Parameter werden bei Verwendung von https/wss verschlüsselt.
- Verwenden eines
Clientereignisse
Es gibt neun Clientereignisse, die vom Client an den Server gesendet werden können:
Ereignis | Beschreibung |
---|---|
RealtimeClientEventConversationItemCreate | Das Clientereignis conversation.item.create wird verwendet, um dem Kontext der Unterhaltung neue Elemente hinzuzufügen, einschließlich Nachrichten, Funktionsaufrufe und Funktionsaufrufantworte. |
RealtimeClientEventConversationItemDelete | Das Clientereignis conversation.item.delete wird verwendet, um ein Element aus dem Unterhaltungsverlauf zu entfernen. |
RealtimeClientEventConversationItemTruncate | Das Clientereignis conversation.item.truncate wird verwendet, um die Audiodaten einer vorherigen Assistentennachricht abzuschneiden. |
RealtimeClientEventInputAudioBufferAppend | Das Clientereignis input_audio_buffer.append wird verwendet, um Audiobytes an den Eingabeaudiopuffer anzufügen. |
RealtimeClientEventInputAudioBufferClear | Das Clientereignis input_audio_buffer.clear wird verwendet, um die Audiobytes im Puffer zu löschen. |
RealtimeClientEventInputAudioBufferCommit | Das Clientereignis input_audio_buffer.commit wird verwendet, um den Audiopuffer der Benutzereingabe zu übernehmen. |
RealtimeClientEventResponseCancel | Das Clientereignis response.cancel wird verwendet, um eine laufende Antwort abzubrechen. |
RealtimeClientEventResponseCreate | Das Clientereignis response.create wird verwendet, um den Server anzuweisen, per Modellinferenz eine Antwort zu erstellen. |
RealtimeClientEventSessionUpdate | Das Clientereignis session.update wird verwendet, um die Standardkonfiguration der Sitzung zu aktualisieren. |
RealtimeClientEventConversationItemCreate
Das Clientereignis conversation.item.create
wird verwendet, um dem Kontext der Unterhaltung neue Elemente hinzuzufügen, einschließlich Nachrichten, Funktionsaufrufe und Funktionsaufrufantworte. Dieses Ereignis kann verwendet werden, um einen Verlauf der Unterhaltung aufzufüllen und neue Elemente in der Mitte des Datenstroms hinzuzufügen. Derzeit kann dieses Ereignis keine Audionachrichten des Assistenten auffüllen.
Wenn dies erfolgreich ist, antwortet der Server mit einem conversation.item.created
-Ereignis, andernfalls wird ein error
-Ereignis gesendet.
Ereignisstruktur
{
"type": "conversation.item.create",
"previous_item_id": "<previous_item_id>"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss conversation.item.create sein. |
previous_item_id | Zeichenfolge | Die ID des vorherigen Elements, nach dem das neue Element eingefügt wird. Wenn dies nicht festgelegt ist, wird das neue Element am Ende der Unterhaltung angefügt. Wenn dies festgelegt ist, kann ein Element in der Mitte der Unterhaltung eingefügt werden. Wenn die ID nicht gefunden werden kann, wird ein Fehler zurückgegeben, und das Element wird nicht hinzugefügt. |
item | RealtimeConversationRequestItem | Das Element, das der Unterhaltung hinzugefügt werden soll. |
RealtimeClientEventConversationItemDelete
Das Clientereignis conversation.item.delete
wird verwendet, um ein Element aus dem Unterhaltungsverlauf zu entfernen.
Der Server antwortet mit einem conversation.item.deleted
-Ereignis, es sei denn, das Element ist im Unterhaltungsverlauf nicht vorhanden. In diesem Fall antwortet der Server mit einem Fehler.
Ereignisstruktur
{
"type": "conversation.item.delete",
"item_id": "<item_id>"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss conversation.item.delete sein. |
item_id | Zeichenfolge | Die ID des zu löschenden Elements. |
RealtimeClientEventConversationItemTruncate
Das Clientereignis conversation.item.truncate
wird verwendet, um die Audiodaten einer vorherigen Assistentennachricht abzuschneiden. Der Server erzeugt Audio schneller als in Echtzeit, daher ist dieses Ereignis bei Unterbrechungen durch den Benutzer nützlich, um Audio abzuschneiden, das an den Client gesendet, 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss conversation.item.truncate sein. |
item_id | Zeichenfolge | 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 „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 Daten schreiben und später committen können.
Im Server-VAD-Modus (Voice Activity Detection, Sprechaktivitä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 viele Audiodaten in jedem Ereignis platziert werden sollen (maximal 15 MiB). Beispielsweise könnte die VAD durch das Streaming kleinerer Blöcke vom Client reaktionsfähiger sein.
Im Gegensatz zu den meisten Clientereignissen sendet der Server keine Bestätigungsantwort auf das Clientereignis input_audio_buffer.append
.
Ereignisstruktur
{
"type": "input_audio_buffer.append",
"audio": "<audio>"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss input_audio_buffer.append sein. |
audio | Zeichenfolge | Base64-codierte Audiobytes. Dieser Wert muss in dem Format vorliegen, das durch das Feld input_audio_format 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss input_audio_buffer.clear sein. |
RealtimeClientEventInputAudioBufferCommit
Das Clientereignis input_audio_buffer.commit
wird verwendet, um den Benutzereingabeaudiopuffer zu committen. Dadurch wird ein neues Benutzernachrichtenelement in der Unterhaltung erstellt. Die Audioinhalte werden transkribiert, wenn für die Sitzung input_audio_transcription
konfiguriert wurde.
Im Server-VAD-Modus muss der Client dieses Ereignis nicht senden, da der Server den Audiopuffer automatisch committet. Ohne Server-VAD muss der Client den Audiopuffer committen, um ein Benutzernachrichtenelement zu erstellen. Dieses Clientereignis generiert einen Fehler, wenn der Eingabeaudiopuffer leer ist.
Beim Committen des Eingabeaudiopuffers wird vom Modell keine Antwort erstellt.
Der Server antwortet mit einem input_audio_buffer.committed
-Ereignis.
Ereignisstruktur
{
"type": "input_audio_buffer.commit"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss input_audio_buffer.commit sein. |
RealtimeClientEventResponseCancel
Das Clientereignis response.cancel
wird verwendet, um eine laufende Antwort abzubrechen.
Der Server antwortet mit einem response.cancelled
-Ereignis oder einem Fehler, wenn keine Antwort zum Abbrechen vorhanden ist.
Ereignisstruktur
{
"type": "response.cancel"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.cancel sein. |
RealtimeClientEventResponseCreate
Das Clientereignis response.create
wird verwendet, um den Server anzuweisen, per Modellinferenz eine Antwort zu erstellen. Wenn die Sitzung im Server-VAD-Modus konfiguriert ist, erstellt der Server automatisch Antworten.
Eine Antwort enthält mindestens ein item
. Sie kann zwei enthalten – in diesem Fall ist das zweite Element ein Funktionsaufruf. Diese Elemente werden an den Unterhaltungsverlauf angefügt.
Der Server antwortet mit einem response.created
-Ereignis, mindestens einem Element und Inhaltsereignissen (z. B. conversation.item.created
und response.content_part.added
) und zuletzt einem response.done
-Ereignis, um anzugeben, dass die Antwort abgeschlossen ist.
Hinweis
Das Clientereignis response.create
enthält eine Rückschlusskonfiguration wie instructions
oder temperature
. Diese Felder können die Konfiguration der Sitzung nur für diese Antwort außer Kraft setzen.
Ereignisstruktur
{
"type": "response.create"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.create sein. |
automatisieren | RealtimeResponseOptions | Die Benachrichtigungsoptionen |
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 Sprache.
Es werden nur vorhandene Felder aktualisiert. Um ein Feld (z. B. instructions
) 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss session.update sein. |
session | RealtimeRequestSession | Die Sitzungskonfiguration |
Serverereignisse
Es gibt 28 Serverereignisse, die vom Server empfangen werden können:
Ereignis | Beschreibung |
---|---|
RealtimeServerEventConversationCreated | Das Serverereignis conversation.created wird direkt nach der Sitzungserstellung zurückgegeben. Pro Sitzung wird eine Unterhaltung erstellt. |
RealtimeServerEventConversationItemCreated | Das Serverereignis conversation.item.created wird zurückgegeben, wenn ein Unterhaltungselement erstellt wird. |
RealtimeServerEventConversationItemDeleted | Das Serverereignis conversation.item.deleted wird zurückgegeben, wenn der Client ein Element in der Unterhaltung mit einem conversation.item.delete -Ereignis gelöscht hat. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted | Das Serverereignis conversation.item.input_audio_transcription.completed ist das Ergebnis der Audiotranskription für die in den Audiopuffer geschriebene Sprache. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed | Das Serverereignis conversation.item.input_audio_transcription.failed wird zurückgegeben, wenn die Audiotranskription konfiguriert ist und ein Fehler bei einer Transkriptionsanforderung für eine Benutzernachricht auftrat. |
RealtimeServerEventConversationItemTruncated | Das Serverereignis conversation.item.truncated wird zurückgegeben, wenn der Client ein früheres Audionachrichtenelement des Assistenten mit einem conversation.item.truncate -Ereignis abschneidet. |
RealtimeServerEventError | Das Serverereignis error wird zurückgegeben, wenn ein Fehler auftritt. Dabei kann es sich um ein Client- oder ein Serverproblem handeln. |
RealtimeServerEventInputAudioBufferCleared | Das Serverereignis input_audio_buffer.cleared wird zurückgegeben, wenn der Client den Eingabeaudiopuffer mit einem input_audio_buffer.clear -Ereignis löscht. |
RealtimeServerEventInputAudioBufferCommitted | Das Serverereignis input_audio_buffer.committed wird zurückgegeben, wenn ein Eingabeaudiopuffer vom Client oder automatisch im Server-VAD-Modus committet wird. |
RealtimeServerEventInputAudioBufferSpeechStarted | Das Serverereignis input_audio_buffer.speech_started wird im server_vad -Modus zurückgegeben, wenn im Audiopuffer Sprache erkannt wird. |
RealtimeServerEventInputAudioBufferSpeechStopped | Das Serverereignis input_audio_buffer.speech_stopped wird im server_vad -Modus zurückgegeben, wenn der Server das Ende der Sprache im Audiopuffer erkennt. |
RealtimeServerEventRateLimitsUpdated | Das Serverereignis rate_limits.updated wird am Anfang einer Antwort ausgegeben, um die aktualisierten Ratengrenzwerte anzugeben. |
RealtimeServerEventResponseAudioDelta | Das Serverereignis response.audio.delta wird zurückgegeben, wenn die vom Modell generierten Audioinhalte aktualisiert werden. |
RealtimeServerEventResponseAudioDone | Das Serverereignis response.audio.done wird zurückgegeben, wenn die vom Modell generierten Audioinhalte fertig sind. |
RealtimeServerEventResponseAudioTranscriptDelta | Das Serverereignis response.audio_transcript.delta wird zurückgegeben, wenn die vom Modell generierte Transkription der Audioausgabe aktualisiert wird. |
RealtimeServerEventResponseAudioTranscriptDone | Das Serverereignis response.audio_transcript.done wird zurückgegeben, wenn das Streaming der vom Modell generierten Transkription der Audioausgabe abgeschlossen ist. |
RealtimeServerEventResponseContentPartAdded | Das Serverereignis response.content_part.added wird zurückgegeben, wenn ein neues Inhaltsteil einem Nachrichtenelement des Assistenten hinzugefügt wird. |
RealtimeServerEventResponseContentPartDone | Das Serverereignis response.content_part.done wird zurückgegeben, wenn das Streamen eines Inhaltsteils abgeschlossen ist. |
RealtimeServerEventResponseCreated | Das Serverereignis response.created wird zurückgegeben, wenn eine neue Antwort erstellt wird. Dies ist das erste Ereignis der Antworterstellung, wobei sich die Antwort im Anfangszustand in_progress befindet. |
RealtimeServerEventResponseDone | Das Serverereignis response.done wird zurückgegeben, wenn das Streamen einer Antwort abgeschlossen ist. |
RealtimeServerEventResponseFunctionCallArgumentsDelta | Das Serverereignis response.function_call_arguments.delta wird zurückgegeben, wenn die vom Modell generierten Funktionsaufrufargumente aktualisiert werden. |
RealtimeServerEventResponseFunctionCallArgumentsDone | Das Serverereignis response.function_call_arguments.done wird zurückgegeben, wenn das Streaming der vom Modell generierten Funktionsaufrufargumente abgeschlossen ist. |
RealtimeServerEventResponseOutputItemAdded | Das Serverereignis response.output_item.added wird zurückgegeben, wenn während der Antwortgenerierung ein neues Element erstellt wird. |
RealtimeServerEventResponseOutputItemDone | Das Serverereignis response.output_item.done wird zurückgegeben, wenn das Streamen eines Elements abgeschlossen ist. |
RealtimeServerEventResponseTextDelta | Das Serverereignis response.text.delta wird zurückgegeben, wenn der vom Modell generierte Text aktualisiert wird. |
RealtimeServerEventResponseTextDone | Das Serverereignis response.text.done wird zurückgegeben, wenn das Streamen des vom Modell generierten Texts abgeschlossen ist. |
RealtimeServerEventSessionCreated | Das Serverereignis session.created ist das erste Serverereignis, wenn Sie eine neue Verbindung mit der Realtime-API herstellen. Dieses Ereignis erstellt eine neue Sitzung mit der Standardsitzungskonfiguration und gibt sie zurück. |
RealtimeServerEventSessionUpdated | Das Serverereignis session.updated wird zurückgegeben, wenn eine Sitzung vom Client aktualisiert wird. Wenn ein Fehler auftritt, sendet der Server stattdessen ein error -Ereignis. |
RealtimeServerEventConversationCreated
Das Serverereignis conversation.created
wird direkt nach der Sitzungserstellung zurückgegeben. Pro Sitzung wird eine Unterhaltung erstellt.
Ereignisstruktur
{
"type": "conversation.created",
"conversation": {
"id": "<id>",
"object": "<object>"
}
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss conversation.created sein. |
Konversation (conversation) | Objekt | Die Unterhaltungsressource. |
Unterhaltungseigenschaften
Feld | type | Beschreibung |
---|---|---|
id | Zeichenfolge | Die eindeutige ID der Unterhaltung. |
Objekt | Zeichenfolge | Der Objekttyp muss realtime.conversation sein. |
RealtimeServerEventConversationItemCreated
Das Serverereignis conversation.item.created
wird zurückgegeben, wenn ein Unterhaltungselement erstellt wird. Es gibt mehrere Szenarien, die dieses Ereignis erzeugen:
- Der Server generiert eine Antwort, die bei Erfolg entweder ein oder zwei Elemente erzeugt, die vom Typ
message
(Rolleassistant
) oderfunction_call
sind. - Der Eingabeaudiopuffer wird entweder vom Client oder vom Server (im
server_vad
-Modus) committet. Der Server übernimmt den Inhalt des Eingabeaudiopuffers und fügt ihn einem neuen Benutzernachrichtenelement hinzu. - Der Client hat ein
conversation.item.create
-Ereignis gesendet, um der Unterhaltung ein neues Element hinzuzufügen.
Ereignisstruktur
{
"type": "conversation.item.created",
"previous_item_id": "<previous_item_id>"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss conversation.item.created sein. |
previous_item_id | Zeichenfolge | Die ID des vorherigen Elements im Unterhaltungskontext. Dies ermöglicht es dem Client, die Reihenfolge der Unterhaltung zu verstehen. |
item | RealtimeConversationResponseItem | Das Element, das erstellt wurde |
RealtimeServerEventConversationItemDeleted
Das Serverereignis conversation.item.deleted
wird zurückgegeben, wenn der Client ein Element in der Unterhaltung mit einem conversation.item.delete
-Ereignis gelöscht hat. Dieses Ereignis wird verwendet, um das Verständnis des Unterhaltungsverlaufs durch den Server mit der Ansicht des Clients zu synchronisieren.
Ereignisstruktur
{
"type": "conversation.item.deleted",
"item_id": "<item_id>"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss conversation.item.deleted sein. |
item_id | Zeichenfolge | Die ID des Elements, das gelöscht wurde. |
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted
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 vom Server (im server_vad
-Modus) committet wird. Die Transkription wird asynchron mit der Antworterstellung ausgeführt, sodass dieses Ereignis vor oder nach den Antwortereignissen auftreten kann.
Realtime-API-Modelle akzeptieren Audio nativ. Die Eingabetranskription ist daher ein separater Prozess, der in einem eigenen Spracherkennungsmodell ausgeführt wird (derzeit immer whisper-1
). So kann das Transkript 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss conversation.item.input_audio_transcription.completed sein. |
item_id | Zeichenfolge | Die ID des Benutzernachrichtenelements, das das Audio enthält. |
content_index | integer | Der Index des Inhaltsteils, der die Audiodaten enthält. |
Transkript | Zeichenfolge | Der transkribierte Text. |
RealtimeServerEventConversationItemInputAudioTranscriptionFailed
Das Serverereignis conversation.item.input_audio_transcription.failed
wird zurückgegeben, wenn die Audiotranskription konfiguriert ist und ein Fehler bei einer Transkriptionsanforderung für eine Benutzernachricht auftrat. 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss conversation.item.input_audio_transcription.failed sein. |
item_id | Zeichenfolge | Die ID des Benutzernachrichtenelements. |
content_index | integer | Der Index des Inhaltsteils, der die Audiodaten enthält. |
error | Objekt | Details des Transkriptionsfehlers. Weitere Informationen finden Sie unter den geschachtelten Eigenschaften in der nächsten Tabelle. |
Fehlereigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Fehlers. |
Code | Zeichenfolge | Fehlercode, falls vorhanden. |
message | Zeichenfolge | Eine für Menschen lesbare Fehlermeldung. |
param | Zeichenfolge | Parameter im Zusammenhang mit dem Fehler, falls vorhanden. |
RealtimeServerEventConversationItemTruncated
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 Audios durch den Server mit der Wiedergabe des Clients zu synchronisieren.
Durch dieses Ereignis werden die Audioinhalte abgeschnitten und die serverseitige Texttranskription gelöscht, um sicherzustellen, dass kein Text im Kontext vorhanden ist, den Benutzende nicht kennen.
Ereignisstruktur
{
"type": "conversation.item.truncated",
"item_id": "<item_id>",
"content_index": 0,
"audio_end_ms": 0
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss conversation.item.truncated sein. |
item_id | Zeichenfolge | 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 zum Abschneiden von Audiodaten in Millisekunden. |
RealtimeServerEventError
Das Serverereignis error
wird zurückgegeben, wenn ein Fehler auftritt. Dabei kann es sich um ein Client- oder ein Serverproblem handeln. Die meisten Fehler können behoben werden, und die Sitzung bleibt geöffnet.
Ereignisstruktur
{
"type": "error",
"error": {
"code": "<code>",
"message": "<message>",
"param": "<param>",
"event_id": "<event_id>"
}
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss error sein. |
error | Objekt | Details des Fehlers. Weitere Informationen finden Sie unter den geschachtelten Eigenschaften in der nächsten Tabelle. |
Fehlereigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Fehlers. Beispiele für Fehlertypen sind „invalid_request_error“ und „server_error“. |
Code | Zeichenfolge | Fehlercode, falls vorhanden. |
message | Zeichenfolge | Eine für Menschen lesbare Fehlermeldung. |
param | Zeichenfolge | Parameter im Zusammenhang mit dem Fehler, falls vorhanden. |
event_id | Zeichenfolge | Die ID des Clientereignisses, das den Fehler verursacht hat, falls zutreffend. |
RealtimeServerEventInputAudioBufferCleared
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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss input_audio_buffer.cleared sein. |
RealtimeServerEventInputAudioBufferCommitted
Das Serverereignis input_audio_buffer.committed
wird zurückgegeben, wenn ein Eingabeaudiopuffer vom Client oder automatisch im Server-VAD-Modus committet 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss input_audio_buffer.committed sein. |
previous_item_id | Zeichenfolge | Die ID des vorherigen Elements, nach dem das neue Element eingefügt wird. |
item_id | Zeichenfolge | Die ID des erstellten Benutzernachrichtenelements. |
RealtimeServerEventInputAudioBufferSpeechStarted
Das Serverereignis input_audio_buffer.speech_started
wird im server_vad
-Modus zurückgegeben, wenn im Audiopuffer Sprache erkannt wird. Dieses Ereignis kann jederzeit auftreten, wenn dem Puffer Audio hinzugefügt wird (es sei denn, es wurde bereits Sprache erkannt).
Hinweis
Der Client kann dieses Ereignis verwenden, um die Audiowiedergabe zu unterbrechen oder den Benutzenden visuelles Feedback zu geben.
Der Client sollte erwarten, dass ein input_audio_buffer.speech_stopped
-Ereignis empfangen wird, wenn die Sprachausgabe beendet wird. Die item_id
-Eigenschaft ist die ID des Benutzernachrichtenelements, das beim Beenden der Sprache erstellt wird. Die item_id
ist auch im input_audio_buffer.speech_stopped
-Ereignis enthalten, es sei denn, der Client committet 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss input_audio_buffer.speech_started sein. |
audio_start_ms | integer | Millisekunden vom Anfang aller Audiodaten, die während der Sitzung in den Puffer geschrieben wurden, wenn zum ersten Mal Sprache erkannt wurde. Diese Eigenschaft entspricht dem Anfang der an das Modell gesendeten Audiodaten und enthält somit den in der Sitzung konfigurierten prefix_padding_ms -Wert. |
item_id | Zeichenfolge | Die ID des Benutzernachrichtenelements, das beim Beenden der Sprache erstellt wird. |
RealtimeServerEventInputAudioBufferSpeechStopped
Das Serverereignis input_audio_buffer.speech_stopped
wird im server_vad
-Modus zurückgegeben, wenn der Server das Ende der Sprache im Audiopuffer erkennt.
Der Server sendet außerdem ein conversation.item.created
-Ereignis mit dem Benutzernachrichtenelement, das aus dem Audiopuffer erstellt wurde.
Ereignisstruktur
{
"type": "input_audio_buffer.speech_stopped",
"audio_end_ms": 0,
"item_id": "<item_id>"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss input_audio_buffer.speech_stopped sein. |
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 den in der Sitzung konfigurierten min_silence_duration_ms -Wert. |
item_id | Zeichenfolge | Die ID des erstellten Benutzernachrichtenelements. |
RealtimeServerEventRateLimitsUpdated
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 Ratengrenzwerte spiegeln diese 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss rate_limits.updated sein. |
rate_limits | Array von RealtimeServerEventRateLimitsUpdatedRateLimitsItem | Liste der Informationen zu Ratengrenzwerten |
RealtimeServerEventResponseAudioDelta
Das Serverereignis response.audio.delta
wird zurückgegeben, wenn die vom Modell generierten Audioinhalte aktualisiert werden.
Ereignisstruktur
{
"type": "response.audio.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.audio.delta sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | 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 | Zeichenfolge | Base64-codiertes Audiodatendelta. |
RealtimeServerEventResponseAudioDone
Das Serverereignis response.audio.done
wird zurückgegeben, wenn die vom Modell generierten Audioinhalte fertig sind.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist oder abgebrochen wird.
Ereignisstruktur
{
"type": "response.audio.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.audio.done sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | 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. |
RealtimeServerEventResponseAudioTranscriptDelta
Das Serverereignis response.audio_transcript.delta
wird zurückgegeben, wenn die vom Modell generierte 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.audio_transcript.delta sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | 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 | Zeichenfolge | Das Transkriptdelta. |
RealtimeServerEventResponseAudioTranscriptDone
Das Serverereignis response.audio_transcript.done
wird zurückgegeben, wenn das Streaming der vom Modell generierten Transkription der Audioausgabe abgeschlossen ist.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.audio_transcript.done sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | 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. |
Transkript | Zeichenfolge | Die endgültige Transkription der Audiodaten. |
RealtimeServerEventResponseContentPartAdded
Das Serverereignis response.content_part.added
wird zurückgegeben, wenn während der Antwortgenerierung ein neues Inhaltsteil einem Nachrichtenelement des Assistenten hinzugefügt wird.
Ereignisstruktur
{
"type": "response.content_part.added",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.content_part.added sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | Die ID des Elements, dem der Inhaltsteil hinzugefügt wurde. |
output_index | integer | Der Index des Ausgabeelements in der Antwort. |
content_index | integer | Der Index des Inhaltsteils im Inhaltsarray des Elements. |
part | RealtimeContentPart | Der hinzugefügte Inhaltsteil. |
Teileigenschaften
Feld | type | Beschreibung |
---|---|---|
type | RealtimeContentPartType |
RealtimeServerEventResponseContentPartDone
Das Serverereignis response.content_part.done
wird zurückgegeben, wenn das Streamen eines Inhaltsteils in einem Nachrichtenelement des Assistenten abgeschlossen ist.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist oder abgebrochen wird.
Ereignisstruktur
{
"type": "response.content_part.done",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.content_part.done sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | 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. |
part | RealtimeContentPart | Der fertige Inhaltsteil. |
Teileigenschaften
Feld | type | Beschreibung |
---|---|---|
type | RealtimeContentPartType |
RealtimeServerEventResponseCreated
Das Serverereignis response.created
wird zurückgegeben, wenn eine neue Antwort erstellt wird. Dies ist das erste Ereignis der Antworterstellung, wobei sich die Antwort im Anfangszustand in_progress
befindet.
Ereignisstruktur
{
"type": "response.created"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.created sein. |
automatisieren | RealtimeResponse | Das Antwortobjekt |
RealtimeServerEventResponseDone
Das Serverereignis response.done
wird zurückgegeben, wenn das Streamen einer Antwort abgeschlossen ist. Dieses Ereignis wird immer ausgegeben, unabhängig vom Endzustand. Das Antwortobjekt im response.done
-Ereignis enthält alle Ausgabeelemente in der Antwort, aber nicht die unformatierten Audiodaten.
Ereignisstruktur
{
"type": "response.done"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.done sein. |
automatisieren | RealtimeResponse | Das Antwortobjekt |
RealtimeServerEventResponseFunctionCallArgumentsDelta
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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.function_call_arguments.delta sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | Die ID des Funktionsaufrufelements. |
output_index | integer | Der Index des Ausgabeelements in der Antwort. |
call_id | Zeichenfolge | Die ID des Funktionsaufrufs. |
delta | Zeichenfolge | Das Argumentdelta als JSON-Zeichenfolge. |
RealtimeServerEventResponseFunctionCallArgumentsDone
Das Serverereignis response.function_call_arguments.done
wird zurückgegeben, wenn das Streaming der vom Modell generierten Funktionsaufrufargumente abgeschlossen ist.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.function_call_arguments.done sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | Die ID des Funktionsaufrufelements. |
output_index | integer | Der Index des Ausgabeelements in der Antwort. |
call_id | Zeichenfolge | Die ID des Funktionsaufrufs. |
arguments | Zeichenfolge | Die letzten Argumente als JSON-Zeichenfolge. |
RealtimeServerEventResponseOutputItemAdded
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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.output_item.added sein. |
response_id | Zeichenfolge | 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 |
RealtimeServerEventResponseOutputItemDone
Das Serverereignis response.output_item.done
wird zurückgegeben, wenn das Streamen eines Elements abgeschlossen ist.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist oder abgebrochen wird.
Ereignisstruktur
{
"type": "response.output_item.done",
"response_id": "<response_id>",
"output_index": 0
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.output_item.done sein. |
response_id | Zeichenfolge | Die ID der Antwort, zu der das Element gehört. |
output_index | integer | Der Index des Ausgabeelements in der Antwort. |
item | RealtimeConversationResponseItem | Das fertig gestreamte Element |
RealtimeServerEventResponseTextDelta
Das Serverereignis response.text.delta
wird zurückgegeben, wenn der vom Modell generierte Text aktualisiert wird. Der Text entspricht dem Inhaltsteil text
eines Nachrichtenelements des Assistenten.
Ereignisstruktur
{
"type": "response.text.delta",
"response_id": "<response_id>",
"item_id": "<item_id>",
"output_index": 0,
"content_index": 0,
"delta": "<delta>"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.text.delta sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | 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 | Zeichenfolge | Das Textdelta. |
RealtimeServerEventResponseTextDone
Das Serverereignis response.text.done
wird zurückgegeben, wenn das Streamen des vom Modell generierten Texts abgeschlossen ist. Der Text entspricht dem Inhaltsteil text
eines Nachrichtenelements des Assistenten.
Dieses Ereignis wird auch zurückgegeben, wenn eine Antwort unterbrochen wird, unvollständig ist 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 | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss response.text.done sein. |
response_id | Zeichenfolge | Die ID der Antwort. |
item_id | Zeichenfolge | 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 | Zeichenfolge | Der endgültige Textinhalt. |
RealtimeServerEventSessionCreated
Das Serverereignis session.created
ist das erste Serverereignis, wenn Sie eine neue Verbindung mit der Realtime-API herstellen. Dieses Ereignis erstellt eine neue Sitzung mit der Standardsitzungskonfiguration und gibt sie zurück.
Ereignisstruktur
{
"type": "session.created"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss session.created sein. |
session | RealtimeResponseSession | Das Sitzungsobjekt |
RealtimeServerEventSessionUpdated
Das Serverereignis session.updated
wird zurückgegeben, wenn eine Sitzung vom Client aktualisiert wird. Wenn ein Fehler auftritt, sendet der Server stattdessen ein error
-Ereignis.
Ereignisstruktur
{
"type": "session.updated"
}
Eigenschaften
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Ereignistyp muss session.updated sein. |
session | RealtimeResponseSession | Das Sitzungsobjekt |
Komponenten
RealtimeAudioFormat
Zulässige Werte:
pcm16
g711_ulaw
g711_alaw
RealtimeAudioInputTranscriptionModel
Zulässige Werte:
whisper-1
RealtimeAudioInputTranscriptionSettings
Feld | type | Beschreibung |
---|---|---|
model | RealtimeAudioInputTranscriptionModel | Das Standardmodell whisper-1 ist derzeit das einzige Modell, das für die Transkription von Audioeingaben unterstützt wird. |
RealtimeClientEvent
Feld | type | Beschreibung |
---|---|---|
type | RealtimeClientEventType | Der Typ des Clientereignisses |
event_id | Zeichenfolge | Die eindeutige ID des Ereignisses Der Client kann die ID angeben, damit das Ereignis identifiziert werden kann. |
RealtimeClientEventType
Zulässige Werte:
session.update
input_audio_buffer.append
input_audio_buffer.commit
input_audio_buffer.clear
conversation.item.create
conversation.item.delete
conversation.item.truncate
response.create
response.cancel
RealtimeContentPart
Feld | type | Beschreibung |
---|---|---|
type | RealtimeContentPartType | In dieser Spalte wird der Inhaltstyp angezeigt. Eine Eigenschaft des function -Objekts.Zulässige Werte: input_text , input_audio , item_reference , text . |
Text | Zeichenfolge | Der Textinhalt. Diese Eigenschaft gilt für die Inhaltstypen input_text und text . |
id | Zeichenfolge | ID eines vorherigen Unterhaltungselements, auf das in auf dem Client und auf dem Server erstellten Elementen verwiesen werden soll. Diese Eigenschaft gilt für den Inhaltstyp item_reference in response.create -Ereignissen. |
audio | Zeichenfolge | Die Base64-codierten Audiobytes. Diese Eigenschaft gilt für den Inhaltstyp input_audio . |
Transkript | Zeichenfolge | Die Transkription der Audioinhalte Diese Eigenschaft gilt für den Inhaltstyp input_audio . |
RealtimeContentPartType
Zulässige Werte:
input_text
input_audio
text
audio
RealtimeConversationItemBase
Das Element, das der Unterhaltung hinzugefügt werden soll.
In dieser Tabelle werden alle RealtimeConversationItem
-Eigenschaften beschrieben. Die Eigenschaften, die pro Ereignis anwendbar sind, hängen von RealtimeItemType ab.
Feld | type | Beschreibung |
---|---|---|
id | Zeichenfolge | 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. |
type | RealtimeItemType | Der Typ des Elements Zulässige Werte: message , function_call , function_call_output |
Objekt | Zeichenfolge | Der Bezeichner für das zurückgegebene API-Objekt. Der Wert ist immer realtime.item . |
Status | RealtimeItemStatus | Der Status des Elements. Dieses Feld wirkt sich nicht auf die Unterhaltung aus, wird jedoch für die Konsistenz mit dem conversation.item.created -Ereignis akzeptiert.Zulässige Werte: completed , incomplete . |
role | RealtimeMessageRole | Die Rolle des Absenders oder der Absenderin der Nachricht. Diese Eigenschaft ist nur für message -Elemente anwendbar. Zulässige Werte: system , user , assistant |
content | Array von RealtimeContentPart | Der Inhalt der Nachricht. Diese Eigenschaft ist nur für message -Elemente anwendbar.– Nachrichtenelemente der Rolle system unterstützen nur input_text -Inhalte.– Nachrichtenelemente der Rolle user unterstützen input_text - und input_audio -Inhalte.– Nachrichtenelemente der Rolle assistant unterstützen text -Inhalte. |
call_id | Zeichenfolge | Die ID des Funktionsaufrufs (für function_call - und function_call_output -Elemente). Wenn ein function_call_output -Element übergeben wird, überprüft der Server, ob ein function_call -Element mit derselben ID im Unterhaltungsverlauf vorhanden ist. |
Name | Zeichenfolge | Der Name der aufgerufenen Funktion (für function_call -Elemente). |
arguments | Zeichenfolge | Die Argumente des Funktionsaufrufs (für function_call -Elemente). |
output | Zeichenfolge | Die Ausgabe des Funktionsaufrufs (für function_call_output -Elemente). |
RealtimeConversationRequestItem
Sie verwenden das Objekt RealtimeConversationRequestItem
, um über das Element conversation.item.create ein neues Element in der Unterhaltung zu erstellen.
Feld | type | Beschreibung |
---|---|---|
type | RealtimeItemType | Der Typ des Elements |
id | Zeichenfolge | 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. |
RealtimeConversationResponseItem
Das Objekt RealtimeConversationResponseItem
stellt ein Element in der Unterhaltung dar. Es wird in einigen der Serverereignisse verwendet, z. B.:
- conversation.item.created
- response.output_item.added
- response.output_item.done
-
response.created
(über die Eigenschaftresponse
mit dem TypRealtimeResponse
) -
response.done
(über die Eigenschaftresponse
mit dem TypRealtimeResponse
)
Feld | type | Beschreibung |
---|---|---|
Objekt | Zeichenfolge | Der Bezeichner für das zurückgegebene API-Objekt. Zulässige Werte: realtime.item |
type | RealtimeItemType | Der Typ des Elements Zulässige Werte: message , function_call , function_call_output |
id | Zeichenfolge | 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. Diese Eigenschaft lässt Nullwerte zu. |
RealtimeFunctionTool
Die Definition eines Funktionstools, wie es vom Echtzeitendpunkt verwendet wird.
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Tools. Zulässige Werte: function |
Name | Zeichenfolge | Der Name der Funktion. |
Beschreibung | Zeichenfolge | Die Beschreibung der Funktion, einschließlich Verwendungsrichtlinien. Beispiel: „Mit dieser Funktion rufen Sie die aktuelle Zeit ab.“ |
parameters | Objekt | Die Parameter der Funktion in Form eines JSON-Objekts. |
RealtimeItemStatus
Zulässige Werte:
in_progress
completed
incomplete
RealtimeItemType
Zulässige Werte:
message
function_call
function_call_output
RealtimeMessageRole
Zulässige Werte:
system
user
assistant
RealtimeRequestAssistantMessageItem
Feld | type | Beschreibung |
---|---|---|
role | Zeichenfolge | Die Rolle der Nachricht Zulässige Werte: assistant |
content | Array von RealtimeRequestTextContentPart | Der Inhalt der Nachricht. |
RealtimeRequestAudioContentPart
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Inhaltsteils Zulässige Werte: input_audio |
Transkript | Zeichenfolge | Die Transkription der Audioinhalte |
RealtimeRequestFunctionCallItem
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Elements Zulässige Werte: function_call |
Name | Zeichenfolge | Der Name des Funktionsaufrufelements |
call_id | Zeichenfolge | Die ID des Funktionsaufrufelements. |
arguments | Zeichenfolge | Die Argumente des Funktionsaufrufelements |
Status | RealtimeItemStatus | Der Status des Elements. |
RealtimeRequestFunctionCallOutputItem
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Elements Zulässige Werte: function_call_output |
call_id | Zeichenfolge | Die ID des Funktionsaufrufelements. |
output | Zeichenfolge | Die Ausgabe des Funktionsaufrufelements |
RealtimeRequestMessageItem
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Elements Zulässige Werte: message |
role | RealtimeMessageRole | Die Rolle der Nachricht |
Status | RealtimeItemStatus | Der Status des Elements. |
RealtimeRequestMessageReferenceItem
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Elements Zulässige Werte: message |
id | Zeichenfolge | Die Kennung des Nachrichtenelements. |
RealtimeRequestSession
Sie verwenden das Objekt RealtimeRequestSession
, wenn Sie die Sitzungskonfiguration über das Ereignis session.update aktualisieren möchten.
Feld | type | Beschreibung |
---|---|---|
modalities | array | Die von der Sitzung unterstützten Modi. Zulässige Werte: text , audio .Die Standardeinstellung "modalities": ["text", "audio"] aktiviert sowohl Text- als auch Audiomodi. Legen Sie "modalities": ["text"] fest, um nur Text zu aktivieren. Nur Audio kann nicht aktiviert werden. |
Setup | Zeichenfolge | Die Anweisungen (die Systemmeldung) für die Text- und Audioantworten des Modells. Im Folgenden finden Sie einige Beispielanweisungen, mit denen Sie den Inhalt und das Format von Text- und Audioantworten festlegen können: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Im Folgenden finden Sie einige Beispielanweisungen zur Steuerung des Audioverhaltens: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Auch wenn das Modell diese Anweisungen möglicherweise nicht immer befolgt, stellen sie Leitfäden für das gewünschte Verhalten dar. |
voice | RealtimeVoice | Die für die Modellantwort in dieser Sitzung verwendete Stimme. Nachdem die Stimme in der Sitzung für eine Audioantwort des Modells verwendet wurde, kann sie nicht mehr geändert werden. |
input_audio_format | RealtimeAudioFormat | Das Format für die Eingabeaudioinhalte |
output_audio_format | RealtimeAudioFormat | Das Format für die Ausgabeaudioinhalte |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Die Einstellungen für die Audioeingabetranskription Diese Eigenschaft lässt Nullwerte zu. |
turn_detection | RealtimeTurnDetection | Die Einstellungen zur Erkennung von Sprecherwechseln für die Sitzung Diese Eigenschaft lässt Nullwerte zu. |
tools | Array von RealtimeTool | Die in der Sitzung für das Modell verfügbaren Tools |
Toolauswahl | 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 | Zahl | Die Temperatur für die Stichprobenentnahme 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 | Integer oder „inf“ | Die maximale Anzahl von Ausgabetoken pro Assistentenantwort, einschließlich Toolaufrufen. Geben Sie eine ganze Zahl zwischen 1 und 4.096 an, um die Anzahl Ausgabetoken einzuschränken. Legen Sie andernfalls den Wert auf „inf“ fest, um die maximale Anzahl Token zuzulassen. Legen Sie beispielsweise "max_response_output_tokens": 1000 fest, um die Anzahl Ausgabetoken auf 1.000 zu beschränken. Legen Sie "max_response_output_tokens": "inf" fest, um die maximale Anzahl Token zuzulassen.Wird standardmäßig auf "inf" festgelegt. |
RealtimeRequestSystemMessageItem
Feld | type | Beschreibung |
---|---|---|
role | Zeichenfolge | Die Rolle der Nachricht Zulässige Werte: system |
content | Array von RealtimeRequestTextContentPart | Der Inhalt der Nachricht. |
RealtimeRequestTextContentPart
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Inhaltsteils Zulässige Werte: input_text |
Text | Zeichenfolge | Der Textinhalt. |
RealtimeRequestUserMessageItem
Feld | type | Beschreibung |
---|---|---|
role | Zeichenfolge | Die Rolle der Nachricht Zulässige Werte: user |
content | Array von RealtimeRequestTextContentPart oder RealtimeRequestAudioContentPart | Der Inhalt der Nachricht. |
RealtimeResponse
Feld | type | Beschreibung |
---|---|---|
Objekt | Zeichenfolge | Das Antwortobjekt Zulässige Werte: realtime.response |
id | Zeichenfolge | Die eindeutige ID der Antwort |
Status | RealtimeResponseStatus | Der Status der Antwort. Der Standardstatus ist in_progress . |
status_details | RealtimeResponseStatusDetails | Die Details des Antwortstatus Diese Eigenschaft lässt Nullwerte zu. |
output | Array von RealtimeConversationResponseItem | Die Ausgabeelemente der Antwort |
Nutzung | Objekt | Nutzungsstatistiken für die Antwort Jede Realtime-API-Sitzung verwaltet einen Unterhaltungskontext und fügt neue Elemente an die Unterhaltung an. Die Ausgabe vorheriger Sprecherwechsel (Text- und Audiotoken) ist eine Eingabe für spätere Turns. Siehe geschachtelte Eigenschaften. |
+ total_tokens | integer | Die Gesamtanzahl der Token in der Antwort, einschließlich Ein- und Ausgabetext und Audiotoken Eine Eigenschaft des usage -Objekts. |
+ input_tokens | integer | Die Anzahl der in der Antwort verwendeten Eingabetoken, einschließlich Text- und Audiotoken Eine Eigenschaft des usage -Objekts. |
+ output_tokens | integer | Die Anzahl der in der Antwort gesendeten Ausgabetoken, einschließlich Text- und Audiotoken Eine Eigenschaft des usage -Objekts. |
+ input_token_details | Objekt | Details zu den in der Antwort verwendeten Eingabetoken Eine Eigenschaft des usage -Objekts.br> Siehe geschachtelte Eigenschaften. |
+ cached_tokens | integer | Die Anzahl der in der Antwort verwendeten zwischengespeicherten Token Eine Eigenschaft des input_token_details -Objekts. |
+ text_tokens | integer | Die Anzahl der in der Antwort verwendeten Texttoken Eine Eigenschaft des input_token_details -Objekts. |
+ audio_tokens | integer | Die Anzahl der in der Antwort verwendeten Audiotoken Eine Eigenschaft des input_token_details -Objekts. |
+ output_token_details | Objekt | Details zu den in der Antwort verwendeten Ausgabetoken Eine Eigenschaft des usage -Objekts.Siehe geschachtelte Eigenschaften. |
+ text_tokens | integer | Die Anzahl der in der Antwort verwendeten Texttoken Eine Eigenschaft des output_token_details -Objekts. |
+ audio_tokens | integer | Die Anzahl der in der Antwort verwendeten Audiotoken Eine Eigenschaft des output_token_details -Objekts. |
RealtimeResponseAudioContentPart
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Inhaltsteils Zulässige Werte: audio |
Transkript | Zeichenfolge | Die Transkription der Audioinhalte Diese Eigenschaft lässt Nullwerte zu. |
RealtimeResponseBase
Die Antwortressource.
RealtimeResponseFunctionCallItem
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Elements Zulässige Werte: function_call |
Name | Zeichenfolge | Der Name des Funktionsaufrufelements |
call_id | Zeichenfolge | Die ID des Funktionsaufrufelements. |
arguments | Zeichenfolge | Die Argumente des Funktionsaufrufelements |
Status | RealtimeItemStatus | Der Status des Elements. |
RealtimeResponseFunctionCallOutputItem
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Elements Zulässige Werte: function_call_output |
call_id | Zeichenfolge | Die ID des Funktionsaufrufelements. |
output | Zeichenfolge | Die Ausgabe des Funktionsaufrufelements |
RealtimeResponseMessageItem
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Elements Zulässige Werte: message |
role | RealtimeMessageRole | Die Rolle der Nachricht |
content | array | Der Inhalt der Nachricht. Arrayelemente: RealtimeResponseTextContentPart |
Status | RealtimeItemStatus | Der Status des Elements. |
RealtimeResponseOptions
Feld | type | Beschreibung |
---|---|---|
modalities | array | Die von der Sitzung unterstützten Modi. Zulässige Werte: text , audio .Die Standardeinstellung "modalities": ["text", "audio"] aktiviert sowohl Text- als auch Audiomodi. Legen Sie "modalities": ["text"] fest, um nur Text zu aktivieren. Nur Audio kann nicht aktiviert werden. |
Setup | Zeichenfolge | Die Anweisungen (die Systemmeldung) für die Text- und Audioantworten des Modells. Im Folgenden finden Sie einige Beispielanweisungen, mit denen Sie den Inhalt und das Format von Text- und Audioantworten festlegen können: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Im Folgenden finden Sie einige Beispielanweisungen zur Steuerung des Audioverhaltens: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Auch wenn das Modell diese Anweisungen möglicherweise nicht immer befolgt, stellen sie Leitfäden für das gewünschte Verhalten dar. |
voice | RealtimeVoice | Die für die Modellantwort in dieser Sitzung verwendete Stimme. Nachdem die Stimme in der Sitzung für eine Audioantwort des Modells verwendet wurde, kann sie nicht mehr geändert werden. |
output_audio_format | RealtimeAudioFormat | Das Format für die Ausgabeaudioinhalte |
tools | Array von RealtimeTool | Die in der Sitzung für das Modell verfügbaren Tools |
Toolauswahl | RealtimeToolChoice | Die Toolauswahl für die Sitzung |
Temperatur | Zahl | Die Temperatur für die Stichprobenentnahme für das Modell. Die zulässigen Temperaturwerte sind auf [0,6, 1,2] beschränkt. Der Standardwert ist 0,8. |
max__output_tokens | Integer oder „inf“ | Die maximale Anzahl von Ausgabetoken pro Assistentenantwort, einschließlich Toolaufrufen. Geben Sie eine ganze Zahl zwischen 1 und 4.096 an, um die Anzahl Ausgabetoken einzuschränken. Legen Sie andernfalls den Wert auf „inf“ fest, um die maximale Anzahl Token zuzulassen. Legen Sie beispielsweise "max_response_output_tokens": 1000 fest, um die Anzahl Ausgabetoken auf 1.000 zu beschränken. Legen Sie "max_response_output_tokens": "inf" fest, um die maximale Anzahl Token zuzulassen.Wird standardmäßig auf "inf" festgelegt. |
Konversation (conversation) | Zeichenfolge | Steuert, zu welcher Unterhaltung die Antwort hinzugefügt wird. Unterstützte Werte sind auto und none .Der Wert auto (oder wenn diese Eigenschaft nicht festgelegt wird) stellt sicher, dass der Inhalt der Antwort zur Standardunterhaltung der Sitzung hinzugefügt wird.Legen Sie diese Eigenschaft auf none fest, um eine Out-of-Band-Antwort zu erstellen, deren Elemente nicht zur Standardunterhaltung hinzugefügt werden. Weitere Informationen finden Sie in der Schrittanleitung.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" } |
input | array | Geben Sie Elemente ein, die in den Prompt für das Modell aufgenommen werden sollen. Erstellt einen neuen Kontext für diese Antwort, ohne die Standardunterhaltung einzubeziehen. Kann Verweise auf Elemente aus der Standardunterhaltung enthalten. Arrayelemente: RealtimeConversationItemBase |
RealtimeResponseSession
Das Objekt RealtimeResponseSession
stellt eine Sitzung in der Echtzeit-API dar. Es wird in einigen der Serverereignisse verwendet, z. B.:
Feld | type | Beschreibung |
---|---|---|
Objekt | Zeichenfolge | Das Sitzungsobjekt Zulässige Werte: realtime.session |
id | Zeichenfolge | Die eindeutige ID der Sitzung |
model | Zeichenfolge | Das für die Sitzung verwendete Modell |
modalities | array | Die von der Sitzung unterstützten Modi. Zulässige Werte: text , audio .Die Standardeinstellung "modalities": ["text", "audio"] aktiviert sowohl Text- als auch Audiomodi. Legen Sie "modalities": ["text"] fest, um nur Text zu aktivieren. Nur Audio kann nicht aktiviert werden. |
Setup | Zeichenfolge | Die Anweisungen (die Systemmeldung) für die Text- und Audioantworten des Modells. Im Folgenden finden Sie einige Beispielanweisungen, mit denen Sie den Inhalt und das Format von Text- und Audioantworten festlegen können: "instructions": "be succinct" "instructions": "act friendly" "instructions": "here are examples of good responses" Im Folgenden finden Sie einige Beispielanweisungen zur Steuerung des Audioverhaltens: "instructions": "talk quickly" "instructions": "inject emotion into your voice" "instructions": "laugh frequently" Auch wenn das Modell diese Anweisungen möglicherweise nicht immer befolgt, stellen sie Leitfäden für das gewünschte Verhalten dar. |
voice | RealtimeVoice | Die für die Modellantwort in dieser Sitzung verwendete Stimme. Nachdem die Stimme in der Sitzung für eine Audioantwort des Modells verwendet wurde, kann sie nicht mehr geändert werden. |
input_audio_format | RealtimeAudioFormat | Das Format für die Eingabeaudioinhalte |
output_audio_format | RealtimeAudioFormat | Das Format für die Ausgabeaudioinhalte |
input_audio_transcription | RealtimeAudioInputTranscriptionSettings | Die Einstellungen für die Audioeingabetranskription Diese Eigenschaft lässt Nullwerte zu. |
turn_detection | RealtimeTurnDetection | Die Einstellungen zur Erkennung von Sprecherwechseln für die Sitzung Diese Eigenschaft lässt Nullwerte zu. |
tools | Array von RealtimeTool | Die in der Sitzung für das Modell verfügbaren Tools |
Toolauswahl | RealtimeToolChoice | Die Toolauswahl für die Sitzung |
Temperatur | Zahl | Die Temperatur für die Stichprobenentnahme 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 | Integer oder „inf“ | Die maximale Anzahl von Ausgabetoken pro Assistentenantwort, einschließlich Toolaufrufen. Geben Sie eine ganze Zahl zwischen 1 und 4.096 an, um die Anzahl Ausgabetoken einzuschränken. Legen Sie andernfalls den Wert auf „inf“ fest, um die maximale Anzahl Token zuzulassen. Legen Sie beispielsweise "max_response_output_tokens": 1000 fest, um die Anzahl Ausgabetoken auf 1.000 zu beschränken. Legen Sie "max_response_output_tokens": "inf" fest, um die maximale Anzahl Token zuzulassen. |
RealtimeResponseStatus
Zulässige Werte:
in_progress
completed
cancelled
incomplete
failed
RealtimeResponseStatusDetails
Feld | type | Beschreibung |
---|---|---|
type | RealtimeResponseStatus | Der Status der Antwort. |
RealtimeResponseTextContentPart
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des Inhaltsteils Zulässige Werte: text |
Text | Zeichenfolge | Der Textinhalt. |
RealtimeServerEvent
Feld | type | Beschreibung |
---|---|---|
type | RealtimeServerEventType | Der Typ des Serverereignisses |
event_id | Zeichenfolge | Die eindeutige ID des Serverereignisses. |
RealtimeServerEventRateLimitsUpdatedRateLimitsItem
Feld | type | BESCHREIBUNG |
---|---|---|
name | Zeichenfolge | Der Name der Ratenlimiteigenschaft, zu der dieses Element Informationen enthält. |
limit | integer | Der maximale konfigurierte Grenzwert für diese Ratenlimiteigenschaft. |
verbleibend | integer | Das verbleibende Kontingent im Bezug auf das konfigurierte Limit für diese Ratenlimiteigenschaft. |
reset_seconds | Zahl | Die verbleibende Zeit in Sekunden, bis diese Ratenlimiteigenschaft zurückgesetzt wird. |
RealtimeServerEventType
Zulässige Werte:
session.created
session.updated
conversation.created
conversation.item.created
conversation.item.deleted
conversation.item.truncated
response.created
response.done
rate_limits.updated
response.output_item.added
response.output_item.done
response.content_part.added
response.content_part.done
response.audio.delta
response.audio.done
response.audio_transcript.delta
response.audio_transcript.done
response.text.delta
response.text.done
response.function_call_arguments.delta
response.function_call_arguments.done
input_audio_buffer.speech_started
input_audio_buffer.speech_stopped
conversation.item.input_audio_transcription.completed
conversation.item.input_audio_transcription.failed
input_audio_buffer.committed
input_audio_buffer.cleared
error
RealtimeServerVadTurnDetection
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ der Sprecherwechselerkennung Zulässige Werte: server_vad |
threshold | Zahl | Der Aktivierungsschwellenwert für die Server-VAD-Erkennung von Sprecherwechseln In lauten Umgebungen müssen Sie möglicherweise den Schwellenwert erhöhen, um falsch positive Ergebnisse zu vermeiden. In ruhigen Umgebungen müssen Sie möglicherweise den Schwellenwert verringern, um falsch negative Ergebnisse zu vermeiden. Wird standardmäßig auf 0.5 festgelegt. Sie können den Schwellenwert auf einen Wert zwischen 0.0 und 1.0 festlegen. |
prefix_padding_ms | Zeichenfolge | Die Dauer von Sprachaudioinhalten (in Millisekunden), die vor dem Start der erkannten Sprache eingeschlossen werden soll Wird standardmäßig auf 300 festgelegt. |
silence_duration_ms | Zeichenfolge | Die Dauer der Stille (in Millisekunden), um das Ende von Sprache zu erkennen. Sie sollten das Ende der Sprache so schnell wie möglich erkennen, aber nicht zu früh, da andernfalls der letzte Teil der Sprache abgeschnitten wird. Das Modell reagiert schneller, wenn Sie diesen Wert auf eine niedrigere Zahl festlegen, eventuell wird dann aber der letzte Teil der Sprache abgeschnitten. Wenn Sie diesen Wert auf eine höhere Zahl festlegen, wartet das Modell länger, bevor das Ende der Sprach erkannt wird. Dies verlängert aber auch die Zeit bis zu einer Antwort. |
RealtimeSessionBase
Objektkonfiguration der Echtzeitsitzung.
RealtimeTool
Die Basisdarstellung einer Echtzeittooldefinition.
Feld | type | Beschreibung |
---|---|---|
type | RealtimeToolType | Der Typ des Tools. |
RealtimeToolChoice
Der kombinierte Satz verfügbarer Darstellungen für einen tool_choice
-Echtzeitparameter. Dies schließt sowohl Optionen für Zeichenfolgenliterale wie „auto“ als auch strukturierte Verweise auf definierte Tools ein.
RealtimeToolChoiceFunctionObject
Eine Darstellung von Echtzeit-tool_choice
zur Auswahl eines benannten Funktionstool.
Feld | type | Beschreibung |
---|---|---|
type | Zeichenfolge | Der Typ des tool_choice .Zulässige Werte: function |
Funktion | Objekt | Das auszuwählende Funktionstool Siehe geschachtelte Eigenschaften. |
+ name | Zeichenfolge | Der Name des Funktionstools Eine Eigenschaft des function -Objekts. |
RealtimeToolChoiceLiteral
Der verfügbare Satz von tool_choice
-Optionen für Zeichenfolgenliterale auf Modusebene für den Echtzeitendpunkt.
Zulässige Werte:
auto
none
required
RealtimeToolChoiceObject
Eine Basisdarstellung für Echtzeit-tool_choice
zur Auswahl eines benannten Funktionstools.
Feld | type | Beschreibung |
---|---|---|
type | RealtimeToolType | Der Typ des tool_choice . |
RealtimeToolType
Die unterstützten Tooltypdiskriminatoren für Echtzeittools. Zurzeit werden nur „function“-Tools unterstützt.
Zulässige Werte:
function
RealtimeTurnDetection
Feld | type | Beschreibung |
---|---|---|
type | RealtimeTurnDetectionType | Der Typ der Sprecherwechselerkennung Zulässige Werte: server_vad |
threshold | Zahl | Der Aktivierungsschwellenwert für die Server-VAD-Erkennung von Sprecherwechseln In lauten Umgebungen müssen Sie möglicherweise den Schwellenwert erhöhen, um falsch positive Ergebnisse zu vermeiden. In ruhigen Umgebungen müssen Sie möglicherweise den Schwellenwert verringern, um falsch negative Ergebnisse zu vermeiden. Wird standardmäßig auf 0.5 festgelegt. Sie können den Schwellenwert auf einen Wert zwischen 0.0 und 1.0 festlegen. |
prefix_padding_ms | Zeichenfolge | Die Dauer von Sprachaudioinhalten (in Millisekunden), die vor dem Start der erkannten Sprache eingeschlossen werden soll Der Standardwert ist 300 Millisekunden. |
silence_duration_ms | Zeichenfolge | Die Dauer der Stille (in Millisekunden), um das Ende von Sprache zu erkennen. Sie sollten das Ende der Sprache so schnell wie möglich erkennen, aber nicht zu früh, da andernfalls der letzte Teil der Sprache abgeschnitten wird. Das Modell reagiert schneller, wenn Sie diesen Wert auf eine niedrigere Zahl festlegen, eventuell wird dann aber der letzte Teil der Sprache abgeschnitten. Wenn Sie diesen Wert auf eine höhere Zahl festlegen, wartet das Modell länger, bevor das Ende der Sprach erkannt wird. Dies verlängert aber auch die Zeit bis zu einer Antwort. Der Standardwert ist 500 Millisekunden. |
create_response | boolean | Gibt an, ob der Server automatisch eine Antwort erstellt, wenn VAD aktiviert ist und das Sprechen endet. Wird standardmäßig auf true festgelegt. |
RealtimeTurnDetectionType
Zulässige Werte:
server_vad
RealtimeVoice
Zulässige Werte:
alloy
ash
ballad
coral
echo
sage
shimmer
verse
Zugehöriger Inhalt
- Informationen zu ersten Schritten finden Sie im Schnellstart zur Realtime-API.
- Weitere Informationen finden Sie unter Verwenden der Realtime-API.