Udostępnij za pośrednictwem


Odniesienie do zdarzeń dźwiękowych

Zdarzenia w czasie rzeczywistym są używane do komunikacji między klientem a serwerem w aplikacjach audio w czasie rzeczywistym. Zdarzenia są wysyłane jako obiekty JSON za pośrednictwem różnych punktów końcowych, takich jak WebSockets lub WebRTC. Zdarzenia są używane do zarządzania konwersacją, buforami audio i odpowiedziami w czasie rzeczywistym.

Można używać zdarzeń klienta audio i serwera z następującymi interfejsami API:

O ile nie określono inaczej, zdarzenia opisane w tym dokumencie mają zastosowanie do obu interfejsów API.

Zdarzenia klienta

Istnieje dziewięć zdarzeń klienta, które można wysłać z klienta do serwera:

Zdarzenie Opis
UtworzenieElementuKonwersacjiKlientaWRealnymCzasie Zdarzenie klienta conversation.item.create służy do dodawania nowego elementu do kontekstu konwersacji, w tym komunikatów, wywołań funkcji i odpowiedzi wywołań funkcji.
RealtimeClientEventUsunięcieElementuRozmowy Zdarzenie klienta conversation.item.delete służy do usuwania elementu z historii konwersacji.
RealtimeClientEventConversationItemRetrieve (Pobierz element konwersacji w czasie rzeczywistym) Zdarzenie klienta conversation.item.retrieve służy do pobierania elementu z historii konwersacji.
RealtimeClientEventConversationItemTruncate Zdarzenie klienta conversation.item.truncate służy do obcinania dźwięku poprzedniego asystenta.
RealtimeClientEventInputAudioBufferAppend Zdarzenie klienta input_audio_buffer.append służy do dołączania bajtów audio do wejściowego buforu audio.
RealtimeClientEventInputAudioBufferClear Zdarzenie klienta input_audio_buffer.clear służy do czyszczenia bajtów audio w buforze.
RealtimeClientEventInputAudioBufferCommit Zdarzenie klienta input_audio_buffer.commit służy do zatwierdzania buforu audio wejściowego użytkownika.
RealtimeClientEventOutputAudioBufferClear Zdarzenie klienta output_audio_buffer.clear służy do czyszczenia bajtów audio w buforze wyjściowym.

To zdarzenie dotyczy tylko usługi WebRTC.
RealtimeClientEventResponseCancel Zdarzenie klienta response.cancel służy do anulowania odpowiedzi w toku.
RealtimeClientEventResponseCreate Zdarzenie klienta response.create służy do poinstruowania serwera o utworzeniu odpowiedzi za pośrednictwem wnioskowania modelu.
AktualizacjaSesjiZdarzeniaKlientaWRealnymCzasie Zdarzenie klienta session.update służy do aktualizowania domyślnej konfiguracji sesji.

RealtimeClientWydarzenieTworzeniaElementuKonwersacji

Zdarzenie klienta conversation.item.create służy do dodawania nowego elementu do kontekstu konwersacji, w tym komunikatów, wywołań funkcji i odpowiedzi wywołań funkcji. To zdarzenie może służyć do wypełniania historii konwersacji i dodawania nowych elementów w połowie strumienia. Obecnie to zdarzenie nie może wypełnić komunikatów dźwiękowych asystenta.

Jeśli działanie zakończy się pomyślnie, serwer odpowie zdarzeniem conversation.item.createderror , w przeciwnym razie zostanie wysłane zdarzenie.

Struktura zdarzeń

