Udostępnij przez


Dokumentacja interfejsu API głosu na żywo

Interfejs API głosu na żywo zapewnia komunikację dwukierunkową w czasie rzeczywistym dla aplikacji obsługujących głos przy użyciu połączeń Protokołu WebSocket. Ten interfejs API obsługuje zaawansowane funkcje, w tym rozpoznawanie mowy, syntezę tekstu na mowę, przesyłanie strumieniowe awatarów, dane animacji i kompleksowe możliwości przetwarzania dźwięku.

Interfejs API używa zdarzeń sformatowanych w formacie JSON wysyłanych za pośrednictwem połączeń Protokołu WebSocket do zarządzania konwersacjami, strumieniami audio, interakcjami awatara i odpowiedziami w czasie rzeczywistym. Zdarzenia są podzielone na kategorie zdarzeń klienta (wysyłanych z klienta do serwera) i zdarzeń serwera (wysyłanych z serwera do klienta).

Najważniejsze funkcje    

  • Przetwarzanie audio w czasie rzeczywistym: obsługa wielu formatów audio, w tym PCM16 z różnymi szybkościami próbkowania i koderami G.711
  • Zaawansowane opcje głosowe: głosy OpenAI, niestandardowe głosy platformy Azure, standardowe głosy platformy Azure i osobiste głosy platformy Azure
  • Integracja awatara: przesyłanie strumieniowe awatara opartego na protokole WebRTC za pomocą wideo, animacji i blendshapes
  • Wykrywanie inteligentnego turnu: wiele opcji vaD, w tym semantyczne wykrywanie vaD platformy Azure i wykrywanie po stronie serwera
  • Ulepszenia dźwięku: wbudowana redukcja szumu i anulowanie echa
  • Wywoływanie funkcji: integracja narzędzi w celu uzyskania rozszerzonych możliwości konwersacyjnych
  • Elastyczne zarządzanie sesjami: konfigurowalne modalności, instrukcje i parametry odpowiedzi

Zdarzenia klienta

Interfejs API voice live obsługuje następujące zdarzenia klienta, które można wysyłać z klienta do serwera:

Event Description
session.update Aktualizowanie konfiguracji sesji, w tym połączeń głosowych, modalności, wykrywania obrotu i innych ustawień
session.avatar.connect Nawiązywanie połączenia awatara przez zapewnienie protokołu SDP klienta na potrzeby negocjacji webRTC
input_audio_buffer.append Dołączanie bajtów audio do wejściowego buforu audio
input_audio_buffer.commit Zatwierdzanie wejściowego buforu audio na potrzeby przetwarzania
input_audio_buffer.clear Czyszczenie wejściowego buforu audio
conversation.item.create Dodawanie nowego elementu do kontekstu konwersacji
conversation.item.retrieve Pobieranie określonego elementu z konwersacji
conversation.item.truncate Obcięcie komunikatu dźwiękowego asystenta
conversation.item.delete Usuwanie elementu z konwersacji
response.create Poinstruuj serwer, aby utworzył odpowiedź za pomocą wnioskowania modelu
response.cancel Anulowanie odpowiedzi w toku
mcp_approval_response Wysyłanie zatwierdzenia lub odrzucenia dla wywołania narzędzia MCP, które wymaga zatwierdzenia

session.update

Zaktualizuj konfigurację sesji. To zdarzenie można wysłać w dowolnym momencie, aby zmodyfikować ustawienia, takie jak głos, modalność, wykrywanie kolei, narzędzia i inne parametry sesji. Należy pamiętać, że po zainicjowaniu sesji przy użyciu określonego modelu nie można go zmienić na inny model.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "session.update"
sesja RealtimeRequestSession Obiekt konfiguracji sesji z polami do aktualizacji

Przykład z usługą Azure Custom Voice

{
  "type": "session.update",
  "session": {
    "voice": {
      "type": "azure-custom",
      "name": "my-custom-voice",
      "endpoint_id": "12345678-1234-1234-1234-123456789012",
      "temperature": 0.7,
      "style": "cheerful"
    },
    "input_audio_noise_reduction": {
      "type": "azure_deep_noise_suppression"
    },
    "avatar": {
      "character": "lisa",
      "customized": false,
      "video": {
        "resolution": {
          "width": 1920,
          "height": 1080
        },
        "bitrate": 2000000
      }
    }
  }
}

session.avatar.connect

Ustanów połączenie awatara, podając ofertę protokołu SDP (Session Description Protocol) klienta na potrzeby negocjacji multimediów WebRTC. To zdarzenie jest wymagane w przypadku korzystania z funkcji awatara.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "session.avatar.connect"
client_sdp ciąg Oferta SDP klienta dla ustanowienia połączenia WebRTC

input_audio_buffer.append

Dołącz bajty audio do wejściowego buforu audio.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "input_audio_buffer.append"
audio ciąg Dane audio zakodowane w formacie Base64

input_audio_buffer.commit

Zatwierdź wejściowy bufor audio na potrzeby przetwarzania.

Struktura zdarzeń