{
  "type": "conversation.item.create",
  "previous_item_id": "<previous_item_id>"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.create.
poprzedni_id_elementu ciąg Identyfikator poprzedniego elementu, po którym zostanie wstawiony nowy element. Jeśli nie zostanie ustawiony, nowy element zostanie dołączony na końcu konwersacji. W przypadku ustawienia umożliwia wstawienie elementu w połowie konwersacji. Jeśli nie można odnaleźć identyfikatora, zostanie zwrócony błąd i element nie zostanie dodany.
element ElementŻądaniaRozmowyNaŻywo Element, który ma zostać dodany do konwersacji.

RealtimeClientEventConversationItemDelete

Zdarzenie klienta conversation.item.delete służy do usuwania elementu z historii konwersacji.

Serwer odpowiada za pomocą conversation.item.deleted zdarzenia, chyba że element nie istnieje w historii konwersacji, w tym przypadku serwer odpowiada z błędem.

Struktura zdarzeń

{
  "type": "conversation.item.delete",
  "item_id": "<item_id>"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.delete.
Identyfikator przedmiotu ciąg Identyfikator elementu do usunięcia.

WydarzenieKlientaWRealtimePobieranieElementuKonwersacji

Zdarzenie klienta conversation.item.retrieve służy do pobierania reprezentacji określonego elementu na serwerze w historii konwersacji. To zdarzenie jest przydatne, na przykład, do sprawdzenia dźwięku użytkownika po redukcji szumu i VAD.

Jeśli zdarzenie klienta zakończy się pomyślnie, serwer odpowie zdarzeniem conversation.item.retrieved . Jeśli element nie istnieje w historii konwersacji, serwer odpowie z błędem.

Struktura zdarzeń

{
  "type": "conversation.item.retrieve",
  "item_id": "<item_id>",
  "event_id": "<event_id>"
}

Właściwości

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

Zdarzenie klienta czasu rzeczywistego: skrócenie elementu rozmowy

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.truncate.
Identyfikator przedmiotu ciąg Identyfikator elementu komunikatu asystenta do obcinania. Można obcinać tylko elementy komunikatów asystenta.
indeks_treści liczba całkowita Indeks części zawartości do obcinania. Ustaw tę właściwość na wartość "0".
zakończenie_audio_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.

ZdarzenieWejścioweBuforaAudioKlientaWCzasieRzeczywistymDodawanie

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.append.
dźwięk ciąg Bajty audio zakodowane w formacie Base64. Ta wartość musi być w formacie określonym przez input_audio_format pole w konfiguracji sesji.

Czyszczenie bufora dźwięku wejściowego zdarzenia klienta w czasie rzeczywistym

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.clear.

Zatwierdzenie bufora audio wejściowego zdarzenia klienta w czasie rzeczywistym

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.commit.

W czasie rzeczywistym zdarzenie wyjścia klienta: czyszczenie bufora audio

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

Uwaga / Notatka

To zdarzenie dotyczy tylko usługi WebRTC.

To zdarzenie powinno być poprzedzone zdarzeniem response.cancel klienta, aby zatrzymać generowanie bieżącej odpowiedzi.

Serwer zatrzymuje generowanie dźwięku i reaguje na zdarzenie output_audio_buffer.cleared .

Struktura zdarzeń

{
  "type": "output_audio_buffer.clear"
}

Właściwości

(No changes needed) Typ Opis
event_id ciąg Identyfikator zdarzenia, które spowodowało błąd.
typ ciąg Typ zdarzenia musi mieć wartość output_audio_buffer.clear.

AnulowanieOdpowiedziNaZdarzenieKlientaWRzeczywistymCzasie

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

Serwer odpowiada za pomocą response.cancelled zdarzenia lub błędu, jeśli nie ma odpowiedzi na anulowanie.

Struktura zdarzeń

{
  "type": "response.cancel"
}

Właściwości

(No changes needed) Typ Opis
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.

Uwaga / Notatka

Zdarzenie klienta response.create obejmuje konfigurację wnioskowania, na przykład instructions, i temperature. Te pola mogą zastąpić konfigurację sesji tylko dla tej odpowiedzi.

Struktura zdarzeń

{
  "type": "response.create"
}

Właściwości

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

AktualizacjaSesjiZdarzeńKlientaW czasie rzeczywistym

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość session.update.
sesja RealtimeRequestSession Konfiguracja sesji.

Zdarzenia serwera

Istnieją 28 zdarzeń serwera, które można odebrać z serwera:

Zdarzenie Opis
RealtimeServerEventConversationCreated Zdarzenie serwera conversation.created jest zwracane bezpośrednio po utworzeniu sesji. Jedna konwersacja jest tworzona na sesję.
RealtimeServerEventElementKonwersacjiUtworzony Zdarzenie serwera conversation.item.created jest zwracane po utworzeniu elementu konwersacji.
RealtimeServerEventConversationItemRetrieved Zdarzenie serwera conversation.item.retrieved jest zwracane po odzyskaniu elementu konwersacji.
RejestrowaneWydarzenieNaSerwerzeUsunięcieElementuRozmowy Zdarzenie serwera conversation.item.deleted jest zwracane, gdy klient usunął element w konwersacji ze zdarzeniem conversation.item.delete .
ZdarzenieSerweraWczasieRzeczywistymPozycjaRozmowyWejścieTranskrypcjaAudioZakończona Zdarzenie serwera conversation.item.input_audio_transcription.completed jest wynikiem transkrypcji audio dla mowy zapisanej w buforze audio.
Niepowodzenie transkrypcji audio rozmowy przez RealtimeServerEvent 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ę.
Przedmiot rozmowy na serwerze w czasie rzeczywistym został skrócony Zdarzenie serwera conversation.item.truncated jest zwracane, gdy klient obcina wcześniej asystenta elementu komunikatu audio z zdarzeniem conversation.item.truncate .
RealtimeServerEventError Zdarzenie serwera error jest zwracane, gdy wystąpi błąd, który może być problemem klienta lub problemem serwera.
RealtimeServerEventInputAudioBufferCleared – wyczyszczono bufor audio wejściowego zdarzenia serwera czasu rzeczywistego. Zdarzenie serwera input_audio_buffer.cleared jest zwracane, gdy klient czyści wejściowy bufor audio ze zdarzeniem input_audio_buffer.clear .
Rejestracja bufora wejściowego audio RealtimeServerEvent Zdarzenie serwera input_audio_buffer.committed jest zwracane po zatwierdzeniu wejściowego buforu audio przez klienta lub automatycznie w trybie VAD serwera.
RealtimeServerEventInputAudioBufferSpeechStarted Zdarzenie serwera input_audio_buffer.speech_started jest zwracane w server_vad trybie, gdy mowa jest wykrywana w buforze audio.
Zatrzymano mówienie w buforze audio wejściowym serwera w czasie rzeczywistym Zdarzenie serwera input_audio_buffer.speech_stopped jest zwracane w server_vad trybie, gdy serwer wykryje koniec mowy w buforze audio.
Wyczyśczenie bufora audio wyjściowego wydarzenia serwera w czasie rzeczywistym Zdarzenie output_audio_buffer.cleared jest zwracane przez serwer, gdy użytkownik przerwał (input_audio_buffer.speech_started) lub kiedy klient wysłał zdarzenie output_audio_buffer.clear, aby ręcznie odciąć bieżącą odpowiedź audio.

To zdarzenie dotyczy tylko usługi WebRTC.
RealtimeServerEventOutputAudioBufferStarted Zdarzenie serwera output_audio_buffer.started jest generowane, gdy serwer rozpoczyna streaming audio do klienta. To zdarzenie jest emitowane po dodaniu części zawartości audio (response.content_part.added) do odpowiedzi.

To zdarzenie dotyczy tylko usługi WebRTC.
ZdarzenieSerweraRTWyjściowyBuforAudioZatrzymany Zdarzenie serwera output_audio_buffer.stopped jest zwracane, gdy bufor dźwięku wyjściowego został całkowicie opróżniony na serwerze i nie będzie więcej dźwięku.

To zdarzenie dotyczy tylko usługi WebRTC.
ZaktualizowanoLimityCzęstotliwościZdarzeńNaSerwerzeWczasieRzeczywistym Zdarzenie serwera rate_limits.updated jest emitowane na początku odpowiedzi, aby wskazać zaktualizowane limity szybkości.
RealtimeServerEventResponseAudioDelta Zdarzenie serwera response.audio.delta jest zwracane po zaktualizowaniu dźwięku wygenerowanego przez model.
RealtimeServerEventResponseAudioDone Zdarzenie serwera response.audio.done jest zwracane po zakończeniu generowania przez model dźwięku.
RealtimeServerEventResponseAudioTranscriptDelta Zdarzenie serwera response.audio_transcript.delta jest zwracane po zaktualizowaniu transkrypcji wygenerowanej przez model danych wyjściowych dźwięku.
RealtimeServerEventResponseAudioTranscriptDone Zdarzenie serwera response.audio_transcript.done jest zwracane po zakończeniu przesyłania strumieniowego wygenerowanego przez model transkrypcji danych wyjściowych dźwięku.
RealtimeServerEventResponseContentPartAdded Zdarzenie serwera response.content_part.added jest zwracane po dodaniu nowej części zawartości do elementu komunikatu asystenta.
RealtimeServerEventResponseContentPartDone Zdarzenie serwera response.content_part.done jest zwracane po zakończeniu przesyłania strumieniowego części zawartości.
Utworzono odpowiedź na zdarzenie serwera w czasie rzeczywistym Zdarzenie serwera response.created jest zwracane po utworzeniu nowej odpowiedzi. Jest to pierwsze zdarzenie tworzenia odpowiedzi, w którym odpowiedź jest w stanie początkowym in_progress.
RealtimeServerEventResponseDone Zdarzenie serwera response.done jest zwracane po zakończeniu przesyłania strumieniowego odpowiedzi.
RealtimeServerEventResponseFunctionCallArgumentsDelta Zdarzenie serwera response.function_call_arguments.delta jest zwracane po zaktualizowaniu argumentów wywołania funkcji wygenerowanej przez model.
RealtimeServerEventResponseFunctionCallArgumentsDone Zdarzenie serwera response.function_call_arguments.done jest zwracane, gdy argumenty wywołania funkcji wygenerowane przez model są wykonywane strumieniowo.
RealtimeServerEventResponseOutputItemAdded Zdarzenie serwera response.output_item.added jest zwracane po utworzeniu nowego elementu podczas generowania odpowiedzi.
RealtimeServerEventResponseOutputItemDone Zdarzenie serwera response.output_item.done jest zwracane po zakończeniu przesyłania strumieniowego elementu.
RealtimeServerEventResponseTextDelta Zdarzenie serwera response.text.delta jest zwracane po zaktualizowaniu tekstu wygenerowanego przez model.
RealtimeServerEventResponseTextDone Zdarzenie serwera response.text.done jest zwracane po zakończeniu przesyłania strumieniowego tekstu wygenerowanego przez model.
RealtimeServerEventSessionTworzenie Zdarzenie serwera jest pierwszym zdarzeniem serwera session.created podczas ustanawiania nowego połączenia z interfejsem API czasu rzeczywistego. To zdarzenie tworzy i zwraca nową sesję z konfiguracją sesji domyślnej.
ZaktualizowanaSesjaZdarzeniaSerweraWRealnymCzasie Zdarzenie serwera session.updated jest zwracane po zaktualizowaniu sesji przez klienta. Jeśli wystąpi błąd, serwer wysyła error zamiast tego zdarzenie.

ZdarzenieSerweraUtworzonoKonwersacjęCzasuRzeczywistego

Zdarzenie serwera conversation.created jest zwracane bezpośrednio po utworzeniu sesji. Jedna konwersacja jest tworzona na sesję.

Struktura zdarzeń

{
  "type": "conversation.created",
  "conversation": {
    "id": "<id>",
    "object": "<object>"
  }
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.created.
konwersacja obiekt Zasób konwersacji.

Właściwości konwersacji

(No changes needed) Typ Opis
id ciąg Unikalny identyfikator rozmowy.
obiekt ciąg Typ obiektu musi mieć wartość realtime.conversation.

ZdarzenieSerweraW czasieRzeczywistymElementKonwersacjiUtworzony

Zdarzenie serwera conversation.item.created jest zwracane po utworzeniu elementu konwersacji. Istnieje kilka scenariuszy, które generują to zdarzenie:

  • Serwer generuje odpowiedź, która w przypadku pomyślnego utworzenia jednego lub dwóch elementów typu message (rola assistant) lub typu function_call.
  • Bufor audio wejściowego jest zatwierdzany przez klienta lub serwer (w server_vad trybie). Serwer pobiera zawartość wejściowego buforu audio i dodaje go do nowego elementu komunikatu użytkownika.
  • Klient wysłał zdarzenie, conversation.item.create aby dodać nowy element do konwersacji.

Struktura zdarzeń

{
  "type": "conversation.item.created",
  "previous_item_id": "<previous_item_id>"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.created.
poprzedni_id_elementu ciąg Identyfikator poprzedniego elementu w kontekście konwersacji umożliwia klientowi zrozumienie kolejności konwersacji.
element RealtimeConversationResponseItem Element, który został utworzony.

ZdarzenieSerweraCzasuRzeczywistegoPobraneElementyKonwersacji

Zdarzenie serwera conversation.item.retrieved jest zwracane po odzyskaniu elementu konwersacji.

Struktura zdarzeń

{
  "type": "conversation.item.retrieved",
  "previous_item_id": "<previous_item_id>"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.retrieved.
event_id ciąg Identyfikator zdarzenia.
element RealtimeConversationResponseItem Element, który został pobrany.

Przedmiot rozmowy na serwerze w czasie rzeczywistym został usunięty.

Zdarzenie serwera conversation.item.deleted jest zwracane, gdy klient usunął element w konwersacji ze zdarzeniem conversation.item.delete . To zdarzenie służy do synchronizowania historii konwersacji serwera z widokiem klienta.

Struktura zdarzeń

{
  "type": "conversation.item.deleted",
  "item_id": "<item_id>"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.deleted.
Identyfikator przedmiotu ciąg Identyfikator usuniętego elementu.

Zakończenie transkrypcji dźwięku w elemencie konwersacji zdarzenia serwera w czasie rzeczywistym

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.input_audio_transcription.completed.
Identyfikator przedmiotu ciąg Identyfikator elementu wiadomości użytkownika zawierającego dźwięk.
indeks_treści liczba całkowita Indeks części zawartości zawierającej dźwięk.
transkrypcja ciąg Transkrypcja tekstu.

RealtimeServerEventConversationItemInputAudioTranscriptionFailed (Niepowodzenie transkrypcji audio)

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.input_audio_transcription.failed.
Identyfikator przedmiotu ciąg Identyfikator elementu komunikatu użytkownika.
indeks_treści 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 Opis
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.

CzasRzeczywistyWydarzenieSerweraElementKonwersacjiObcię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 Opis
typ ciąg Typ zdarzenia musi mieć wartość conversation.item.truncated.
Identyfikator przedmiotu ciąg Identyfikator elementu komunikatu asystenta, który został obcięty.
indeks_treści liczba całkowita Indeks części zawartości, która została obcięta.
zakończenie_audio_ms liczba całkowita Czas trwania, do którego dźwięk został obcięty, w milisekundach.

RealtimeServerEventError

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 Opis
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 Opis
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.

ZdarzenieSerweraWierzchołkiBuforDźwiękuOpróżniony

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.cleared.

Zatwierdzenie bufora audio wejściowego zdarzenia serwera w czasie rzeczywistym

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.committed.
poprzedni_id_elementu ciąg Identyfikator poprzedniego elementu, po którym zostanie wstawiony nowy element.
Identyfikator przedmiotu ciąg Identyfikator utworzonego elementu wiadomości użytkownika.

ZdarzenieSerweraWczasieRzeczywistymWejścieBuforuAudioMowaRozpoczęta

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 Opis
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.
Identyfikator przedmiotu ciąg Identyfikator elementu komunikatu użytkownika utworzony podczas zatrzymywania mowy.

ZdarzenieSerweraNaŻywoWejścieBuforaAudioMowaZatrzymana

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość input_audio_buffer.speech_stopped.
zakończenie_audio_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.
Identyfikator przedmiotu ciąg Identyfikator utworzonego elementu wiadomości użytkownika.

ZdarzenieSerweraCzasRzeczywistyWyczyszczonoBuforWyjściaAudio

Zdarzenie na serwerze output_audio_buffer.cleared jest zwracane po wyczyszczeniu bufora wyjściowego audio.

Uwaga / Notatka

To zdarzenie dotyczy tylko usługi WebRTC.

Dzieje się tak w trybie VAD, gdy użytkownik przerwał (input_audio_buffer.speech_started) lub gdy klient wywołał zdarzenie output_audio_buffer.clear, aby ręcznie odciąć bieżącą odpowiedź dźwiękową.

Struktura zdarzeń

{
  "type": "output_audio_buffer.cleared"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość output_audio_buffer.cleared.
event_id ciąg Identyfikator zdarzenia serwera.
identyfikator_reakcji ciąg Unikatowy identyfikator odpowiedzi, która wygenerowała dźwięk.

Rozpoczęto odtwarzanie bufora audio zdarzenia serwera w czasie rzeczywistym

Zdarzenie serwera output_audio_buffer.started jest generowane, gdy serwer rozpoczyna streaming audio do klienta. To zdarzenie jest emitowane po dodaniu części zawartości audio (response.content_part.added) do odpowiedzi.

Uwaga / Notatka

To zdarzenie dotyczy tylko usługi WebRTC.

Struktura zdarzeń

{
  "type": "output_audio_buffer.started",
  "event_id": "<item_id>",
  "response_id": "<response_id>"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość output_audio_buffer.started.
event_id ciąg Identyfikator zdarzenia serwera.
identyfikator_reakcji ciąg Unikatowy identyfikator odpowiedzi, która wygenerowała dźwięk.

Bufor dźwięku wyjściowego zdarzenia serwera w czasie rzeczywistym zatrzymany

Zdarzenie serwera output_audio_buffer.stopped jest zwracane, gdy bufor dźwięku wyjściowego został całkowicie opróżniony na serwerze i nie będzie więcej dźwięku.

Uwaga / Notatka

To zdarzenie dotyczy tylko usługi WebRTC.

Zdarzenie jest zwracane po wysłaniu pełnych danych odpowiedzi do klienta za pośrednictwem zdarzenia response.done.

Struktura zdarzeń

{
  "type": "output_audio_buffer.stopped",
  "audio_end_ms": 0,
  "item_id": "<item_id>"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość output_audio_buffer.stopped.
event_id ciąg Identyfikator zdarzenia serwera.
identyfikator_reakcji ciąg Unikatowy identyfikator odpowiedzi, która wygenerowała dźwięk.

Zaktualizowano limity szybkości zdarzeń serwera w czasie rzeczywistym

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość rate_limits.updated.
limity prędkości tablica elementu RealtimeServerEventRateLimitsUpdatedRateLimitsItem Lista informacji o limicie szybkości.

RealtimeServerEventResponseAudioDelta

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.audio.delta.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
indeks_treści liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
delta ciąg Delta danych audio zakodowanych w formacie Base64.

Zakończenie audio w czasie rzeczywistym reakcji serwera na zdarzenie

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.audio.done.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
indeks_treści liczba całkowita Indeks części zawartości w tablicy zawartości elementu.

RealtimeServerEventResponseAudioTranscriptDelta

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.audio_transcript.delta.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
indeks_treści liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
delta ciąg Delta transkrypcji.

Zakończenie transkrypcji audio odpowiedzi zdarzenia z serwera w czasie rzeczywistym

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.audio_transcript.done.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
indeks_treści liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
transkrypcja ciąg Ostatnia transkrypcja dźwięku.

Dodanie części zawartości odpowiedzi na zdarzenie serwera w czasie rzeczywistym

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": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość response.content_part.added.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu, do którego została dodana część zawartości.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
indeks_treści liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
część RealtimeContentPart Część zawartości, która została dodana.

Właściwości części

(No changes needed) Typ Opis
typ RealtimeContentPartType

Część zawartości odpowiedzi na natychmiastowe wydarzenie serwera została ukończona

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": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość response.content_part.done.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
indeks_treści liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
część RealtimeContentPart Część zawartości, która jest wykonywana.

Właściwości części

(No changes needed) Typ Opis
typ RealtimeContentPartType

UtworzonoOdpowiedźNaZdarzenieSerweraW CzasieRzeczywistym

Zdarzenie serwera response.created jest zwracane po utworzeniu nowej odpowiedzi. Jest to pierwsze zdarzenie tworzenia odpowiedzi, w którym odpowiedź jest w stanie początkowym in_progress.

Struktura zdarzeń

{
  "type": "response.created"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość response.created.
odpowiedź Czas rzeczywistyResponse Obiekt odpowiedzi.

Zakończenie odpowiedzi serwera wydarzeń w czasie rzeczywistym

Zdarzenie serwera response.done jest zwracane po zakończeniu przesyłania strumieniowego odpowiedzi. To zdarzenie jest zawsze emitowane, niezależnie od stanu końcowego. Obiekt odpowiedzi uwzględniony w response.done zdarzeniu zawiera wszystkie elementy wyjściowe w odpowiedzi, ale pomija nieprzetworzone dane audio.

Struktura zdarzeń

{
  "type": "response.done"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość response.done.
odpowiedź Czas rzeczywistyResponse Obiekt odpowiedzi.

RealtimeSerwerZdarzenieOdpowiedźFunkcjaWywołanieArgumentyDelta

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.function_call_arguments.delta.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu wywołania funkcji.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
identyfikator_rozmowy ciąg Identyfikator wywołania funkcji.
delta ciąg Argumenty delta jako ciąg JSON.

Zakończono przesyłanie argumentów wywołania funkcji dla zdarzenia serwera czasu rzeczywistego

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.function_call_arguments.done.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu wywołania funkcji.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
identyfikator_rozmowy ciąg Identyfikator wywołania funkcji.
Argumenty ciąg Ostatnie argumenty jako ciąg JSON.

Wyjście reakcji zdarzenia serwera w czasie rzeczywistym: Element dodany

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.output_item.added.
identyfikator_reakcji ciąg Identyfikator odpowiedzi, do której należy element.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
element RealtimeConversationResponseItem Element, który został dodany.

WyjścieSkończonoElementOdpowiedziZdarzeniaSerweraWRealnymCzasie

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.output_item.done.
identyfikator_reakcji ciąg Identyfikator odpowiedzi, do której należy element.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
element RealtimeConversationResponseItem Element, który jest wykonywany strumieniowo.

RealtimeServerEventResponseTextDelta

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.text.delta.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
indeks_treści liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
delta ciąg Delta tekstu.

Tekst odpowiedzi na wydarzenie serwera w czasie rzeczywistym zakończony

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 Opis
typ ciąg Typ zdarzenia musi mieć wartość response.text.done.
identyfikator_reakcji ciąg Identyfikator odpowiedzi.
Identyfikator przedmiotu ciąg Identyfikator elementu.
indeks_wyjściowy liczba całkowita Indeks elementu wyjściowego w odpowiedzi.
indeks_treści liczba całkowita Indeks części zawartości w tablicy zawartości elementu.
SMS ciąg Końcowa zawartość tekstowa.

RealtimeServerEventSessionTworzenie

Zdarzenie serwera jest pierwszym zdarzeniem serwera session.created podczas ustanawiania nowego połączenia z interfejsem API czasu rzeczywistego. To zdarzenie tworzy i zwraca nową sesję z konfiguracją sesji domyślnej.

Struktura zdarzeń

{
  "type": "session.created"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość session.created.
sesja RealtimeResponseSession Obiekt sesji.

Sesja Zdarzeń Serwera w Czasie Rzeczywistym Zaktualizowana

Zdarzenie serwera session.updated jest zwracane po zaktualizowaniu sesji przez klienta. Jeśli wystąpi błąd, serwer wysyła error zamiast tego zdarzenie.

Struktura zdarzeń

{
  "type": "session.updated"
}

Właściwości

(No changes needed) Typ Opis
typ ciąg Typ zdarzenia musi mieć wartość session.updated.
sesja RealtimeResponseSession Obiekt sesji.

Komponenty

Format audio w czasie rzeczywistym

Dozwolone wartości:

  • pcm16
  • g711_ulaw
  • g711_alaw

ModelTranskrypcjiDźwiękuNaŻywo

Dozwolone wartości:

  • whisper-1
  • gpt-4o-transcribe
  • gpt-4o-mini-transcribe

Ustawienia transkrypcji wejścia audio w czasie rzeczywistym

(No changes needed) Typ Opis
język ciąg Język wejściowego dźwięku. Podanie języka wejściowego w formacie ISO-639-1 (np en. ) poprawi dokładność i opóźnienie.
model RealtimeAudioInputTranscriptionModel Model transkrypcji danych wejściowych audio. Na przykład whisper-1.
monit ciąg Polecenie do transkrypcji danych wejściowych audio. Opcjonalny tekst prowadzący do stylu modelu lub kontynuacji poprzedniego segmentu audio. whisper-1 W przypadku modelu monit jest listą słów kluczowych. W przypadku modeli gpt-4o-transcribe i gpt-4o-mini-transcribe komenda jest wolnym ciągiem tekstowym, takim jak "oczekiwać słów związanych z technologią".

Ustawienia redukcji szumów dla wejściowego dźwięku w czasie rzeczywistym (RealtimeAudioInputAudioNoiseReductionSettings)

(No changes needed) Typ Opis
typ ciąg Typ redukcji szumu. Określ near_field dla mikrofonów bliskiego zasięgu, takich jak słuchawki, lub far_field dla mikrofonów dalekiego zasięgu, takich jak mikrofony w laptopach lub w salach konferencyjnych.

RealtimeClientEvent

(No changes needed) Typ Opis
typ RealtimeClientEventType Typ zdarzenia klienta.
event_id ciąg Unikatowy identyfikator zdarzenia. Klient może określić identyfikator, który pomoże zidentyfikować zdarzenie.

RealtimeClientEventType

Dozwolone wartości:

  • session.update
  • input_audio_buffer.append
  • input_audio_buffer.commit
  • input_audio_buffer.clear
  • conversation.item.create
  • conversation.item.delete
  • conversation.item.truncate
  • response.create
  • response.cancel

CzęśćTreściWRealnymCzasie

(No changes needed) Typ Opis
typ RealtimeContentPartType Typ zawartości.

Właściwość function obiektu.

Dozwolone wartości: input_text, , input_audioitem_reference, text.
SMS ciąg Zawartość tekstowa. Ta właściwość ma zastosowanie do input_text typów zawartości i text .
id ciąg Identyfikator poprzedniego elementu konwersacji do odwołania w elementach utworzonych zarówno przez klienta, jak i serwer. Ta właściwość ma zastosowanie do item_reference typu zawartości w response.create zdarzeniach.
dźwięk ciąg Bajty audio zakodowane w formacie base64. Ta właściwość ma zastosowanie do input_audio typu zawartości.
transkrypcja ciąg Transkrypcja dźwięku. Ta właściwość ma zastosowanie do input_audio typu zawartości.

TypCzęściTreściW czasieRzeczywistym

Dozwolone wartości:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

Element, który ma zostać dodany do konwersacji.

W tej tabeli opisano wszystkie RealtimeConversationItem właściwości. Właściwości, które mają zastosowanie dla każdego zdarzenia, zależą od właściwości RealtimeItemType.

(No changes needed) Typ Opis
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.
typ RealtimeItemType Typ elementu.

Dozwolone wartości: message, , function_callfunction_call_output
obiekt ciąg Identyfikator zwracanego obiektu interfejsu API. Wartość będzie zawsze mieć wartość realtime.item.
stan RealtimeItemStatus Stan elementu. To pole nie ma wpływu na konwersację, ale jest akceptowane pod kątem spójności ze zdarzeniem conversation.item.created .

Dozwolone wartości: completed, incomplete
rola RealtimeMessageRole Rola nadawcy wiadomości. Ta właściwość ma zastosowanie tylko dla message elementów.

Dozwolone wartości: system, , userassistant
zawartość tablica obiektu RealtimeContentPart Zawartość wiadomości. Ta właściwość ma zastosowanie tylko dla message elementów.

— Elementy wiadomości roli system obsługują tylko input_text zawartość.
— Elementy wiadomości pomocy technicznej user i input_text zawartości roliinput_audio.
— Elementy wiadomości zawartości obsługującej assistant rolętext.
identyfikator_rozmowy ciąg Identyfikator wywołania funkcji (dla function_call i function_call_output elementów). W przypadku przekazania function_call_output elementu serwer sprawdzi, czy function_call element o tym samym identyfikatorze istnieje w historii konwersacji.
nazwa ciąg Nazwa wywoływanej funkcji (dla function_call elementów).
Argumenty ciąg Argumenty wywołania funkcji (dla function_call elementów).
We/Wy ciąg Dane wyjściowe wywołania funkcji (dla function_call_output elementów).

ElementProśbyRozmowyNaŻywo

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

(No changes needed) Typ Opis
typ RealtimeItemType Typ elementu.
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.

ElementOdpowiedziRozmowyNaŻywo

Obiekt RealtimeConversationResponseItem reprezentuje element w konwersacji. Jest on używany w niektórych zdarzeniach serwera, takich jak:

(No changes needed) Typ Opis
obiekt ciąg Identyfikator zwróconego obiektu interfejsu API.

Dozwolone wartości: realtime.item
typ RealtimeItemType Typ elementu.

Dozwolone wartości: message, , function_callfunction_call_output
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.

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

RealtimeFunctionTool

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

(No changes needed) Typ Opis
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".
Parametry obiekt Parametry funkcji w postaci obiektu JSON.

StatusElementuW czasieRzeczywistym

Dozwolone wartości:

  • in_progress
  • completed
  • incomplete

TypElementuCzasuRzeczywistego

Dozwolone wartości:

  • message
  • function_call
  • function_call_output

RolaWiadomościWRealnymCzasie

Dozwolone wartości:

  • system
  • user
  • assistant

WiadomośćAsystentaŻądaniaW czasieRzeczywistym

(No changes needed) Typ Opis
rola ciąg Rola wiadomości.

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

Część Treści Audio Żądania w Czasie Rzeczywistym

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

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

Element wywołania funkcji żądania w czasie rzeczywistym

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

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

ElementWyjściowyFunkcjiŻądaniaWykonywanegoWCzasieRzeczywistym

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

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

ElementWiadomościŻądaniaW czasieRzeczywistym

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

Dozwolone wartości: message
rola RealtimeMessageRole Rola wiadomości.
stan RealtimeItemStatus Stan elementu.

ElementOdniesieniaWiadomościŻądaniaW Czasie Rzeczywistym

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

Dozwolone wartości: message
id ciąg Identyfikator elementu wiadomości.

SesjaZapytańWRealnymCzasie

Obiekt jest używany RealtimeRequestSession , gdy chcesz zaktualizować konfigurację sesji za pośrednictwem zdarzenia session.update .

(No changes needed) Typ Opis
Sposoby 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.
instrukcje 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.
głos 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ć.
format_dźwięku_wejściowego RealtimeAudioFormat Format wejściowego dźwięku.
format_wyjściowy_dźwięku RealtimeAudioFormat Format dźwięku wyjściowego.
redukcja szumów w sygnale wejściowym audio Ustawienia redukcji szumów w czasie rzeczywistym dla wejścia audio 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.
transkrypcja_audio_wejściowa Ustawienia Transkrypcji Wejścia Audio w Czasie Rzeczywistym 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 punkt końcowy /audio/transcriptions i powinna być traktowana jako wskazówka dotycząca zawartości wejściowego 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.
wykrywanie zakrętów 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.
wybór narzędzia 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.
maksymalna_liczba_tokenów_odpowiedzi 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".

PozycjaWiadomościSystemuŻądaniaWRealnymCzasie

(No changes needed) Typ Opis
rola ciąg Rola wiadomości.

Dozwolone wartości: system
zawartość tablica obiektu RealtimeRequestTextContentPart Zawartość wiadomości.

CzęśćTekstuŻądaniaW CzasieRzeczywistym

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

Dozwolone wartości: input_text
SMS ciąg Zawartość tekstowa.

ElementWiadomościUżytkownikaWnioskuWRealnymCzasie

(No changes needed) Typ Opis
rola ciąg Rola wiadomości.

Dozwolone wartości: user
zawartość tablica elementów RealtimeRequestTextContentPart lub RealtimeRequestAudioContentPart Zawartość wiadomości.

Czas rzeczywistyResponse

(No changes needed) Typ Opis
obiekt ciąg Obiekt odpowiedzi.

Dozwolone wartości: realtime.response
id ciąg Unikatowy identyfikator odpowiedzi.
stan RealtimeResponseStatus Stan odpowiedzi.

Domyślną wartością stanu jest in_progress.
szczegóły statusu RealtimeResponseStatusDetails Szczegóły stanu odpowiedzi.

Ta właściwość jest dopuszczana do wartości null.
We/Wy tablica obiektów RealtimeConversationResponseItem Elementy wyjściowe odpowiedzi.
użycie obiekt Statystyki użycia odpowiedzi. Każda sesja interfejsu API w czasie rzeczywistym utrzymuje kontekst konwersacji i dołącza nowe elementy do konwersacji. Dane wyjściowe z poprzednich kolei (tokeny tekstowe i dźwiękowe) są wprowadzane później.

Zobacz następne zagnieżdżone właściwości.
+ całkowite_znaczniki liczba całkowita Łączna liczba tokenów w odpowiedzi, w tym tekst wejściowy i wyjściowy oraz tokeny audio.

Właściwość usage obiektu.
+ input_tokens liczba całkowita Liczba tokenów wejściowych używanych w odpowiedzi, w tym tokenów tekstowych i dźwiękowych.

Właściwość usage obiektu.
+ output_tokens liczba całkowita Liczba tokenów wyjściowych wysłanych w odpowiedzi, w tym tokeny tekstowe i dźwiękowe.

Właściwość usage obiektu.
+ szczegóły_tokenu_wejściowego obiekt Szczegółowe informacje o tokenach wejściowych używanych w odpowiedzi.

Właściwość usage obiektu.

Zobacz następne zagnieżdżone właściwości.
+ cached_tokens liczba całkowita Liczba buforowanych tokenów używanych w odpowiedzi.

Właściwość input_token_details obiektu.
+ tokeny tekstowe liczba całkowita Liczba tokenów tekstowych używanych w odpowiedzi.

Właściwość input_token_details obiektu.
+ audio_tokens liczba całkowita Liczba tokenów dźwiękowych używanych w odpowiedzi.

Właściwość input_token_details obiektu.
+ szczegóły_wyjściowego_tokena obiekt Szczegółowe informacje o tokenach wyjściowych używanych w odpowiedzi.

Właściwość usage obiektu.

Zobacz następne zagnieżdżone właściwości.
+ tokeny tekstowe liczba całkowita Liczba tokenów tekstowych używanych w odpowiedzi.

Właściwość output_token_details obiektu.
+ audio_tokens liczba całkowita Liczba tokenów dźwiękowych używanych w odpowiedzi.

Właściwość output_token_details obiektu.

CzęśćAudioZawartościOdpowiedziW czasie rzeczywistym

(No changes needed) Typ Opis
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.

RealtimeResponseBase

Zasób odpowiedzi.

ElementWywołaniaFunkcjiOdpowiedziWRealnymCzasie

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

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

ElementWynikuWywołaniaFunkcjiW czasieRzeczywistym

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

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

ElementWiadomościOdpowiedziNaŻywo

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

Dozwolone wartości: message
rola RealtimeMessageRole Rola wiadomości.
zawartość macierz Zawartość wiadomości.

Elementy tablicy: RealtimeResponseTextContentPart
stan RealtimeItemStatus Stan elementu.

Opcje reakcji w czasie rzeczywistym

(No changes needed) Typ Opis
Sposoby 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.
instrukcje 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.
głos 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ć.
format_wyjściowy_dźwięku RealtimeAudioFormat Format dźwięku wyjściowego.
narzędzia tablica narzędzia RealtimeTool Narzędzia dostępne dla modelu dla sesji.
wybór narzędzia 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.
maks__tokeny_wyjściowe 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. Aby uzyskać więcej informacji, zobacz przewodnik z instrukcjami.

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" }
dane wejściowe macierz Elementy wejściowe do uwzględnienia w wierszu polecenia dla modelu. Tworzy nowy kontekst dla tej odpowiedzi bez uwzględniania konwersacji domyślnej. Może zawierać odwołania do elementów z konwersacji domyślnej.

Elementy tablicy: RealtimeConversationItemBase

SesjaOdpowiedziW CzasieRzeczywistym

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

(No changes needed) Typ Opis
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.
Sposoby 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.
instrukcje 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.
głos 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ć.
format_dźwięku_wejściowego RealtimeAudioFormat Format wejściowego dźwięku.
format_wyjściowy_dźwięku RealtimeAudioFormat Format dźwięku wyjściowego.
transkrypcja_audio_wejściowa Ustawienia Transkrypcji Wejścia Audio w Czasie Rzeczywistym Ustawienia transkrypcji danych wejściowych audio.

Ta właściwość jest dopuszczana do wartości null.
wykrywanie zakrętów 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.
wybór narzędzia 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.
maksymalna_liczba_tokenów_odpowiedzi 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".

StatusOdpowiedziWRealnymCzasie

Dozwolone wartości:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

SzczegółyStatusuOdpowiedziWRealnymCzasie

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

RzeczywistoczasowaOdpowiedźTekstowaCzęśćTreści

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

Dozwolone wartości: text
SMS ciąg Zawartość tekstowa.

RealtimeServerEvent

(No changes needed) Typ Opis
typ RealtimeServerEventType Typ zdarzenia serwera.
event_id ciąg Unikatowy identyfikator zdarzenia serwera.

Limity częstości zdarzeń serwera w czasie rzeczywistym zaktualizowane limity pozycji

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

Typ wydarzenia serwera w czasie rzeczywistym

Dozwolone wartości:

  • session.created
  • session.updated
  • conversation.created
  • conversation.item.created
  • conversation.item.deleted
  • conversation.item.truncated
  • response.created
  • response.done
  • rate_limits.updated
  • response.output_item.added
  • response.output_item.done
  • response.content_part.added
  • response.content_part.done
  • response.audio.delta
  • response.audio.done
  • response.audio_transcript.delta
  • response.audio_transcript.done
  • response.text.delta
  • response.text.done
  • response.function_call_arguments.delta
  • response.function_call_arguments.done
  • input_audio_buffer.speech_started
  • input_audio_buffer.speech_stopped
  • conversation.item.input_audio_transcription.completed
  • conversation.item.input_audio_transcription.failed
  • input_audio_buffer.committed
  • input_audio_buffer.cleared
  • error

Wykrywanie Obrotów w Czasie Rzeczywistym na Serwerze VAD

(No changes needed) Typ Opis
typ ciąg Typ wykrywania kolei.

Dozwolone wartości: server_vad
próg Liczba Próg aktywacji dla wykrywania zwrotu vaD serwera. W hałaśliwych środowiskach może być konieczne zwiększenie progu, aby uniknąć wyników fałszywie dodatnich. W cichych środowiskach może być konieczne zmniejszenie progu, aby uniknąć wyników fałszywie ujemnych.

Wartość domyślna to 0.5. Próg można ustawić na wartość między 0.0 i 1.0.
długość prefiksu ms ciąg Czas trwania dźwięku mowy (w milisekundach) do uwzględnienia przed rozpoczęciem wykrytej mowy.

Wartość domyślna to 300.
czas_trwania_ciszy_ms ciąg Czas trwania ciszy (w milisekundach), aby wykryć koniec mowy. Chcesz wykryć koniec mowy tak szybko, jak to możliwe, ale nie zbyt szybko, aby uniknąć odcięcia ostatniej części mowy.

Model odpowie szybciej, jeśli ustawisz tę wartość na niższą liczbę, ale może ona odciąć ostatnią część mowy. Jeśli ustawisz tę wartość na wyższą liczbę, model będzie czekać dłużej, aby wykryć koniec mowy, ale może to potrwać dłużej.

RealtimeSessionBase

Konfiguracja obiektu sesji w czasie rzeczywistym.

Narzędzia czasu rzeczywistego

Podstawowa reprezentacja definicji narzędzia w czasie rzeczywistym.

(No changes needed) Typ Opis
typ RealtimeToolType Typ narzędzia.

RealtimeToolChoice

Połączony zestaw dostępnych reprezentacji dla parametru czasu tool_choice rzeczywistego obejmujący zarówno opcje literału ciągu, jak "auto" i odwołania strukturalne do zdefiniowanych narzędzi.

RealtimeToolChoiceFunctionObject

Reprezentacja czasu tool_choice rzeczywistego wybierania nazwanego narzędzia funkcji.

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

Dozwolone wartości: function
funkcja obiekt Narzędzie funkcji do wybrania.

Zobacz następne zagnieżdżone właściwości.
+ nazwa ciąg Nazwa narzędzia funkcji.

Właściwość function obiektu.

RealtimeToolChoiceLiteral

Dostępny zestaw opcji literału tool_choice ciągu na poziomie trybu dla punktu końcowego w czasie rzeczywistym.

Dozwolone wartości:

  • auto
  • none
  • required

RealtimeToolChoiceObject

Podstawowa reprezentacja dla czasu tool_choice rzeczywistego wybierania nazwanego narzędzia.

(No changes needed) Typ Opis
typ RealtimeToolType Typ elementu tool_choice.

RealtimeToolType

Obsługiwane narzędzia dyskryminujące typy narzędzi dla narzędzi w czasie rzeczywistym. Obecnie obsługiwane są tylko narzędzia "function".

Dozwolone wartości:

  • function

DetekcjaZakrętówWCzasieRzeczywistym

(No changes needed) Typ Opis
typ TypDetekcjiSkrętówWCzasieRzeczywistym Typ wykrywania kolei.

Dozwolone wartości: semantic_vad lub server_vad
próg Liczba Próg aktywacji dla wykrywania zwrotów serwera VAD (server_vad). W hałaśliwych środowiskach może być konieczne zwiększenie progu, aby uniknąć wyników fałszywie dodatnich. W cichych środowiskach może być konieczne zmniejszenie progu, aby uniknąć wyników fałszywie ujemnych.

Wartość domyślna to 0.5. Próg można ustawić na wartość między 0.0 i 1.0.

Ta właściwość ma zastosowanie tylko do server_vad wykrywania skrętów.
długość prefiksu ms ciąg Czas trwania dźwięku mowy (w milisekundach) do uwzględnienia przed rozpoczęciem wykrytej mowy.

Domyślnie to 300 milisekundy.

Ta właściwość ma zastosowanie tylko do server_vad wykrywania skrętów.
czas_trwania_ciszy_ms ciąg Czas trwania ciszy (w milisekundach), aby wykryć koniec mowy. Chcesz wykryć koniec mowy tak szybko, jak to możliwe, ale nie zbyt szybko, aby uniknąć odcięcia ostatniej części mowy.

Model odpowie szybciej, jeśli ustawisz tę wartość na niższą liczbę, ale może ona odciąć ostatnią część mowy. Jeśli ustawisz tę wartość na wyższą liczbę, model będzie czekać dłużej, aby wykryć koniec mowy, ale może to potrwać dłużej.

Domyślnie to 500 milisekundy.

Ta właściwość ma zastosowanie tylko do server_vad wykrywania skrętów.
utwórz_odpowiedź typ logiczny (boolowski) Wskazuje, czy serwer automatycznie utworzy odpowiedź po włączeniu funkcji VAD i zatrzymaniu mowy.

Wartość domyślna to true.
odpowiedź na przerwanie typ logiczny (boolowski) Wskazuje, czy serwer automatycznie przerywa każdą bieżącą odpowiedź, przekierowując dane do domyślnej konwersacji (auto), gdy wystąpi zdarzenie rozpoczęcia VAD.

Wartość domyślna to true.
zapał ciąg Gotowość modelu do reagowania i przerywania działania użytkownika. Określ low , czy użytkownik będzie dłużej czekał na kontynuowanie mówienia. Określ high , aby jak najszybciej fragmentować dźwięk w celu uzyskania szybszych odpowiedzi. Wartość domyślna jest auto równoważna średniej.

Ta właściwość ma zastosowanie tylko do server_vad wykrywania skrętów.

TypWykrywaniaZakrętówWRealtime

Dozwolone wartości:

  • semantic_vad - Semantic VAD wykrywa, kiedy użytkownik zakończył mówienie w oparciu o wypowiedziane słowa. Sygnał audio wejściowy jest oceniany na podstawie prawdopodobieństwa, że użytkownik zakończył mówienie. Gdy prawdopodobieństwo jest niskie, model będzie czekać na zakończenie limitu czasu. Gdy prawdopodobieństwo jest wysokie, nie trzeba czekać.
  • server_vad — Serwer ocenia dźwięk użytkownika przesyłany z klienta. Serwer automatycznie używa tego dźwięku do inicjowania generowania odpowiedzi w odpowiednich konwersacjach po wykryciu zakończenia mowy.

RealtimeVoice

Dozwolone wartości:

  • alloy
  • ash
  • ballad
  • coral
  • echo
  • sage
  • shimmer
  • verse