{
  "type": "input_audio_buffer.commit"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "input_audio_buffer.commit"

input_audio_buffer.clear

Wyczyść wejściowy bufor audio.

Struktura zdarzeń

{
  "type": "input_audio_buffer.clear"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "input_audio_buffer.clear"

conversation.item.create

Dodaj nowy element do kontekstu konwersacji. Może to obejmować komunikaty, wywołania funkcji i odpowiedzi wywołania funkcji. Elementy można wstawić na określonych pozycjach w historii konwersacji.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "conversation.item.create"
previous_item_id ciąg Opcjonalny. Identyfikator elementu, po którym ma być wstawiony ten element. Jeśli nie zostanie podana, dołącza do końca
element RealtimeConversationRequestItem Element do dodania do konwersacji

Przykład z zawartością audio

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

Przykład z wywołaniem funkcji

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

Przykład z wywołaniem MCP

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

Pobierz określony element z historii konwersacji. Jest to przydatne do sprawdzania przetworzonego dźwięku po anulowaniu szumu i vaD.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "conversation.item.retrieve"
item_id ciąg Identyfikator elementu do pobrania

conversation.item.truncate

Obcięcie zawartości audio komunikatu asystenta. Jest to przydatne w przypadku zatrzymywania odtwarzania w określonym punkcie i synchronizowania zrozumienia serwera ze stanem klienta.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "conversation.item.truncate"
item_id ciąg Identyfikator elementu komunikatu asystenta do obcinania
content_index liczba całkowita Indeks części zawartości do obcinania
audio_end_ms liczba całkowita Czas trwania, do którego należy obcinać dźwięk w milisekundach

conversation.item.delete

Usuń element z historii konwersacji.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "conversation.item.delete"
item_id ciąg Identyfikator elementu do usunięcia

response.create

Poinstruuj serwer, aby utworzył odpowiedź za pomocą wnioskowania modelu. To zdarzenie może określać konfigurację specyficzną dla odpowiedzi, która zastępuje wartości domyślne sesji.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.create"
response RealtimeResponseOptions Opcjonalna konfiguracja odpowiedzi, która zastępuje wartości domyślne sesji

Przykład z wyborem narzędzi

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

Przykład z animacją

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

Anuluj odpowiedź w toku. Spowoduje to natychmiastowe zatrzymanie generowania odpowiedzi i powiązanych danych wyjściowych dźwięku.

Struktura zdarzeń

{
  "type": "response.cancel"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.cancel"

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.retrieve.
item_id ciąg Identyfikator elementu do pobrania.
event_id ciąg Identyfikator zdarzenia.

RealtimeClientEventConversationItemTruncate

Zdarzenie klienta conversation.item.truncate służy do obcinania dźwięku poprzedniego asystenta. Serwer generuje dźwięk szybciej niż w czasie rzeczywistym, więc to zdarzenie jest przydatne, gdy użytkownik przerywa obcięcie dźwięku, który został wysłany do klienta, ale nie został jeszcze odtwarzany. Informacje o dźwięku serwera z odtwarzaniem klienta są synchronizowane.

Obcięcie dźwięku usuwa transkrypcję tekstu po stronie serwera, aby upewnić się, że nie ma tekstu w kontekście, o którego użytkownik nie wie.

Jeśli zdarzenie klienta zakończy się pomyślnie, serwer odpowie zdarzeniem conversation.item.truncated .

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.truncate.
item_id ciąg Identyfikator elementu komunikatu asystenta do obcinania. Można obcinać tylko elementy komunikatów asystenta.
content_index liczba całkowita Indeks części zawartości do obcinania. Ustaw tę właściwość na wartość "0".
audio_end_ms liczba całkowita Czas trwania włącznie, do którego dźwięk jest obcięty, w milisekundach. Jeśli audio_end_ms jest większy niż rzeczywisty czas trwania dźwięku, serwer odpowiada z powodu błędu.

RealtimeClientEventInputAudioBufferAppend

Zdarzenie klienta input_audio_buffer.append służy do dołączania bajtów audio do wejściowego buforu audio. Bufor audio jest magazynem tymczasowym, do którego można zapisywać dane, a następnie zatwierdzać.

W trybie vaD serwera (wykrywanie aktywności głosowej) bufor audio jest używany do wykrywania mowy, a serwer decyduje, kiedy zatwierdzić. Gdy funkcja VAD serwera jest wyłączona, klient może wybrać ilość dźwięku do umieszczenia w każdym zdarzeń maksymalnie 15 MiB. Na przykład przesyłanie strumieniowe mniejszych fragmentów z klienta może umożliwić dynamiczne działanie vaD.

W przeciwieństwie do większości innych zdarzeń klienta serwer nie wysyła odpowiedzi potwierdzenia na zdarzenie klienta input_audio_buffer.append .

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.append.
audio ciąg Bajty audio zakodowane w formacie Base64. Ta wartość musi być w formacie określonym przez input_audio_format pole w konfiguracji sesji.

RealtimeClientEventInputAudioBufferClear

Zdarzenie klienta input_audio_buffer.clear służy do czyszczenia bajtów audio w buforze.

Serwer odpowiada za pomocą input_audio_buffer.cleared zdarzenia.

Struktura zdarzeń

{
  "type": "input_audio_buffer.clear"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.clear.

RealtimeClientEventInputAudioBufferCommit

Zdarzenie klienta input_audio_buffer.commit służy do zatwierdzania buforu audio wejściowego użytkownika, który tworzy nowy element wiadomości użytkownika w konwersacji. Dźwięk jest transkrypcji, jeśli input_audio_transcription jest skonfigurowany dla sesji.

W trybie vaD serwera klient nie musi wysyłać tego zdarzenia, serwer zatwierdza bufor audio automatycznie. Bez funkcji VAD serwera klient musi zatwierdzić bufor audio, aby utworzyć element komunikatu użytkownika. To zdarzenie klienta generuje błąd, jeśli wejściowy bufor audio jest pusty.

Zatwierdzenie wejściowego buforu audio nie powoduje utworzenia odpowiedzi na podstawie modelu.

Serwer odpowiada za pomocą input_audio_buffer.committed zdarzenia.

Struktura zdarzeń

{
  "type": "input_audio_buffer.commit"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.commit.

RealtimeClientEventResponseCancel

Zdarzenie klienta response.cancel służy do anulowania odpowiedzi w toku.

Serwer odpowie zdarzeniem response.done o stanie response.status=cancelled.

Struktura zdarzeń

{
  "type": "response.cancel"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.cancel.

RealtimeClientEventResponseCreate

Zdarzenie klienta response.create służy do poinstruowania serwera o utworzeniu odpowiedzi za pośrednictwem wnioskowania modelu. Po skonfigurowaniu sesji w trybie vaD serwera serwer automatycznie tworzy odpowiedzi.

Odpowiedź zawiera co najmniej jeden itemelement i może mieć dwa, w tym przypadku drugie jest wywołaniem funkcji. Te elementy są dołączane do historii konwersacji.

Serwer odpowiada za pomocą response.created zdarzenia, co najmniej jednego elementu i zdarzeń zawartości (takich jak conversation.item.created i response.content_part.added), a na koniec response.done zdarzenie wskazujące, że odpowiedź została ukończona.

Struktura zdarzeń

{
  "type": "response.create"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.create.
response RealtimeResponseOptions Opcje odpowiedzi.

RealtimeClientEventSessionUpdate

Zdarzenie klienta session.update służy do aktualizowania domyślnej konfiguracji sesji. Klient może wysłać to zdarzenie w dowolnym momencie, aby zaktualizować konfigurację sesji, a dowolne pole można zaktualizować w dowolnym momencie, z wyjątkiem głosu.

Aktualizowane są tylko bieżące pola. Aby wyczyścić pole (takie jak instructions), przekaż pusty ciąg.

Serwer odpowiada zdarzeniem zawierającym pełną efektywną session.updated konfigurację.

Struktura zdarzeń

{
  "type": "session.update"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość session.update.
sesja RealtimeRequestSession Konfiguracja sesji.

Zdarzenia serwera

Interfejs API na żywo voice wysyła następujące zdarzenia serwera w celu komunikowania stanu, odpowiedzi i danych do klienta:

Event Description
błąd Wskazuje, że wystąpił błąd podczas przetwarzania
session.created Wysłane po pomyślnym ustanowieniu nowej sesji
session.updated Wysłane po zaktualizowaniu konfiguracji sesji
session.avatar.connecting Wskazuje, że trwa nawiązywanie połączenia awatara WebRTC
conversation.item.created Wysłane po dodaniu nowego elementu do konwersacji
conversation.item.retrieved Odpowiedź na żądanie conversation.item.retrieve
conversation.item.obcięty Potwierdza obcięcie elementu
conversation.item.deleted Potwierdza usunięcie elementu
conversation.item.input_audio_transcription.completed Transkrypcja dźwięku wejściowego została ukończona
conversation.item.input_audio_transcription.delta Transkrypcja dźwięku wejściowego przesyłania strumieniowego
conversation.item.input_audio_transcription.failed Transkrypcja dźwięku wejściowego nie powiodła się
input_audio_buffer.committed Bufor audio wejściowego został zatwierdzony do przetwarzania
input_audio_buffer.wyczyszczone Bufor audio wejściowego został wyczyszczone
input_audio_buffer.speech_started Mowa wykryta w buforze dźwięku wejściowego (VAD)
input_audio_buffer.speech_stopped Mowa zakończona w wejściowym buforze audio (VAD)
response.created Rozpoczęto generowanie nowej odpowiedzi
response.done Generowanie odpowiedzi zostało ukończone
response.output_item.added Nowy element wyjściowy dodany do odpowiedzi
response.output_item.done Element wyjściowy został ukończony
response.content_part.added Nowa część zawartości dodana do elementu wyjściowego
response.content_part.done Część zawartości została ukończona
response.text.delta Przesyłanie strumieniowe zawartości tekstowej z modelu
response.text.done Zawartość tekstowa jest ukończona
response.audio_transcript.delta Przesyłanie strumieniowe transkrypcji audio
response.audio_transcript.done Transkrypcja audio została ukończona
response.audio.delta Przesyłanie strumieniowe zawartości audio z modelu
response.audio.done Zawartość audio została ukończona
response.animation_blendshapes.delta Dane przesyłania strumieniowego animacji blendshapes
response.animation_blendshapes.done Dane z animacji blendshapes są ukończone
response.audio_timestamp.delta Informacje o znaczniku czasu przesyłania strumieniowego audio
response.audio_timestamp.done Informacje o sygnaturze czasowej audio są kompletne
response.animation_viseme.delta Przesyłanie strumieniowe animacji widocznych danych
response.animation_viseme.done Dane wizualizacji animacji są ukończone
response.function_call_arguments.delta Argumenty wywołań funkcji przesyłania strumieniowego
response.function_call_arguments.done Argumenty wywołania funkcji są kompletne
mcp_list_tools.in_progress Lista narzędzi MCP jest w toku
mcp_list_tools.completed Lista narzędzi MCP została ukończona
mcp_list_tools.failed Lista narzędzi MCP nie powiodła się
response.mcp_call_arguments.delta Przesyłanie strumieniowe argumentów wywołań MCP
response.mcp_call_arguments.done Argumenty wywołań MCP są kompletne
response.mcp_call.in_progress Wywołanie MCP jest w toku
response.mcp_call.completed Połączenie MCP zostało ukończone
response.mcp_call.failed Wywołanie MCP nie powiodło się

session.created

Wysłane po pomyślnym ustanowieniu nowej sesji. Jest to pierwsze zdarzenie odebrane po nawiązaniu połączenia z interfejsem API.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "session.created"
sesja RealtimeResponseSession Utworzony obiekt sesji

session.updated

Wysłane, gdy konfiguracja sesji została pomyślnie zaktualizowana w odpowiedzi na session.update zdarzenie klienta.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "session.updated"
sesja RealtimeResponseSession Zaktualizowany obiekt sesji

session.avatar.connecting

Wskazuje, że trwa nawiązywanie połączenia awatara WebRTC. To zdarzenie jest wysyłane w odpowiedzi na session.avatar.connect zdarzenie klienta.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "session.avatar.connecting"

conversation.item.created

Wysłane po dodaniu nowego elementu do konwersacji za pośrednictwem zdarzenia klienta conversation.item.create lub automatycznego generowania odpowiedzi.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "conversation.item.created"
previous_item_id ciąg Identyfikator elementu, po którym ten element został wstawiony
element RealtimeConversationResponseItem Utworzony element konwersacji

Przykład z elementem audio

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

Wysłane w odpowiedzi na conversation.item.retrieve zdarzenie klienta, podając żądany element konwersacji.

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "conversation.item.created"
element RealtimeConversationResponseItem Utworzony element konwersacji

conversation.item.obcięty

Zdarzenie serwera conversation.item.truncated jest zwracane, gdy klient obcina wcześniej asystenta elementu komunikatu audio z zdarzeniem conversation.item.truncate . To zdarzenie służy do synchronizowania zrozumienia dźwięku serwera z odtwarzaniem klienta.

To zdarzenie obcina dźwięk i usuwa transkrypcję tekstu po stronie serwera, aby upewnić się, że nie ma tekstu w kontekście, o którego użytkownik nie wie.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.truncated.
item_id ciąg Identyfikator elementu komunikatu asystenta, który został obcięty.
content_index liczba całkowita Indeks części zawartości, która została obcięta.
audio_end_ms liczba całkowita Czas trwania, do którego dźwięk został obcięty, w milisekundach.

conversation.item.deleted

Wysłane w odpowiedzi na conversation.item.delete zdarzenie klienta, potwierdzając, że określony element został usunięty z konwersacji.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "conversation.item.deleted"
item_id ciąg Identyfikator usuniętego elementu

response.created

Wysłane po rozpoczęciu nowej generacji odpowiedzi. Jest to pierwsze zdarzenie w sekwencji odpowiedzi.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.created"
response Czas rzeczywistyResponse Obiekt odpowiedzi, który został utworzony

response.done

Wysłane po zakończeniu generowania odpowiedzi. To zdarzenie zawiera ostateczną odpowiedź ze wszystkimi elementami wyjściowymi i statystykami użycia.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.done"
response Czas rzeczywistyResponse Ukończony obiekt odpowiedzi

response.output_item.added

Wysłane po dodaniu nowego elementu wyjściowego do odpowiedzi podczas generowania.

Struktura zdarzeń

{
  "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": []
  }
}

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.output_item.added"
response_id ciąg Identyfikator odpowiedzi, do którego należy ten element
output_index liczba całkowita Indeks elementu w tablicy wyjściowej odpowiedzi
element RealtimeConversationResponseItem Element wyjściowy, który został dodany

response.output_item.done

Wysłane po zakończeniu elementu wyjściowego.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.output_item.done"
response_id ciąg Identyfikator odpowiedzi, do którego należy ten element
output_index liczba całkowita Indeks elementu w tablicy wyjściowej odpowiedzi
element RealtimeConversationResponseItem Ukończony element wyjściowy

response.content_part.added

Zdarzenie serwera response.content_part.added jest zwracane po dodaniu nowej części zawartości do elementu komunikatu asystenta podczas generowania odpowiedzi.

Struktura zdarzeń

{
  "type": "response.content_part.added",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "part": {
    "type": "text",
    "text": ""
  }
}

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.content_part.added"
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu, do którego należy ta część zawartości
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks tej części zawartości w elemencie
part RealtimeContentPart Część zawartości, która została dodana

response.content_part.done

Zdarzenie serwera response.content_part.done jest zwracane, gdy część zawartości jest wykonywana strumieniowo w elemencie komunikatu asystenta.

To zdarzenie jest również zwracane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.content_part.done"
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu, do którego należy ta część zawartości
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks tej części zawartości w elemencie
part RealtimeContentPart Ukończona część zawartości

response.text.delta

Przesyłanie strumieniowe zawartości tekstowej z modelu. Wysyłane przyrostowo w miarę generowania tekstu przez model.

Struktura zdarzeń

{
  "type": "response.text.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "delta": "Hello! I'm"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.text.delta"
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości
delta ciąg Zawartość tekstu przyrostowego

response.text.done

Wysłane po zakończeniu generowania zawartości tekstowej.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.text.done"
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości
SMS ciąg Pełna zawartość tekstowa

response.audio.delta

Przesyłanie strumieniowe zawartości audio z modelu. Dźwięk jest dostarczany jako dane zakodowane w formacie base64.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.audio.delta"
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości
delta ciąg Fragment danych audio zakodowanych w formacie Base64

response.audio.done

Wysyłane po zakończeniu generowania zawartości audio.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.audio.done"
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości

response.audio_transcript.delta

Przesyłanie strumieniowe transkrypcji wygenerowanej zawartości audio.

Struktura zdarzeń

{
  "type": "response.audio_transcript.delta",
  "response_id": "resp_ABC123",
  "item_id": "item_DEF456",
  "output_index": 0,
  "content_index": 0,
  "delta": "Hello! I'm doing"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.audio_transcript.delta"
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości
delta ciąg Tekst transkrypcji przyrostowej

response.audio_transcript.done

Wysyłane po zakończeniu generowania transkrypcji audio.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Musi być "response.audio_transcript.done"
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości
transkrypcja ciąg Pełny tekst transkrypcji

conversation.item.input_audio_transcription.completed

Zdarzenie serwera conversation.item.input_audio_transcription.completed jest wynikiem transkrypcji audio dla mowy zapisanej w buforze audio.

Transkrypcja rozpoczyna się, gdy wejściowy bufor audio jest zatwierdzany przez klienta lub serwer (w server_vad trybie). Transkrypcja jest uruchamiana asynchronicznie z tworzeniem odpowiedzi, więc to zdarzenie może pojawić się przed zdarzeniami odpowiedzi lub po nim.

Modele interfejsu API czasu rzeczywistego akceptują dźwięk natywnie, a tym samym transkrypcję danych wejściowych to oddzielny proces uruchamiany w oddzielnym modelu rozpoznawania mowy, takim jak whisper-1. W związku z tym transkrypcja może nieco odbiegać od interpretacji modelu i powinna być traktowana jako szorstki przewodnik.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.input_audio_transcription.completed.
item_id ciąg Identyfikator elementu wiadomości użytkownika zawierającego dźwięk.
content_index liczba całkowita Indeks części zawartości zawierającej dźwięk.
transkrypcja ciąg Transkrypcja tekstu.

conversation.item.input_audio_transcription.delta

Zdarzenie serwera conversation.item.input_audio_transcription.delta jest zwracane po skonfigurowaniu transkrypcji audio wejściowej, a żądanie transkrypcji dla komunikatu użytkownika jest w toku. To zdarzenie zapewnia częściowe wyniki transkrypcji w miarę ich dostępności.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.input_audio_transcription.delta.
item_id ciąg Identyfikator elementu komunikatu użytkownika.
content_index liczba całkowita Indeks części zawartości zawierającej dźwięk.
delta ciąg Tekst transkrypcji przyrostowej.

conversation.item.input_audio_transcription.failed

Zdarzenie serwera conversation.item.input_audio_transcription.failed jest zwracane, gdy skonfigurowano transkrypcję dźwięku wejściowego, a żądanie transkrypcji dla komunikatu użytkownika nie powiodło się. To zdarzenie jest oddzielone od innych error zdarzeń, aby klient mógł zidentyfikować powiązany element.

Struktura zdarzeń

{
  "type": "conversation.item.input_audio_transcription.failed",
  "item_id": "<item_id>",
  "content_index": 0,
  "error": {
    "code": "<code>",
    "message": "<message>",
    "param": "<param>"
  }
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.input_audio_transcription.failed.
item_id ciąg Identyfikator elementu komunikatu użytkownika.
content_index liczba całkowita Indeks części zawartości zawierającej dźwięk.
błąd obiekt Szczegóły błędu transkrypcji.

Zobacz właściwości zagnieżdżone w następnej tabeli.

Właściwości błędu

(No changes needed) Typ Description
typ ciąg Typ błędu.
kod ciąg Kod błędu, jeśli istnieje.
komunikat ciąg Czytelny dla człowieka komunikat o błędzie.
param ciąg Parametr związany z błędem, jeśli istnieje.

response.animation_blendshapes.delta

Zdarzenie serwera response.animation_blendshapes.delta jest zwracane, gdy model generuje dane blendshapes animacji w ramach odpowiedzi. To zdarzenie zapewnia przyrostowe dane blendshapes, gdy staną się dostępne.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.animation_blendshapes.delta.
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości
frame_index liczba całkowita Indeks pierwszej ramki w tej partii ramek
Ramki tablica tablicy zmiennoprzecinkowych Tablica ramek blendshape, każda ramka jest tablicą wartości blendshape

response.animation_blendshapes.done

Zdarzenie serwera response.animation_blendshapes.done jest zwracane, gdy model zakończył generowanie danych blendshapes animacji w ramach odpowiedzi.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.animation_blendshapes.done.
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi

response.audio_timestamp.delta

Zdarzenie serwera response.audio_timestamp.delta jest zwracane, gdy model generuje dane sygnatury czasowej audio w ramach odpowiedzi. To zdarzenie zapewnia przyrostowe dane sygnatury czasowej dla wyjściowego wyrównania dźwięku i tekstu, gdy staną się dostępne.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.audio_timestamp.delta.
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości
audio_offset_ms liczba całkowita Przesunięcie dźwięku w milisekundach od początku dźwięku
audio_duration_ms liczba całkowita Czas trwania segmentu audio w milisekundach
SMS ciąg Segment tekstu odpowiadający temu znacznikowi czasu dźwięku
timestamp_type ciąg Typ znacznika czasu, obecnie obsługiwany jest tylko wyraz

response.audio_timestamp.done

Wysyłane po zakończeniu generowania znacznika czasu audio.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.audio_timestamp.done.
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości

response.animation_viseme.delta

Zdarzenie serwera response.animation_viseme.delta jest zwracane, gdy model generuje dane animacji w ramach odpowiedzi. To zdarzenie zapewnia przyrostowe dane widoczne w miarę ich dostępności.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.animation_viseme.delta.
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości
audio_offset_ms liczba całkowita Przesunięcie dźwięku w milisekundach od początku dźwięku
viseme_id liczba całkowita Identyfikator viseme odpowiadający kształtowi ust dla animacji

response.animation_viseme.done

Zdarzenie serwera response.animation_viseme.done jest zwracane po zakończeniu generowania danych animacji w ramach odpowiedzi.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.animation_viseme.done.
response_id ciąg Identyfikator odpowiedzi
item_id ciąg Identyfikator elementu
output_index liczba całkowita Indeks elementu w odpowiedzi
content_index liczba całkowita Indeks części zawartości

Zdarzenie serwera response.animation_viseme.delta jest zwracane, gdy model generuje dane animacji w ramach odpowiedzi. To zdarzenie zapewnia przyrostowe dane widoczne w miarę ich dostępności.

błąd

Zdarzenie serwera error jest zwracane, gdy wystąpi błąd, który może być problemem klienta lub problemem serwera. Większość błędów można odzyskać, a sesja pozostaje otwarta.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość error.
błąd obiekt Szczegóły błędu.

Zobacz właściwości zagnieżdżone w następnej tabeli.

Właściwości błędu

(No changes needed) Typ Description
typ ciąg Typ błędu. Na przykład typy błędów "invalid_request_error" i "server_error".
kod ciąg Kod błędu, jeśli istnieje.
komunikat ciąg Czytelny dla człowieka komunikat o błędzie.
param ciąg Parametr związany z błędem, jeśli istnieje.
event_id ciąg Identyfikator zdarzenia klienta, który spowodował błąd, jeśli ma to zastosowanie.

input_audio_buffer.wyczyszczone

Zdarzenie serwera input_audio_buffer.cleared jest zwracane, gdy klient czyści wejściowy bufor audio ze zdarzeniem input_audio_buffer.clear .

Struktura zdarzeń

{
  "type": "input_audio_buffer.cleared"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.cleared.

input_audio_buffer.committed

Zdarzenie serwera input_audio_buffer.committed jest zwracane po zatwierdzeniu wejściowego buforu audio przez klienta lub automatycznie w trybie VAD serwera. Właściwość item_id jest identyfikatorem utworzonego elementu komunikatu użytkownika. W związku z conversation.item.created tym zdarzenie jest również wysyłane do klienta.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.committed.
previous_item_id ciąg Identyfikator poprzedniego elementu, po którym zostanie wstawiony nowy element.
item_id ciąg Identyfikator utworzonego elementu wiadomości użytkownika.

input_audio_buffer.speech_started

Zdarzenie serwera input_audio_buffer.speech_started jest zwracane w server_vad trybie, gdy mowa jest wykrywana w buforze audio. To zdarzenie może wystąpić za każdym razem, gdy dźwięk jest dodawany do buforu (chyba że mowa została już wykryta).

Uwaga / Notatka

Klient może chcieć użyć tego zdarzenia, aby przerwać odtwarzanie audio lub przekazać użytkownikowi opinię wizualną.

Klient powinien oczekiwać odebrania input_audio_buffer.speech_stopped zdarzenia po zatrzymaniu mowy. Właściwość item_id jest identyfikatorem elementu komunikatu użytkownika utworzonego po zatrzymaniu mowy. Element item_id jest również uwzględniony w input_audio_buffer.speech_stopped zdarzeniu, chyba że klient ręcznie zatwierdzi bufor audio podczas aktywacji VAD.

Struktura zdarzeń

{
  "type": "input_audio_buffer.speech_started",
  "audio_start_ms": 0,
  "item_id": "<item_id>"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.speech_started.
audio_start_ms liczba całkowita Milisekundy od początku wszystkich audio zapisanych w buforze podczas sesji, gdy mowa została wykryta po raz pierwszy. Ta właściwość odpowiada początku dźwięku wysyłanego do modelu, a tym samym zawiera prefix_padding_ms skonfigurowane w sesji.
item_id ciąg Identyfikator elementu komunikatu użytkownika utworzony podczas zatrzymywania mowy.

input_audio_buffer.speech_stopped

Zdarzenie serwera input_audio_buffer.speech_stopped jest zwracane w server_vad trybie, gdy serwer wykryje koniec mowy w buforze audio.

Serwer wysyła conversation.item.created również zdarzenie z elementem komunikatu użytkownika utworzonym na podstawie buforu audio.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.speech_stopped.
audio_end_ms liczba całkowita Milisekundy od momentu rozpoczęcia sesji po zatrzymaniu mowy. Ta właściwość odpowiada końcu dźwięku wysyłanego do modelu, a tym samym zawiera min_silence_duration_ms skonfigurowane w sesji.
item_id ciąg Identyfikator utworzonego elementu wiadomości użytkownika.

rate_limits.updated

Zdarzenie serwera rate_limits.updated jest emitowane na początku odpowiedzi, aby wskazać zaktualizowane limity szybkości.

Po utworzeniu odpowiedzi niektóre tokeny są zarezerwowane dla tokenów wyjściowych. Przedstawione tutaj limity szybkości odzwierciedlają rezerwację, która jest następnie odpowiednio dostosowywana po zakończeniu odpowiedzi.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość rate_limits.updated.
rate_limits tablica wartości RealtimeRateLimitsItem Lista informacji o limicie szybkości.

response.audio.delta

Zdarzenie serwera response.audio.delta jest zwracane po zaktualizowaniu dźwięku wygenerowanego przez model.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.audio.delta.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
content_index liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
delta ciąg Delta danych audio zakodowanych w formacie Base64.

response.audio.done

Zdarzenie serwera response.audio.done jest zwracane po zakończeniu generowania przez model dźwięku.

To zdarzenie jest również zwracane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.

Struktura zdarzeń

{
  "type": "response.audio.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.audio.done.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
content_index liczba całkowita Indeks części zawartości w tablicy zawartości elementu.

response.audio_transcript.delta

Zdarzenie serwera response.audio_transcript.delta jest zwracane po zaktualizowaniu transkrypcji wygenerowanej przez model danych wyjściowych dźwięku.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.audio_transcript.delta.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
content_index liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
delta ciąg Delta transkrypcji.

response.audio_transcript.done

Zdarzenie serwera response.audio_transcript.done jest zwracane po zakończeniu przesyłania strumieniowego wygenerowanego przez model transkrypcji danych wyjściowych dźwięku.

To zdarzenie jest również zwracane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.

Struktura zdarzeń

{
  "type": "response.audio_transcript.done",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0,
  "transcript": "<transcript>"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.audio_transcript.done.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
content_index liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
transkrypcja ciąg Ostatnia transkrypcja dźwięku.

response.function_call_arguments.delta

Zdarzenie serwera response.function_call_arguments.delta jest zwracane po zaktualizowaniu argumentów wywołania funkcji wygenerowanej przez model.

Struktura zdarzeń

{
  "type": "response.function_call_arguments.delta",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "call_id": "<call_id>",
  "delta": "<delta>"
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.function_call_arguments.delta.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu wywołania funkcji.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
call_id ciąg Identyfikator wywołania funkcji.
delta ciąg Argumenty delta jako ciąg JSON.

response.function_call_arguments.done

Zdarzenie serwera response.function_call_arguments.done jest zwracane, gdy argumenty wywołania funkcji wygenerowane przez model są wykonywane strumieniowo.

To zdarzenie jest również zwracane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.function_call_arguments.done.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu wywołania funkcji.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
call_id ciąg Identyfikator wywołania funkcji.
arguments ciąg Ostatnie argumenty jako ciąg JSON.

mcp_list_tools.in_progress

Zdarzenie serwera mcp_list_tools.in_progress jest zwracane, gdy usługa rozpoczyna wyświetlanie listy dostępnych narzędzi z serwera mcp.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość mcp_list_tools.in_progress.
item_id ciąg Identyfikator przetwarzanego elementu narzędzi listy MCP .

mcp_list_tools.completed

Zdarzenie serwera mcp_list_tools.completed jest zwracane po zakończeniu wyświetlania listy dostępnych narzędzi z serwera mcp.

Struktura zdarzeń

{
  "type": "mcp_list_tools.completed",
  "item_id": "<mcp_list_tools_item_id>"
}
Właściwości
(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość mcp_list_tools.completed.
item_id ciąg Identyfikator przetwarzanego elementu narzędzi listy MCP .

mcp_list_tools.failed

Zdarzenie serwera mcp_list_tools.failed jest zwracane, gdy usługa nie może wyświetlić listy dostępnych narzędzi z serwera mcp.

Struktura zdarzeń

{
  "type": "mcp_list_tools.failed",
  "item_id": "<mcp_list_tools_item_id>"
}
Właściwości
(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość mcp_list_tools.failed.
item_id ciąg Identyfikator przetwarzanego elementu narzędzi listy MCP .

response.mcp_call_arguments.delta

Zdarzenie serwera response.mcp_call_arguments.delta jest zwracane po zaktualizowaniu argumentów wywołania narzędzia mcp wygenerowanego przez model.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.mcp_call_arguments.delta.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu wywołania narzędzia mcp.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
delta ciąg Argumenty delta jako ciąg JSON.

response.mcp_call_arguments.done

Zdarzenie serwera response.mcp_call_arguments.done jest zwracane, gdy argumenty wywołania narzędzia mcp wygenerowane przez model są wykonywane strumieniowo.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.mcp_call_arguments.done.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu wywołania narzędzia mcp.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
arguments ciąg Ostatnie argumenty jako ciąg JSON.

response.mcp_call.in_progress

Zdarzenie serwera response.mcp_call.in_progress jest zwracane, gdy wywołanie narzędzia MCP rozpoczyna przetwarzanie.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.mcp_call.in_progress.
item_id ciąg Identyfikator elementu wywołania narzędzia mcp.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.

response.mcp_call.completed

Zdarzenie serwera response.mcp_call.completed jest zwracane po pomyślnym zakończeniu wywołania narzędzia MCP.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.mcp_call.completed.
item_id ciąg Identyfikator elementu wywołania narzędzia mcp.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.

response.mcp_call.failed

Zdarzenie serwera response.mcp_call.failed jest zwracane, gdy wywołanie narzędzia MCP kończy się niepowodzeniem.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.mcp_call.failed.
item_id ciąg Identyfikator elementu wywołania narzędzia mcp.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.

response.output_item.added

Zdarzenie serwera response.output_item.added jest zwracane po utworzeniu nowego elementu podczas generowania odpowiedzi.

Struktura zdarzeń

{
  "type": "response.output_item.added",
  "response_id": "<response_id>",
  "output_index": 0
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.output_item.added.
response_id ciąg Identyfikator odpowiedzi, do której należy element.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
element RealtimeConversationResponseItem Element, który został dodany.

response.output_item.done

Zdarzenie serwera response.output_item.done jest zwracane po zakończeniu przesyłania strumieniowego elementu.

To zdarzenie jest również zwracane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.

Struktura zdarzeń

{
  "type": "response.output_item.done",
  "response_id": "<response_id>",
  "output_index": 0
}

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.output_item.done.
response_id ciąg Identyfikator odpowiedzi, do której należy element.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
element RealtimeConversationResponseItem Element, który jest wykonywany strumieniowo.

response.text.delta

Zdarzenie serwera response.text.delta jest zwracane po zaktualizowaniu tekstu wygenerowanego przez model. Tekst odpowiada text części zawartości elementu komunikatu asystenta.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.text.delta.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
content_index liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
delta ciąg Delta tekstu.

response.text.done

Zdarzenie serwera response.text.done jest zwracane po zakończeniu przesyłania strumieniowego tekstu wygenerowanego przez model. Tekst odpowiada text części zawartości elementu komunikatu asystenta.

To zdarzenie jest również zwracane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.

Struktura zdarzeń

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

Właściwości

(No changes needed) Typ Description
typ ciąg Typ zdarzenia musi mieć wartość response.text.done.
response_id ciąg Identyfikator odpowiedzi.
item_id ciąg Identyfikator elementu.
output_index liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
content_index liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
SMS ciąg Końcowa zawartość tekstowa.

Components

Formaty audio

RealtimeAudioFormat

Podstawowy format audio używany do wprowadzania dźwięku.

Dozwolone wartości:

  • pcm16 - 16-bitowy format audio PCM
  • g711_ulaw - G.711 format audio μ-law
  • g711_alaw - Format audio G.711 A-law

RealtimeOutputAudioFormat

Format audio używany na potrzeby dźwięku wyjściowego z określonymi częstotliwościami próbkowania.

Dozwolone wartości:

  • pcm16 - 16-bitowy format audio PCM z domyślną częstotliwością próbkowania (24kHz)
  • pcm16_8000hz - 16-bitowy format audio PCM z częstotliwością próbkowania 8kHz
  • pcm16_16000hz - 16-bitowy format audio PCM z częstotliwością próbkowania 16kHz
  • g711_ulaw - Format audio G.711 μ-law (mu-law) z częstotliwością próbkowania 8kHz
  • g711_alaw - Format audio G.711 A-law z częstotliwością próbkowania 8kHz

RealtimeAudioInputTranscriptionSettings

Konfiguracja transkrypcji dźwięku wejściowego.

(No changes needed) Typ Description
model ciąg Model transkrypcji.
Obsługiwane w systemach gpt-realtime i gpt-realtime-mini:
whisper-1, , gpt-4o-transcribegpt-4o-mini-transcribe, , gpt-4o-transcribe-diarize.
Obsługiwane we wszystkich innych modelach i agentach: azure-speech
język ciąg Opcjonalny kod języka w języku BCP-47 (np en-US. ) lub ISO-639-1 (np en. ) lub w wielu językach z wykrywaniem automatycznym (np. en,zh).
custom_speech obiekt Opcjonalna konfiguracja niestandardowych modeli mowy, ważna tylko dla azure-speech modelu.
phrase_list string[] Opcjonalna lista wskazówek fraz dotyczących rozpoznawania stronniczości, która jest prawidłowa tylko dla azure-speech modelu.
monit ciąg Opcjonalny tekst monitu, aby poprowadzić transkrypcję, prawidłową tylko dla whisper-1modeli , gpt-4o-transcribegpt-4o-mini-transcribe i gpt-4o-transcribe-diarize .

RealtimeInputAudioNoiseReductionSettings

Może to być:

RealtimeOpenAINoiseReduction

Konfiguracja redukcji szumu interfejsu OpenAI z jawnym polem typu, dostępnym tylko dla gpt-realtime modeli i gpt-realtime-mini .

(No changes needed) Typ Description
typ ciąg near_field lub far_field

RealtimeAzureDeepNoiseSuppression

Konfiguracja redukcji szumu dźwięku wejściowego.

(No changes needed) Typ Description
typ ciąg Musi być "azure_deep_noise_suppression"

RealtimeInputAudioEchoCancellationSettings

Konfiguracja anulowania echa na potrzeby przetwarzania dźwięku po stronie serwera.

(No changes needed) Typ Description
typ ciąg Musi być "server_echo_cancellation"

Konfiguracja głosu

RealtimeVoice

Unii wszystkich obsługiwanych konfiguracji głosowych.

Może to być:

RealtimeOpenAIVoice

Konfiguracja głosu OpenAI z jawnym polem typu.

(No changes needed) Typ Description
typ ciąg Musi być "openai"
nazwa ciąg Nazwa głosu OpenAI: alloy, , ashballadcoralechosage, , shimmerversemarincedar

RealtimeAzureVoice

Podstawowe informacje na potrzeby konfiguracji głosowych platformy Azure. Jest to związek dyskryminowany z różnymi typami:

RealtimeAzureStandardVoice

Standardowa konfiguracja głosu platformy Azure.

(No changes needed) Typ Description
typ ciąg Musi być "azure-standard"
nazwa ciąg Nazwa głosu (nie może być pusta)
temperatura Liczba Opcjonalny. Temperatura z zakresu od 0,0 do 1,0
custom_lexicon_url ciąg Opcjonalny. Adres URL niestandardowego leksykonu
prefer_locales string[] Opcjonalny. Preferowane ustawienia regionalne
Preferuj ustawienia regionalne zmienią akcenty języków. Jeśli wartość nie jest ustawiona, usługa TTS będzie używać domyślnego akcentu dla każdego języka. Na przykład gdy język TTS mówi po angielsku, będzie używać amerykańskiego akcentu angielskiego. A mówiąc po hiszpańsku, będzie używać meksykańskiego hiszpańskiego akcentu.
Jeśli ustawisz prefer_locales ["en-GB", "es-ES"]na , akcent angielski będzie brytyjskim angielskim, a hiszpański akcent będzie europejskim hiszpańskim. TTS również może mówić w innych językach, takich jak francuski, chiński itp.
regionalny ciąg Opcjonalny. Specyfikacja ustawień regionalnych
Wymuś ustawienia regionalne dla danych wyjściowych TTS. Jeśli nie zostanie ustawiona, funkcja TTS będzie zawsze używać podanych ustawień regionalnych, aby mówić. Np. ustawienie ustawień regionalnych na , TTS zawsze będzie używać en-USamerykańskiego akcentu angielskiego do mówienia zawartości tekstowej, nawet zawartość tekstowa jest w innym języku. Usługa TTS wyjmie milczenie, jeśli zawartość tekstowa znajduje się w języku chińskim.
styl ciąg Opcjonalny. Styl głosu
rzucać ciąg Opcjonalny. Korekta skoku
tempo ciąg Opcjonalny. Korekta szybkości mowy
volume ciąg Opcjonalny. Korekta głośności
RealtimeAzureCustomVoice

Niestandardowa konfiguracja głosu platformy Azure (preferowana dla niestandardowych głosów).

(No changes needed) Typ Description
typ ciąg Musi być "azure-custom"
nazwa ciąg Nazwa głosu (nie może być pusta)
endpoint_id ciąg Identyfikator punktu końcowego (nie może być pusty)
temperatura Liczba Opcjonalny. Temperatura z zakresu od 0,0 do 1,0
custom_lexicon_url ciąg Opcjonalny. Adres URL niestandardowego leksykonu
prefer_locales string[] Opcjonalny. Preferowane ustawienia regionalne
Preferuj ustawienia regionalne zmienią akcenty języków. Jeśli wartość nie jest ustawiona, usługa TTS będzie używać domyślnego akcentu dla każdego języka. Na przykład gdy język TTS mówi po angielsku, będzie używać amerykańskiego akcentu angielskiego. A mówiąc po hiszpańsku, będzie używać meksykańskiego hiszpańskiego akcentu.
Jeśli ustawisz prefer_locales ["en-GB", "es-ES"]na , akcent angielski będzie brytyjskim angielskim, a hiszpański akcent będzie europejskim hiszpańskim. TTS również może mówić w innych językach, takich jak francuski, chiński itp.
regionalny ciąg Opcjonalny. Specyfikacja ustawień regionalnych
Wymuś ustawienia regionalne dla danych wyjściowych TTS. Jeśli nie zostanie ustawiona, funkcja TTS będzie zawsze używać podanych ustawień regionalnych, aby mówić. Np. ustawienie ustawień regionalnych na , TTS zawsze będzie używać en-USamerykańskiego akcentu angielskiego do mówienia zawartości tekstowej, nawet zawartość tekstowa jest w innym języku. Usługa TTS wyjmie milczenie, jeśli zawartość tekstowa znajduje się w języku chińskim.
styl ciąg Opcjonalny. Styl głosu
rzucać ciąg Opcjonalny. Korekta skoku
tempo ciąg Opcjonalny. Korekta szybkości mowy
volume ciąg Opcjonalny. Korekta głośności

Przykład:

{
  "type": "azure-custom",
  "name": "my-custom-voice",
  "endpoint_id": "12345678-1234-1234-1234-123456789012",
  "temperature": 0.7,
  "style": "cheerful",
  "locale": "en-US"
}
RealtimeAzurePersonalVoice

Konfiguracja osobistego głosu platformy Azure.

(No changes needed) Typ Description
typ ciąg Musi być "azure-personal"
nazwa ciąg Nazwa głosu (nie może być pusta)
temperatura Liczba Opcjonalny. Temperatura z zakresu od 0,0 do 1,0
model ciąg Podstawowy model neuronowy: DragonLatestNeural, , PhoenixLatestNeuralPhoenixV2Neural
custom_lexicon_url ciąg Opcjonalny. Adres URL niestandardowego leksykonu
prefer_locales string[] Opcjonalny. Preferowane ustawienia regionalne
Preferuj ustawienia regionalne zmienią akcenty języków. Jeśli wartość nie jest ustawiona, usługa TTS będzie używać domyślnego akcentu dla każdego języka. Na przykład gdy język TTS mówi po angielsku, będzie używać amerykańskiego akcentu angielskiego. A mówiąc po hiszpańsku, będzie używać meksykańskiego hiszpańskiego akcentu.
Jeśli ustawisz prefer_locales ["en-GB", "es-ES"]na , akcent angielski będzie brytyjskim angielskim, a hiszpański akcent będzie europejskim hiszpańskim. TTS również może mówić w innych językach, takich jak francuski, chiński itp.
regionalny ciąg Opcjonalny. Specyfikacja ustawień regionalnych
Wymuś ustawienia regionalne dla danych wyjściowych TTS. Jeśli nie zostanie ustawiona, funkcja TTS będzie zawsze używać podanych ustawień regionalnych, aby mówić. Np. ustawienie ustawień regionalnych na , TTS zawsze będzie używać en-USamerykańskiego akcentu angielskiego do mówienia zawartości tekstowej, nawet zawartość tekstowa jest w innym języku. Usługa TTS wyjmie milczenie, jeśli zawartość tekstowa znajduje się w języku chińskim.
rzucać ciąg Opcjonalny. Korekta skoku
tempo ciąg Opcjonalny. Korekta szybkości mowy
volume ciąg Opcjonalny. Korekta głośności

Wykrywanie obrotu

RealtimeTurnDetection

Konfiguracja wykrywania obrotu. Jest to dyskryminowana unia obsługująca wiele typów VAD.

RealtimeServerVAD

Podstawowe wykrywanie obrotu oparte na vaD.

(No changes needed) Typ Description
typ ciąg Musi być "server_vad"
próg Liczba Opcjonalny. Próg aktywacji (0.0–1.0)
prefix_padding_ms liczba całkowita Opcjonalny. Dopełnianie audio przed rozpoczęciem mowy
silence_duration_ms liczba całkowita Opcjonalny. Czas trwania ciszy w celu wykrycia zakończenia mowy
end_of_utterance_detection RealtimeEOUDetection Opcjonalny. Konfiguracja wykrywania końca wypowiedzi
utwórz_odpowiedź typ logiczny (boolowski) Opcjonalny. Włącz lub wyłącz, czy odpowiedź jest generowana.
odpowiedź na przerwanie typ logiczny (boolowski) Opcjonalny. Włączanie lub wyłączanie przerwy w działaniu barge-in (wartość domyślna: false)
auto_truncate typ logiczny (boolowski) Opcjonalny. Automatyczne obcinanie przerwy (ustawienie domyślne: false)
RealtimeOpenAISemanticVAD

Semantyczna konfiguracja vaD interfejsu OpenAI, która używa modelu do określenia, kiedy użytkownik zakończył pracę. Dostępne tylko dla gpt-realtime modeli i gpt-realtime-mini .

(No changes needed) Typ Description
typ ciąg Musi być "semantic_vad"
zapał ciąg Opcjonalny. Jest to sposób kontrolowania, jak chętny jest przerwanie działania modelu, dostrajanie maksymalnego limitu czasu oczekiwania. W trybie transkrypcji, nawet jeśli model nie odpowiada, wpływa na sposób fragmentowania dźwięku.
Dozwolone są następujące wartości:
- auto (wartość domyślna) jest odpowiednikiem mediumelementu ,
- low pozwoli użytkownikowi zabrać czas na rozmowę,
- high będzie fragmentuje dźwięk tak szybko, jak to możliwe.

Jeśli chcesz, aby model odpowiadał częściej w trybie konwersacji lub aby szybciej zwracał zdarzenia transkrypcji w trybie transkrypcji, możesz ustawić gotowość na highwartość .
Z drugiej strony, jeśli chcesz pozwolić użytkownikowi mówić nieprzerwanie w trybie konwersacji lub jeśli chcesz, aby większe fragmenty transkrypcji w trybie transkrypcji, możesz ustawić chętność na lowwartość .
utwórz_odpowiedź typ logiczny (boolowski) Opcjonalny. Włącz lub wyłącz, czy odpowiedź jest generowana.
odpowiedź na przerwanie typ logiczny (boolowski) Opcjonalny. Włączanie lub wyłączanie przerwy w działaniu barge-in (wartość domyślna: false)
RealtimeAzureSemanticVAD

Semantyczna usługa VAD platformy Azure, która określa, kiedy użytkownik rozpoczyna korzystanie z semantycznego modelu mowy, zapewniając bardziej niezawodne wykrywanie w hałaśliwych środowiskach.

(No changes needed) Typ Description
typ ciąg Musi być "azure_semantic_vad"
próg Liczba Opcjonalny. Próg aktywacji
prefix_padding_ms liczba całkowita Opcjonalny. Dopełnianie audio przed mową
silence_duration_ms liczba całkowita Opcjonalny. Czas trwania ciszy na koniec mowy
end_of_utterance_detection RealtimeEOUDetection Opcjonalny. Konfiguracja wykrywania jednostek EOU
speech_duration_ms liczba całkowita Opcjonalny. Minimalny czas trwania mowy
remove_filler_words typ logiczny (boolowski) Opcjonalny. Usuń wyrazy wypełniacza (wartość domyślna: false)
Języki string[] Opcjonalny. Obsługuje język angielski. Inne języki zostaną zignorowane.
utwórz_odpowiedź typ logiczny (boolowski) Opcjonalny. Włącz lub wyłącz, czy odpowiedź jest generowana.
odpowiedź na przerwanie typ logiczny (boolowski) Opcjonalny. Włączanie lub wyłączanie przerwy w działaniu barge-in (wartość domyślna: false)
auto_truncate typ logiczny (boolowski) Opcjonalny. Automatyczne obcinanie przerwy (ustawienie domyślne: false)
RealtimeAzureSemanticVADMultilingual

Semantyczna usługa VAD platformy Azure (wariant domyślny).

(No changes needed) Typ Description
typ ciąg Musi być "azure_semantic_vad_multilingual"
próg Liczba Opcjonalny. Próg aktywacji
prefix_padding_ms liczba całkowita Opcjonalny. Dopełnianie audio przed mową
silence_duration_ms liczba całkowita Opcjonalny. Czas trwania ciszy na koniec mowy
end_of_utterance_detection RealtimeEOUDetection Opcjonalny. Konfiguracja wykrywania jednostek EOU
speech_duration_ms liczba całkowita Opcjonalny. Minimalny czas trwania mowy
remove_filler_words typ logiczny (boolowski) Opcjonalny. Usuń wyrazy wypełniacza (wartość domyślna: false).
Języki string[] Opcjonalny. Obsługuje język angielski, hiszpański, francuski, włoski, niemiecki (DE), japoński, portugalski, chiński, koreański, hindi. Inne języki zostaną zignorowane.
utwórz_odpowiedź typ logiczny (boolowski) Opcjonalny. Włącz lub wyłącz, czy odpowiedź jest generowana.
odpowiedź na przerwanie typ logiczny (boolowski) Opcjonalny. Włączanie lub wyłączanie przerwy w działaniu barge-in (wartość domyślna: false)
auto_truncate typ logiczny (boolowski) Opcjonalny. Automatyczne obcinanie przerwy (ustawienie domyślne: false)

RealtimeEOUDetection

End-of-Utterance (EOU) platformy Azure może wskazywać, kiedy użytkownik końcowy przestał mówić, umożliwiając naturalne wstrzymanie. Wykrywanie końca wypowiedzi może znacznie zmniejszyć przedwczesne sygnały końca tury bez dodawania wykrywalnych przez użytkownika opóźnień.

(No changes needed) Typ Description
model ciąg Może być semantic_detection_v1 obsługa języka angielskiego lub semantic_detection_v1_multilingual obsługi języka angielskiego, hiszpańskiego, francuskiego, włoskiego, niemieckiego (DE), japońskiego, portugalskiego, chińskiego, koreańskiego, hindi
threshold_level ciąg Opcjonalny. Poziom progu wykrywania (low, mediumhighi default), ustawienie domyślne jest medium równe. Przy niższym ustawieniu prawdopodobieństwo ukończenia zdania będzie wyższe.
limit_czasu_ms Liczba Opcjonalny. Maksymalny czas w milisekundach oczekiwania na więcej mowy użytkownika. Wartość domyślna to 1000 ms.

Konfiguracja awatara

RealtimeAvatarConfig

Konfiguracja przesyłania strumieniowego i zachowania awatara.

(No changes needed) Typ Description
ice_servers RealtimeIceServer[] Opcjonalny. Serwery ICE dla usługi WebRTC
znak ciąg Nazwa znaku lub identyfikator awatara
styl ciąg Opcjonalny. Styl awatara (emocjonalny ton, styl mówienia)
Dostosowane typ logiczny (boolowski) Czy awatar jest dostosowany
wideo RealtimeVideoParams Opcjonalny. Konfiguracja wideo

RealtimeIceServer

Konfiguracja serwera ICE na potrzeby negocjacji połączenia WebRTC.

(No changes needed) Typ Description
adresy URL string[] Adresy URL serwera ICE (punkty końcowe TURN lub STUN)
nazwa użytkownika ciąg Opcjonalny. Nazwa użytkownika na potrzeby uwierzytelniania
poświadczenie ciąg Opcjonalny. Poświadczenia do uwierzytelniania

RealtimeVideoParams

Parametry przesyłania strumieniowego wideo dla awatara.

(No changes needed) Typ Description
szybkość transmisji bitów liczba całkowita Opcjonalny. Szybkość transmisji bitów na sekundę (wartość domyślna: 2000000)
koder-dekoder ciąg Opcjonalny. Koder wideo, obecnie tylko h264 (wartość domyślna: h264)
przycinać RealtimeVideoCrop Opcjonalny. Ustawienia przycinania
rozdzielczość RealtimeVideoResolution Opcjonalny. Ustawienia rozwiązywania

RealtimeVideoCrop

Definicja prostokąta przycinania wideo.

(No changes needed) Typ Description
top_left liczba całkowita[] Lewy górny róg [x, y], liczba całkowita nieujemna
bottom_right liczba całkowita[] Prawy dolny róg [x, y], liczby całkowite nieujemne

RealtimeVideoResolution

Specyfikacja rozdzielczości wideo.

(No changes needed) Typ Description
width liczba całkowita Szerokość w pikselach (musi być > 0)
height liczba całkowita Wysokość w pikselach (musi być > 0)

Konfiguracja animacji

RealtimeAnimation

Konfiguracja dla danych wyjściowych animacji, w tym blendshapes i visemes.

(No changes needed) Typ Description
model_name ciąg Opcjonalny. Nazwa modelu animacji (wartość domyślna: "default")
Wyniki RealtimeAnimationOutputType[] Opcjonalny. Typy danych wyjściowych (wartość domyślna: ["blendshapes"])

RealtimeAnimationOutputType

Typy danych animacji do danych wyjściowych.

Dozwolone wartości:

  • blendshapes - Dane mieszania twarzy
  • viseme_id - Dane identyfikatora viseme

Konfiguracja sesji

RealtimeRequestSession

Obiekt konfiguracji sesji używany w session.update zdarzeniach.

(No changes needed) Typ Description
model ciąg Opcjonalny. Nazwa modelu do użycia
modalities Tryb rzeczywisty[] Opcjonalny. Obsługiwane modalności dla sesji.

Na przykład "modalności": ["text", "audio"] jest ustawieniem domyślnym, które umożliwia zarówno modalności tekstu, jak i audio. Aby włączyć tylko tekst, ustaw "modalności": ["text"]. Aby włączyć dane wyjściowe awatara, ustaw "modalności": ["text", "audio", "avatar". Nie można włączyć tylko dźwięku.
animacja RealtimeAnimation Opcjonalny. Konfiguracja animacji
voice RealtimeVoice Opcjonalny. Konfiguracja głosu
instructions ciąg Opcjonalny. Instrukcje systemowe dotyczące modelu. Instrukcje mogą prowadzić dźwięk wyjściowy, jeśli są używane głosy OpenAI, ale mogą nie mieć zastosowania do głosów platformy Azure.
input_audio_sampling_rate liczba całkowita Opcjonalny. Częstotliwość próbkowania audio wejściowego w Hz (domyślnie: 24000 dla , 8000 dla pcm16g711_ulaw i g711_alaw)
input_audio_format RealtimeAudioFormat Opcjonalny. Format audio wejściowego (domyślny: pcm16)
output_audio_format RealtimeOutputAudioFormat Opcjonalny. Format audio wyjściowego (wartość domyślna: pcm16)
input_audio_noise_reduction RealtimeInputAudioNoiseReductionSettings Konfiguracja redukcji szumu dźwięku wejściowego. Można to ustawić na wartość null, aby wyłączyć. Filtry redukcji szumów przetwarzają dźwięk dodany do wejściowego bufora audio, zanim zostanie on wysłany do usługi VAD i modelu. Filtrowanie dźwięku może poprawić dokładność wykrywania VAD i zmian (zmniejszając liczbę fałszywie dodatnich wyników) oraz poprawić wydajność modelu poprzez polepszenie postrzegania dźwięku wejściowego.

Ta właściwość jest dopuszczana do wartości null.
input_audio_echo_cancellation RealtimeInputAudioEchoCancellationSettings Konfiguracja anulowania echa dźwięku wejściowego. Można to ustawić na wartość null, aby wyłączyć. To anulowanie echa po stronie usługi może pomóc poprawić jakość dźwięku wejściowego, zmniejszając wpływ echa i odgłosu.

Ta właściwość jest dopuszczana do wartości null.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Konfiguracja transkrypcji dźwięku wejściowego. Domyślnie konfiguracja ma wartość null (wyłączoną). Transkrypcja audio wejściowego nie jest natywna dla modelu, ponieważ model korzysta bezpośrednio z dźwięku. Transkrypcja jest uruchamiana asynchronicznie przez /audio/transcriptions punkt końcowy i powinna być traktowana jako wskazówki dotyczące wejściowej zawartości audio, a nie dokładnie tego, co usłyszał model. Aby uzyskać dodatkowe wskazówki dotyczące usługi transkrypcji, klient może opcjonalnie ustawić język i monitować o transkrypcję.

Ta właściwość jest dopuszczana do wartości null.
turn_detection RealtimeTurnDetection Ustawienia wykrywania kolei dla sesji. Można to ustawić na wartość null, aby wyłączyć.
narzędzia tablica narzędzia RealtimeTool Narzędzia dostępne dla modelu dla sesji.
tool_choice RealtimeToolChoice Narzędzie wybrane dla sesji.

Dozwolone wartości: auto, nonei required. W przeciwnym razie można określić nazwę funkcji do użycia.
temperatura Liczba Temperatura próbkowania dla modelu. Dozwolone wartości temperatury są ograniczone do [0,6, 1,2]. Wartość domyślna to 0.8.
max_response_output_tokens liczba całkowita lub "inf" Maksymalna liczba tokenów wyjściowych na odpowiedź asystenta, w tym wywołania narzędzi.

Określ liczbę całkowitą z zakresu od 1 do 4096, aby ograniczyć tokeny wyjściowe. W przeciwnym razie ustaw wartość na "inf", aby zezwolić na maksymalną liczbę tokenów.

Aby na przykład ograniczyć tokeny wyjściowe do 1000, ustaw wartość "max_response_output_tokens": 1000. Aby zezwolić na maksymalną liczbę tokenów, ustaw wartość "max_response_output_tokens": "inf".

Wartość domyślna to "inf".
awatar RealtimeAvatarConfig Opcjonalny. Konfiguracja awatara
output_audio_timestamp_types RealtimeAudioTimestampType[] Opcjonalny. Typy sygnatur czasowych dla dźwięku wyjściowego

Tryb rzeczywisty

Obsługiwane modalności sesji.

Dozwolone wartości:

  • text - Wprowadzanie tekstu/dane wyjściowe
  • audio - Wejście/wyjście audio
  • animation - Dane wyjściowe animacji
  • avatar - Dane wyjściowe wideo awatara

RealtimeAudioTimestampType

Typy sygnatur czasowych danych wyjściowych obsługiwane w zawartości odpowiedzi audio.

Dozwolone wartości:

  • word - Znaczniki czasu na słowo w wyjściowym dźwięku

Konfiguracja narzędzia

Obsługujemy dwa typy narzędzi: wywoływanie funkcji i narzędzia MCP, które umożliwiają nawiązywanie połączenia z serwerem mcp.

Narzędzia czasu rzeczywistego

Definicja narzędzia do wywoływania funkcji.

(No changes needed) Typ Description
typ ciąg Musi być "function"
nazwa ciąg Nazwa funkcji
opis ciąg Opis funkcji i wskazówki dotyczące użycia
parameters obiekt Parametry funkcji jako obiekt schematu JSON

RealtimeToolChoice

Strategia wyboru narzędzi.

Może to być:

  • "auto" - Pozwól modelowi wybrać
  • "none" — Nie używaj narzędzi
  • "required" - Musi używać narzędzia
  • { "type": "function", "name": "function_name" } - Korzystanie z określonej funkcji

McPTool

Konfiguracja narzędzia MCP.

(No changes needed) Typ Description
typ ciąg Musi być "mcp"
etykieta_serwera ciąg To jest wymagane. Etykieta serwera MCP.
adres_serwera ciąg To jest wymagane. Adres URL serwera MCP.
dozwolone_narzędzia string[] Opcjonalny. Lista dozwolonych nazw narzędzi. Jeśli nie zostanie określony, wszystkie narzędzia będą dozwolone.
headers obiekt Opcjonalny. Dodatkowe nagłówki do uwzględnienia w żądaniach MCP.
autoryzacja ciąg Opcjonalny. Token autoryzacji dla żądań MCP.
wymaga_akceptacji ciąg lub słownik Opcjonalny.
Jeśli jest ustawiona na ciąg, wartość musi mieć never wartość lub always.
Jeśli jest ustawiona na słownik, musi mieć format {"never": ["<tool_name_1>", "<tool_name_2>"], "always": ["<tool_name_3>"]}.
Wartość domyślna to always.
Po ustawieniu alwayswartości na polecenie wykonanie narzędzia wymaga zatwierdzenia, mcp_approval_request zostanie wysłana do klienta po zakończeniu argumentu mcp i zostanie wykonana tylko po odebraniu mcp_approval_response.approve=true
Gdy zostanie ustawiona wartość never, narzędzie zostanie wykonane automatycznie bez zatwierdzenia.

RealtimeConversationResponseItem

Jest to typ unii, który może być jednym z następujących:

RealtimeConversationUserMessageItem

Element wiadomości użytkownika.

(No changes needed) Typ Description
id ciąg Unikatowy identyfikator elementu.
typ ciąg Musi być "message"
obiekt ciąg Musi być "conversation.item"
rola ciąg Musi być "user"
zawartość RealtimeInputTextContentPart Zawartość wiadomości.
stan RealtimeItemStatus Stan elementu.

RealtimeConversationAssistantMessageItem

Element komunikatu asystenta.

(No changes needed) Typ Description
id ciąg Unikatowy identyfikator elementu.
typ ciąg Musi być "message"
obiekt ciąg Musi być "conversation.item"
rola ciąg Musi być "assistant"
zawartość RealtimeOutputTextContentPart[] lub RealtimeOutputAudioContentPart[] Zawartość wiadomości.
stan RealtimeItemStatus Stan elementu.

RealtimeConversationSystemMessageItem

Element komunikatu systemowego.

(No changes needed) Typ Description
id ciąg Unikatowy identyfikator elementu.
typ ciąg Musi być "message"
obiekt ciąg Musi być "conversation.item"
rola ciąg Musi być "system"
zawartość RealtimeInputTextContentPart[] Zawartość wiadomości.
stan RealtimeItemStatus Stan elementu.

RealtimeConversationFunctionCallItem

Element żądania wywołania funkcji.

(No changes needed) Typ Description
id ciąg Unikatowy identyfikator elementu.
typ ciąg Musi być "function_call"
obiekt ciąg Musi być "conversation.item"
nazwa ciąg Nazwa funkcji do wywołania.
arguments ciąg Argumenty wywołania funkcji jako ciąg JSON.
call_id ciąg Unikatowy identyfikator wywołania funkcji.
stan RealtimeItemStatus Stan elementu.

RealtimeConversationFunctionCallOutputItem

Element odpowiedzi wywołania funkcji.

(No changes needed) Typ Description
id ciąg Unikatowy identyfikator elementu.
typ ciąg Musi być "function_call_output"
obiekt ciąg Musi być "conversation.item"
nazwa ciąg Nazwa wywoływanej funkcji.
We/Wy ciąg Dane wyjściowe wywołania funkcji.
call_id ciąg Unikatowy identyfikator wywołania funkcji.
stan RealtimeItemStatus Stan elementu.

RealtimeConversationMCPListToolsItem

Element odpowiedzi narzędzi listy MCP.

(No changes needed) Typ Description
id ciąg Unikatowy identyfikator elementu.
typ ciąg Musi być "mcp_list_tools"
etykieta_serwera ciąg Etykieta serwera MCP.

RealtimeConversationMCPCallItem

Element odpowiedzi wywołania MCP.

(No changes needed) Typ Description
id ciąg Unikatowy identyfikator elementu.
typ ciąg Musi być "mcp_call"
etykieta_serwera ciąg Etykieta serwera MCP.
nazwa ciąg Nazwa narzędzia do wywołania.
approval_request_id ciąg Identyfikator żądania zatwierdzenia dla wywołania MCP.
arguments ciąg Argumenty wywołania MCP.
We/Wy ciąg Dane wyjściowe wywołania MCP.
błąd obiekt Szczegóły błędu, jeśli wywołanie MCP nie powiodło się.

RealtimeConversationMCPApprovalRequestItem

Element żądania zatwierdzenia MCP.

(No changes needed) Typ Description
id ciąg Unikatowy identyfikator elementu.
typ ciąg Musi być "mcp_approval_request"
etykieta_serwera ciąg Etykieta serwera MCP.
nazwa ciąg Nazwa narzędzia do wywołania.
arguments ciąg Argumenty wywołania MCP.

RealtimeItemStatus

Stan elementów konwersacji.

Dozwolone wartości:

  • in_progress - Obecnie przetwarzane
  • completed — Ukończono pomyślnie
  • incomplete — Niekompletne (przerwane lub zakończone niepowodzeniem)

RealtimeContentPart

Część zawartości w wiadomości.

RealtimeInputTextContentPart

Część zawartości tekstowej.

(No changes needed) Typ Description
typ ciąg Musi być "input_text"
SMS ciąg Zawartość tekstowa

RealtimeOutputTextContentPart

Część zawartości tekstowej.

(No changes needed) Typ Description
typ ciąg Musi być "text"
SMS ciąg Zawartość tekstowa

RealtimeInputAudioContentPart

Część zawartości audio.

(No changes needed) Typ Description
typ ciąg Musi być "input_audio"
audio ciąg Opcjonalny. Dane audio zakodowane w formacie Base64
transkrypcja ciąg Opcjonalny. Transkrypcja audio

RealtimeOutputAudioContentPart

Część zawartości audio.

(No changes needed) Typ Description
typ ciąg Musi być "audio"
audio ciąg Dane audio zakodowane w formacie Base64
transkrypcja ciąg Opcjonalny. Transkrypcja audio

Obiekty odpowiedzi

Czas rzeczywistyResponse

Obiekt odpowiedzi reprezentujący odpowiedź wnioskowania modelu.

(No changes needed) Typ Description
id ciąg Opcjonalny. Identyfikator odpowiedzi
obiekt ciąg Opcjonalny. Zawsze "realtime.response"
stan RealtimeResponseStatus Opcjonalny. Stan odpowiedzi
szczegóły statusu RealtimeResponseStatusDetails Opcjonalny. Szczegóły statusu
We/Wy RealtimeConversationResponseItem[] Opcjonalny. Elementy wyjściowe
użycie Czas rzeczywistyUsage Opcjonalny. Statystyki użycia tokenu
conversation_id ciąg Opcjonalny. Skojarzony identyfikator konwersacji
voice RealtimeVoice Opcjonalny. Głos używany do odpowiedzi
modalities string[] Opcjonalny. Używane modalności
output_audio_format RealtimeOutputAudioFormat Opcjonalny. Używany format audio
temperatura Liczba Opcjonalny. Używana temperatura
max_response_output_tokens liczba całkowita lub "inf" Opcjonalny. Maksymalna liczba użytych tokenów

RealtimeResponseStatus

Wartości stanu odpowiedzi.

Dozwolone wartości:

  • in_progress - Odpowiedź jest generowana
  • completed — Odpowiedź została ukończona pomyślnie
  • cancelled — Odpowiedź została anulowana
  • incomplete — Niekompletna odpowiedź (przerwana)
  • failed — Odpowiedź nie powiodła się z powodu błędu

Czas rzeczywistyUsage

Statystyki użycia tokenu.

(No changes needed) Typ Description
total_tokens liczba całkowita Łączna liczba użytych tokenów
input_tokens liczba całkowita Używane tokeny wejściowe
output_tokens liczba całkowita Wygenerowane tokeny wyjściowe
input_token_details TokenDetails Podział tokenów wejściowych
output_token_details TokenDetails Podział tokenów wyjściowych

TokenDetails

Szczegółowy podział użycia tokenu.

(No changes needed) Typ Description
cached_tokens liczba całkowita Opcjonalny. Używane tokeny buforowane
text_tokens liczba całkowita Opcjonalny. Używane tokeny tekstowe
audio_tokens liczba całkowita Opcjonalny. Używane tokeny audio

Obsługa błędów

RealtimeErrorDetails

Obiekt informacji o błędzie.

(No changes needed) Typ Description
typ ciąg Typ błędu (np. "invalid_request_error", "server_error")
kod ciąg Opcjonalny. Określony kod błędu
komunikat ciąg Opis błędu czytelnego dla człowieka
param ciąg Opcjonalny. Parametr związany z błędem
event_id ciąg Opcjonalny. Identyfikator zdarzenia klienta, które spowodowało błąd

RealtimeConversationRequestItem

Obiekt służy RealtimeConversationRequestItem do tworzenia nowego elementu w konwersacji za pośrednictwem zdarzenia conversation.item.create .

Jest to typ unii, który może być jednym z następujących:

RealtimeSystemMessageItem

Element komunikatu systemowego.

(No changes needed) Typ Description
typ ciąg Typ elementu.

Dozwolone wartości: message
rola ciąg Rola wiadomości.

Dozwolone wartości: system
zawartość tablica obiektu RealtimeInputTextContentPart Zawartość wiadomości.
id ciąg Unikatowy identyfikator elementu. Klient może określić identyfikator, aby ułatwić zarządzanie kontekstem po stronie serwera. Jeśli klient nie podaje identyfikatora, serwer go generuje.

RealtimeUserMessageItem

Element komunikatu użytkownika.

(No changes needed) Typ Description
typ ciąg Typ elementu.

Dozwolone wartości: message
rola ciąg Rola wiadomości.

Dozwolone wartości: user
zawartość tablica obiektu RealtimeInputTextContentPart lub RealtimeInputAudioContentPart Zawartość wiadomości.
id ciąg Unikatowy identyfikator elementu. Klient może określić identyfikator, aby ułatwić zarządzanie kontekstem po stronie serwera. Jeśli klient nie podaje identyfikatora, serwer go generuje.

RealtimeAssistantMessageItem

Element komunikatu asystenta.

(No changes needed) Typ Description
typ ciąg Typ elementu.

Dozwolone wartości: message
rola ciąg Rola wiadomości.

Dozwolone wartości: assistant
zawartość tablica obiektu RealtimeOutputTextContentPart Zawartość wiadomości.

RealtimeFunctionCallItem

Element wywołania funkcji.

(No changes needed) Typ Description
typ ciąg Typ elementu.

Dozwolone wartości: function_call
nazwa ciąg Nazwa funkcji do wywołania.
arguments ciąg Argumenty wywołania funkcji jako ciąg JSON.
call_id ciąg Identyfikator elementu wywołania funkcji.
id ciąg Unikatowy identyfikator elementu. Klient może określić identyfikator, aby ułatwić zarządzanie kontekstem po stronie serwera. Jeśli klient nie podaje identyfikatora, serwer go generuje.

RealtimeFunctionCallOutputItem

Element wyjściowy wywołania funkcji.

(No changes needed) Typ Description
typ ciąg Typ elementu.

Dozwolone wartości: function_call_output
call_id ciąg Identyfikator elementu wywołania funkcji.
We/Wy ciąg Dane wyjściowe wywołania funkcji, to jest dowolny ciąg z wynikiem funkcji, również może być pusty.
id ciąg Unikatowy identyfikator elementu. Jeśli klient nie podaje identyfikatora, serwer go generuje.

RealtimeMCPApprovalResponseItem

Element odpowiedzi na zatwierdzenie MCP.

(No changes needed) Typ Description
typ ciąg Typ elementu.

Dozwolone wartości: mcp_approval_response
approve typ logiczny (boolowski) Czy żądanie MCP zostało zatwierdzone.
approval_request_id ciąg Identyfikator żądania zatwierdzenia MCP.

RealtimeFunctionTool

Definicja narzędzia funkcji używanego przez punkt końcowy czasu rzeczywistego.

(No changes needed) Typ Description
typ ciąg Typ narzędzia.

Dozwolone wartości: function
nazwa ciąg Nazwa funkcji.
opis ciąg Opis funkcji, w tym wytyczne dotyczące użycia. Na przykład "Użyj tej funkcji, aby uzyskać bieżący czas".
parameters obiekt Parametry funkcji w postaci obiektu JSON.

RealtimeItemStatus

Dozwolone wartości:

  • in_progress
  • completed
  • incomplete

RealtimeResponseAudioContentPart

(No changes needed) Typ Description
typ ciąg Typ części zawartości.

Dozwolone wartości: audio
transkrypcja ciąg Transkrypcja dźwięku.

Ta właściwość jest dopuszczana do wartości null.

RealtimeResponseFunctionCallItem

(No changes needed) Typ Description
typ ciąg Typ elementu.

Dozwolone wartości: function_call
nazwa ciąg Nazwa elementu wywołania funkcji.
call_id ciąg Identyfikator elementu wywołania funkcji.
arguments ciąg Argumenty elementu wywołania funkcji.
stan RealtimeItemStatus Stan elementu.

RealtimeResponseFunctionCallOutputItem

(No changes needed) Typ Description
typ ciąg Typ elementu.

Dozwolone wartości: function_call_output
call_id ciąg Identyfikator elementu wywołania funkcji.
We/Wy ciąg Dane wyjściowe elementu wywołania funkcji.

RealtimeResponseOptions

(No changes needed) Typ Description
modalities macierz Modalności obsługiwane przez sesję.

Dozwolone wartości: text, audio

Na przykład jest to ustawienie domyślne, "modalities": ["text", "audio"] które włącza zarówno modalności tekstowe, jak i audio. Aby włączyć tylko tekst, ustaw wartość "modalities": ["text"]. Nie można włączyć tylko dźwięku.
instructions ciąg Instrukcje (komunikat systemowy), aby kierować odpowiedziami modelu.
voice RealtimeVoice Głos używany na potrzeby odpowiedzi modelu na sesję.

Po użyciu głosu w sesji na potrzeby odpowiedzi audio modelu nie można go zmienić.
narzędzia tablica narzędzia RealtimeTool Narzędzia dostępne dla modelu dla sesji.
tool_choice RealtimeToolChoice Narzędzie wybrane dla sesji.
temperatura Liczba Temperatura próbkowania dla modelu. Dozwolone wartości temperatury są ograniczone do [0,6, 1,2]. Wartość domyślna to 0.8.
max_response_output_tokens liczba całkowita lub "inf" Maksymalna liczba tokenów wyjściowych na odpowiedź asystenta, w tym wywołania narzędzi.

Określ liczbę całkowitą z zakresu od 1 do 4096, aby ograniczyć tokeny wyjściowe. W przeciwnym razie ustaw wartość na "inf", aby zezwolić na maksymalną liczbę tokenów.

Aby na przykład ograniczyć tokeny wyjściowe do 1000, ustaw wartość "max_response_output_tokens": 1000. Aby zezwolić na maksymalną liczbę tokenów, ustaw wartość "max_response_output_tokens": "inf".

Wartość domyślna to "inf".
konwersacja ciąg Określa, do której konwersacji jest dodawana odpowiedź. Obsługiwane wartości to auto i none.

auto Wartość (lub nie ustawienie tej właściwości) gwarantuje, że zawartość odpowiedzi zostanie dodana do domyślnej konwersacji sesji.

Ustaw tę właściwość na , aby none utworzyć odpowiedź poza pasmem, w której elementy nie zostaną dodane do domyślnej konwersacji.

Wartości domyślne "auto"
metadane mapa Konfiguracja maksymalnie 16 par klucz-wartość, które można dołączyć do obiektu. Może to być przydatne do przechowywania dodatkowych informacji o obiekcie w formacie ustrukturyzowanym. Klucze mogą mieć długość maksymalnie 64 znaków, a wartości mogą mieć długość maksymalnie 512 znaków.

Przykład: metadata: { topic: "classification" }

RealtimeResponseSession

Obiekt RealtimeResponseSession reprezentuje sesję w interfejsie API czasu rzeczywistego. Jest on używany w niektórych zdarzeniach serwera, takich jak:

(No changes needed) Typ Description
obiekt ciąg Obiekt sesji.

Dozwolone wartości: realtime.session
id ciąg Unikatowy identyfikator sesji.
model ciąg Model używany na potrzeby sesji.
modalities macierz Modalności obsługiwane przez sesję.

Dozwolone wartości: text, audio

Na przykład jest to ustawienie domyślne, "modalities": ["text", "audio"] które włącza zarówno modalności tekstowe, jak i audio. Aby włączyć tylko tekst, ustaw wartość "modalities": ["text"]. Nie można włączyć tylko dźwięku.
instructions ciąg Instrukcje (komunikat systemowy) dotyczące kierowania odpowiedziami tekstowymi i audio modelu.

Poniżej przedstawiono przykładowe instrukcje ułatwiające przewodnik zawartości i format odpowiedzi tekstowych i audio:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

Oto kilka przykładowych instrukcji ułatwiania zachowania audio:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

Chociaż model może nie zawsze przestrzegać tych instrukcji, udostępnia wskazówki dotyczące żądanego zachowania.
voice RealtimeVoice Głos używany na potrzeby odpowiedzi modelu na sesję.

Po użyciu głosu w sesji na potrzeby odpowiedzi audio modelu nie można go zmienić.
input_audio_sampling_rate liczba całkowita Częstotliwość próbkowania dla wejściowego dźwięku.
input_audio_format RealtimeAudioFormat Format wejściowego dźwięku.
output_audio_format RealtimeAudioFormat Format dźwięku wyjściowego.
input_audio_transcription RealtimeAudioInputTranscriptionSettings Ustawienia transkrypcji danych wejściowych audio.

Ta właściwość jest dopuszczana do wartości null.
turn_detection RealtimeTurnDetection Ustawienia wykrywania kolei dla sesji.

Ta właściwość jest dopuszczana do wartości null.
narzędzia tablica narzędzia RealtimeTool Narzędzia dostępne dla modelu dla sesji.
tool_choice RealtimeToolChoice Narzędzie wybrane dla sesji.
temperatura Liczba Temperatura próbkowania dla modelu. Dozwolone wartości temperatury są ograniczone do [0,6, 1,2]. Wartość domyślna to 0.8.
max_response_output_tokens liczba całkowita lub "inf" Maksymalna liczba tokenów wyjściowych na odpowiedź asystenta, w tym wywołania narzędzi.

Określ liczbę całkowitą z zakresu od 1 do 4096, aby ograniczyć tokeny wyjściowe. W przeciwnym razie ustaw wartość na "inf", aby zezwolić na maksymalną liczbę tokenów.

Aby na przykład ograniczyć tokeny wyjściowe do 1000, ustaw wartość "max_response_output_tokens": 1000. Aby zezwolić na maksymalną liczbę tokenów, ustaw wartość "max_response_output_tokens": "inf".

RealtimeResponseStatusDetails

(No changes needed) Typ Description
typ RealtimeResponseStatus Stan odpowiedzi.

RealtimeRateLimitsItem

(No changes needed) Typ Description
nazwa ciąg Nazwa właściwości limitu szybkości zawierająca informacje o tym elemencie.
limit liczba całkowita Maksymalny skonfigurowany limit dla tej właściwości limitu szybkości.
remaining liczba całkowita Pozostały limit przydziału dostępny dla skonfigurowanego limitu dla tej właściwości limitu szybkości.
reset_seconds Liczba Pozostały czas (w sekundach), dopóki ta właściwość limitu szybkości nie zostanie zresetowana.