Udostępnij za pośrednictwem


Dokumentacja interfejsu API w czasie rzeczywistym (wersja zapoznawcza)

Uwaga

Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Interfejs API czasu rzeczywistego to oparty na protokole WebSocket interfejs API, który umożliwia interakcję z usługą Azure OpenAI w czasie rzeczywistym.

Interfejs API czasu rzeczywistego (za pośrednictwem /realtime) jest oparty na interfejsie API protokołu WebSockets, aby ułatwić w pełni asynchroniczną komunikację strumieniową między użytkownikiem końcowym a modelem. Szczegóły urządzenia, takie jak przechwytywanie i renderowanie danych audio, wykraczają poza zakres interfejsu API czasu rzeczywistego. Powinna być używana w kontekście zaufanej, pośredniej usługi, która zarządza połączeniami zarówno z użytkownikami końcowymi, jak i połączeniami punktów końcowych modelu. Nie używaj go bezpośrednio z niezaufanych urządzeń użytkowników końcowych.

Napiwek

Aby rozpocząć pracę z interfejsem API czasu rzeczywistego, zobacz przewodnik Szybki start i przewodnik z instrukcjami.

Connection

Interfejs API czasu rzeczywistego wymaga istniejącego punktu końcowego zasobu usługi Azure OpenAI w obsługiwanym regionie. Dostęp do interfejsu API jest uzyskiwany za pośrednictwem bezpiecznego połączenia /realtime protokołu WebSocket z punktem końcowym zasobu usługi Azure OpenAI.

Pełny identyfikator URI żądania można utworzyć, łącząc:

  • Bezpieczny protokół WebSocket (wss://)
  • Nazwa hosta punktu końcowego zasobu usługi Azure OpenAI, na przykład my-aoai-resource.openai.azure.com
  • Ścieżka interfejsu openai/realtime API
  • api-version Parametr ciągu zapytania dla obsługiwanej wersji interfejsu API, takiej jak2024-10-01-preview
  • deployment Parametr ciągu zapytania o nazwie gpt-4o-realtime-preview wdrożenia modelu

Poniższy przykład to dobrze skonstruowany /realtime identyfikator URI żądania:

wss://my-eastus2-openai-resource.openai.azure.com/openai/realtime?api-version=2024-10-01-preview&deployment=gpt-4o-realtime-preview-1001

Uwierzytelnianie

Aby uwierzytelnić:

  • Microsoft Entra (zalecane): użyj uwierzytelniania opartego na tokenach z interfejsem /realtime API dla zasobu usługi Azure OpenAI z włączoną tożsamością zarządzaną. Zastosuj pobrany token uwierzytelniania przy użyciu Bearer tokenu z nagłówkiem Authorization .
  • Klucz interfejsu API: Element api-key można udostępnić na jeden z dwóch sposobów:
    • Za pomocą nagłówka api-key połączenia w połączeniu wstępnego kształtu. Ta opcja nie jest dostępna w środowisku przeglądarki.
    • Przy użyciu parametru api-key ciągu zapytania w identyfikatorze URI żądania. Parametry ciągu zapytania są szyfrowane podczas korzystania z protokołu https/wss.

Zdarzenia klienta

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

Wydarzenie opis
RealtimeClientEventConversationItemCreate Wyślij to zdarzenie klienta podczas dodawania elementu do konwersacji.
RealtimeClientEventConversationItemDelete Wyślij to zdarzenie klienta, gdy chcesz usunąć dowolny element z historii konwersacji.
RealtimeClientEventConversationItemTruncate Wyślij to zdarzenie klienta, gdy chcesz obcinać dźwięk poprzedniego asystenta.
RealtimeClientEventInputAudioBufferAppend Wyślij to zdarzenie klienta, aby dołączyć bajty audio do wejściowego buforu audio.
RealtimeClientEventInputAudioBufferClear Wyślij to zdarzenie klienta, aby wyczyścić bajty audio w buforze.
RealtimeClientEventInputAudioBufferCommit Wyślij to zdarzenie klienta, aby zatwierdzić bajty audio do wiadomości użytkownika.
RealtimeClientEventResponseCancel Wyślij to zdarzenie klienta, aby anulować odpowiedź w toku.
RealtimeClientEventResponseCreate Wyślij to zdarzenie klienta, aby wyzwolić generowanie odpowiedzi.
RealtimeClientEventSessionUpdate Wyślij to zdarzenie klienta, aby zaktualizować domyślną konfigurację sesji.

RealtimeClientEventConversationItemCreate

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.created error , w przeciwnym razie zostanie wysłane zdarzenie.

Struktura zdarzeń

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

Właściwości

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość conversation.item.create.
previous_item_id string 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 RealtimeConversationRequestItem 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość conversation.item.delete.
item_id string Identyfikator elementu do usunięcia.

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość conversation.item.truncate.
item_id string Identyfikator elementu komunikatu asystenta do obcinania. Można obcinać tylko elementy komunikatów asystenta.
content_index integer Indeks części zawartości do obcinania. Ustaw tę właściwość na wartość "0".
audio_end_ms integer 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 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość input_audio_buffer.append.
dźwięk string 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

Pole Typ Opis
type string 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość input_audio_buffer.commit.

RealtimeClientEventResponseCancel

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

Pole Typ Opis
type string 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

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.create.
odpowiedź 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość session.update.
session RealtimeRequestSession Konfiguracja sesji.

Zdarzenia serwera

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

Wydarzenie opis
RealtimeServerEventConversationCreated Zdarzenie serwera po utworzeniu konwersacji. Emitowane bezpośrednio po utworzeniu sesji.
RealtimeServerEventConversationItemCreated Zdarzenie serwera po utworzeniu elementu konwersacji.
RealtimeServerEventConversationItemDeleted Zdarzenie serwera po usunięciu elementu w konwersacji.
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted Zdarzenie serwera, gdy włączono transkrypcję dźwięku wejściowego, a transkrypcja zakończy się powodzeniem.
RealtimeServerEventConversationItemInputAudioTranscriptionFailed Zdarzenie serwera, gdy skonfigurowano transkrypcję dźwięku wejściowego, a żądanie transkrypcji dla komunikatu użytkownika nie powiodło się.
RealtimeServerEventConversationItemTruncated Zdarzenie serwera, gdy klient obcina wcześniej asystenta elementu komunikatu audio.
RealtimeServerEventError Zdarzenie serwera w przypadku wystąpienia błędu.
RealtimeServerEventInputAudioBufferCleared Zdarzenie serwera, gdy klient czyści wejściowy bufor audio.
RealtimeServerEventInputAudioBufferCommitted Zdarzenie serwera po zatwierdzeniu wejściowego buforu audio przez klienta lub automatycznie w trybie vaD serwera.
RealtimeServerEventInputAudioBufferSpeechStarted Zdarzenie serwera w trybie wykrywania z kolei serwera po wykryciu mowy.
RealtimeServerEventInputAudioBufferSpeechStopped Zdarzenie serwera w trybie wykrywania z kolei serwera po zatrzymaniu mowy.
RealtimeServerEventRateLimitsUpdated Emitowane po każdym zdarzeniu "response.done", aby wskazać zaktualizowane limity szybkości.
RealtimeServerEventResponseAudioDelta Zdarzenie serwera po zaktualizowaniu dźwięku wygenerowanego przez model.
RealtimeServerEventResponseAudioDone Zdarzenie serwera po zakończeniu generowania dźwięku przez model. Również emitowane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.
RealtimeServerEventResponseAudioTranscriptDelta Zdarzenie serwera po zaktualizowaniu transkrypcji wygenerowanej przez model danych wyjściowych dźwięku.
RealtimeServerEventResponseAudioTranscriptDone Zdarzenie serwera, gdy generowana przez model transkrypcja danych wyjściowych dźwięku jest wykonywana strumieniowo. Również emitowane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.
RealtimeServerEventResponseContentPartAdded Zdarzenie serwera po dodaniu nowej części zawartości do elementu komunikatu asystenta podczas generowania odpowiedzi.
RealtimeServerEventResponseContentPartDone Zdarzenie serwera, gdy część zawartości jest wykonywana strumieniowo w elemencie komunikatu asystenta. Również emitowane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.
RealtimeServerEventResponseCreated Zdarzenie serwera po utworzeniu nowej odpowiedzi. Pierwsze zdarzenie tworzenia odpowiedzi, w którym odpowiedź jest w stanie początkowym "in_progress".
RealtimeServerEventResponseDone Zdarzenie serwera po zakończeniu przesyłania strumieniowego odpowiedzi. Zawsze emitowane, bez względu na stan końcowy.
RealtimeServerEventResponseFunctionCallArgumentsDelta Zdarzenie serwera po zaktualizowaniu argumentów wywołania funkcji wygenerowanej przez model.
RealtimeServerEventResponseFunctionCallArgumentsDone Zdarzenie serwera, gdy argumenty wywołania funkcji wygenerowane przez model są wykonywane strumieniowo. Również emitowane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.
RealtimeServerEventResponseOutputItemAdded Zdarzenie serwera po dodaniu nowego elementu wyjściowego do odpowiedzi.
RealtimeServerEventResponseOutputItemDone Zdarzenie serwera po zakończeniu przesyłania strumieniowego elementu wyjściowego. Również emitowane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.
RealtimeServerEventResponseTextDelta Zdarzenie serwera po zaktualizowaniu tekstu wygenerowanego przez model.
RealtimeServerEventResponseTextDone Zdarzenie serwera po zakończeniu generowania tekstu przez model. Również emitowane, gdy odpowiedź zostanie przerwana, niekompletna lub anulowana.
RealtimeServerEventSessionTworzenie Zdarzenie serwera po utworzeniu sesji.
RealtimeServerEventSessionUpdated Zdarzenie serwera po zaktualizowaniu sesji.

RealtimeServerEventConversationCreated

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość conversation.created.
rozmowa obiekt Zasób konwersacji.

Właściwości konwersacji

Pole Typ Opis
identyfikator string Unikalny identyfikator rozmowy.
obiekt string Typ obiektu musi mieć wartość realtime.conversation.

RealtimeServerEventConversationItemCreated

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość conversation.item.created.
previous_item_id string Identyfikator poprzedniego elementu w kontekście konwersacji umożliwia klientowi zrozumienie kolejności konwersacji.
element RealtimeConversationResponseItem Element, który został utworzony.

RealtimeServerEventConversationItemDeleted

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość conversation.item.deleted.
item_id string Identyfikator usuniętego elementu.

RealtimeServerEventConversationItemInputAudioTranscriptionCompleted

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 w czasie rzeczywistym akceptują dźwięk natywnie, a tym samym transkrypcję danych wejściowych to oddzielny proces uruchamiany w osobnym modelu rozpoznawania mowy, obecnie zawsze 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość conversation.item.input_audio_transcription.completed.
item_id string Identyfikator elementu wiadomości użytkownika zawierającego dźwięk.
content_index integer Indeks części zawartości zawierającej dźwięk.
transkrypcja string Transkrypcja tekstu.

RealtimeServerEventConversationItemInputAudioTranscriptionFailed

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość conversation.item.input_audio_transcription.failed.
item_id string Identyfikator elementu komunikatu użytkownika.
content_index integer Indeks części zawartości zawierającej dźwięk.
error obiekt Szczegóły błędu transkrypcji.

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

Właściwości błędu

Pole Typ Opis
type string Typ błędu.
code string Kod błędu, jeśli istnieje.
wiadomość string Czytelny dla człowieka komunikat o błędzie.
Param string Parametr związany z błędem, jeśli istnieje.

RealtimeServerEventConversationItemTruncated

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość conversation.item.truncated.
item_id string Identyfikator elementu komunikatu asystenta, który został obcięty.
content_index integer Indeks części zawartości, która została obcięta.
audio_end_ms integer 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość error.
error obiekt Szczegóły błędu.

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

Właściwości błędu

Pole Typ Opis
type string Typ błędu. Na przykład typy błędów "invalid_request_error" i "server_error".
code string Kod błędu, jeśli istnieje.
wiadomość string Czytelny dla człowieka komunikat o błędzie.
Param string Parametr związany z błędem, jeśli istnieje.
event_id string Identyfikator zdarzenia klienta, który spowodował błąd, jeśli ma to zastosowanie.

RealtimeServerEventInputAudioBufferCleared

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość input_audio_buffer.cleared.

RealtimeServerEventInputAudioBufferCommitted

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość input_audio_buffer.committed.
previous_item_id string Identyfikator poprzedniego elementu, po którym zostanie wstawiony nowy element.
item_id string Identyfikator utworzonego elementu wiadomości użytkownika.

RealtimeServerEventInputAudioBufferSpeechStarted

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

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość input_audio_buffer.speech_started.
audio_start_ms integer 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 string Identyfikator elementu komunikatu użytkownika utworzony podczas zatrzymywania mowy.

RealtimeServerEventInputAudioBufferSpeechStopped

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość input_audio_buffer.speech_stopped.
audio_end_ms integer 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 string Identyfikator utworzonego elementu wiadomości użytkownika.

RealtimeServerEventRateLimitsUpdated

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość rate_limits.updated.
rate_limits 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.audio.delta.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
content_index integer Indeks części zawartości w tablicy zawartości elementu.
delta string Delta danych audio zakodowanych w formacie Base64.

RealtimeServerEventResponseAudioDone

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.audio.done.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
content_index integer 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.audio_transcript.delta.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
content_index integer Indeks części zawartości w tablicy zawartości elementu.
delta string Delta transkrypcji.

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.

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.audio_transcript.done.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
content_index integer Indeks części zawartości w tablicy zawartości elementu.
transkrypcja string Ostatnia transkrypcja dźwięku.

RealtimeServerEventResponseContentPartAdded

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.content_part.added.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu, do którego została dodana część zawartości.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
content_index integer 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

Pole Typ Opis
type RealtimeContentPartType

RealtimeServerEventResponseContentPartDone

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.content_part.done.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
content_index integer 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

Pole Typ Opis
type RealtimeContentPartType

RealtimeServerEventResponseCreated

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.created.
odpowiedź Czas rzeczywistyResponse Obiekt odpowiedzi.

RealtimeServerEventResponseDone

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.done.
odpowiedź Czas rzeczywistyResponse Obiekt odpowiedzi.

RealtimeServerEventResponseFunctionCallArgumentsDelta

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.function_call_arguments.delta.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu wywołania funkcji.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
call_id string Identyfikator wywołania funkcji.
delta string Argumenty delta jako ciąg JSON.

RealtimeServerEventResponseFunctionCallArgumentsDone

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.function_call_arguments.done.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu wywołania funkcji.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
call_id string Identyfikator wywołania funkcji.
Argumenty string Ostatnie argumenty jako ciąg JSON.

RealtimeServerEventResponseOutputItemAdded

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.output_item.added.
response_id string Identyfikator odpowiedzi, do której należy element.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
element RealtimeConversationResponseItem Element, który został dodany.

RealtimeServerEventResponseOutputItemDone

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.output_item.done.
response_id string Identyfikator odpowiedzi, do której należy element.
output_index integer 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.text.delta.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
content_index integer Indeks części zawartości w tablicy zawartości elementu.
delta string Delta tekstu.

RealtimeServerEventResponseTextDone

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość response.text.done.
response_id string Identyfikator odpowiedzi.
item_id string Identyfikator elementu.
output_index integer Indeks elementu wyjściowego w odpowiedzi.
content_index integer Indeks części zawartości w tablicy zawartości elementu.
text string 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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość session.created.
session RealtimeResponseSession Obiekt sesji.

RealtimeServerEventSessionUpdated

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

Pole Typ Opis
type string Typ zdarzenia musi mieć wartość session.updated.
session RealtimeResponseSession Obiekt sesji.

Składniki

RealtimeAudioFormat

Dozwolone wartości:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

Dozwolone wartości:

  • whisper-1

RealtimeAudioInputTranscriptionSettings

Pole Typ Opis
model RealtimeAudioInputTranscriptionModel whisper-1 Domyślny model jest obecnie jedynym modelem obsługiwanym dla transkrypcji danych wejściowych audio.

RealtimeClientEvent

Pole Typ Opis
type RealtimeClientEventType Typ zdarzenia klienta.
event_id string Unikatowy identyfikator zdarzenia.

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

RealtimeContentPart

Pole Typ Opis
type RealtimeContentPartType Typ części zawartości.

RealtimeContentPartType

Dozwolone wartości:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

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

RealtimeConversationRequestItem

Pole Typ Opis
type RealtimeItemType Typ elementu.
identyfikator string Unikatowy identyfikator elementu.

RealtimeConversationResponseItem

Pole Typ Opis
obiekt string Element odpowiedzi na konwersację.

Dozwolone wartości: realtime.item
type RealtimeItemType Typ elementu.
identyfikator string Unikatowy identyfikator elementu.

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

RealtimeFunctionTool

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

Pole Typ Opis
type string Typ narzędzia.

Dozwolone wartości: function
nazwa string Nazwa funkcji.
opis string Opis funkcji.
parameters obiekt Parametry funkcji.

RealtimeItemStatus

Dozwolone wartości:

  • in_progress
  • completed
  • incomplete

RealtimeItemType

Dozwolone wartości:

  • message
  • function_call
  • function_call_output

RealtimeMessageRole

Dozwolone wartości:

  • system
  • user
  • assistant

RealtimeRequestAssistantMessageItem

Pole Typ Opis
role string Rola wiadomości.

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

RealtimeRequestAudioContentPart

Pole Typ Opis
type string Typ części zawartości.

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

RealtimeRequestFunctionCallItem

Pole Typ Opis
type string Typ elementu.

Dozwolone wartości: function_call
nazwa string Nazwa elementu wywołania funkcji.
call_id string Identyfikator elementu wywołania funkcji.
Argumenty string Argumenty elementu wywołania funkcji.
status RealtimeItemStatus Stan elementu.

RealtimeRequestFunctionCallOutputItem

Pole Typ Opis
type string Typ elementu.

Dozwolone wartości: function_call_output
call_id string Identyfikator elementu wywołania funkcji.
output string Dane wyjściowe elementu wywołania funkcji.

RealtimeRequestMessageItem

Pole Typ Opis
type string Typ elementu.

Dozwolone wartości: message
role RealtimeMessageRole Rola wiadomości.
status RealtimeItemStatus Stan elementu.

RealtimeRequestMessageReferenceItem

Pole Typ Opis
type string Typ elementu.

Dozwolone wartości: message
identyfikator string Identyfikator elementu wiadomości.

RealtimeRequestSession

Pole Typ Opis
Sposoby tablica 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 string 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_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.
tools tablica narzędzia RealtimeTool Narzędzia dostępne dla modelu dla sesji.
tool_choice RealtimeToolChoice Narzędzie wybrane dla sesji.
temperature 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".

RealtimeRequestSystemMessageItem

Pole Typ Opis
role string Rola wiadomości.

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

RealtimeRequestTextContentPart

Pole Typ Opis
type string Typ części zawartości.

Dozwolone wartości: input_text
text string Zawartość tekstowa.

RealtimeRequestUserMessageItem

Pole Typ Opis
role string Rola wiadomości.

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

Czas rzeczywistyResponse

Pole Typ Opis
obiekt string Obiekt odpowiedzi.

Dozwolone wartości: realtime.response
identyfikator string Unikatowy identyfikator odpowiedzi.
status RealtimeResponseStatus Stan odpowiedzi.

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

Ta właściwość jest dopuszczana do wartości null.
output 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.
+ total_tokens integer Łączna liczba tokenów w odpowiedzi, w tym tekst wejściowy i wyjściowy oraz tokeny audio.

Właściwość usage obiektu.
+ input_tokens integer 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 integer Liczba tokenów wyjściowych wysłanych w odpowiedzi, w tym tokeny tekstowe i dźwiękowe.

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

Właściwość usage obiektu.
Br>
Zobacz następne zagnieżdżone właściwości.
+ cached_tokens integer Liczba buforowanych tokenów używanych w odpowiedzi.

Właściwość input_token_details obiektu.
+ text_tokens integer Liczba tokenów tekstowych używanych w odpowiedzi.

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

Właściwość input_token_details obiektu.
+ output_token_details 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.
+ text_tokens integer Liczba tokenów tekstowych używanych w odpowiedzi.

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

Właściwość output_token_details obiektu.

RealtimeResponseAudioContentPart

Pole Typ Opis
type string Typ części zawartości.

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

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

RealtimeResponseBase

Zasób odpowiedzi.

RealtimeResponseFunctionCallItem

Pole Typ Opis
type string Typ elementu.

Dozwolone wartości: function_call
nazwa string Nazwa elementu wywołania funkcji.
call_id string Identyfikator elementu wywołania funkcji.
Argumenty string Argumenty elementu wywołania funkcji.
status RealtimeItemStatus Stan elementu.

RealtimeResponseFunctionCallOutputItem

Pole Typ Opis
type string Typ elementu.

Dozwolone wartości: function_call_output
call_id string Identyfikator elementu wywołania funkcji.
output string Dane wyjściowe elementu wywołania funkcji.

RealtimeResponseMessageItem

Pole Typ Opis
type string Typ elementu.

Dozwolone wartości: message
role RealtimeMessageRole Rola wiadomości.
content tablica Zawartość wiadomości.

Elementy tablicy: RealtimeResponseTextContentPart
status RealtimeItemStatus Stan elementu.

RealtimeResponseOptions

Pole Typ Opis
Sposoby tablica 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 string 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ć.
output_audio_format RealtimeAudioFormat Format dźwięku wyjściowego.
tools tablica narzędzia RealtimeTool Narzędzia dostępne dla modelu dla sesji.
tool_choice RealtimeToolChoice Narzędzie wybrane dla sesji.
temperature Liczba Temperatura próbkowania dla modelu. Dozwolone wartości temperatury są ograniczone do [0,6, 1,2]. Wartość domyślna to 0.8.
max__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".

RealtimeResponseSession

Pole Typ Opis
obiekt string Obiekt sesji.

Dozwolone wartości: realtime.session
identyfikator string Unikatowy identyfikator sesji.
model string Model używany na potrzeby sesji.
Sposoby tablica 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 string 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_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.
tools tablica narzędzia RealtimeTool Narzędzia dostępne dla modelu dla sesji.
tool_choice RealtimeToolChoice Narzędzie wybrane dla sesji.
temperature 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".

RealtimeResponseStatus

Dozwolone wartości:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

RealtimeResponseStatusDetails

Pole Typ Opis
type RealtimeResponseStatus Stan odpowiedzi.

RealtimeResponseTextContentPart

Pole Typ Opis
type string Typ części zawartości.

Dozwolone wartości: text
text string Zawartość tekstowa.

RealtimeServerEvent

Pole Typ Opis
type RealtimeServerEventType Typ zdarzenia serwera.
event_id string Unikatowy identyfikator zdarzenia.

RealtimeServerEventRateLimitsUpdatedRateLimitsItem

Pole Typ opis
nazwa string Nazwa właściwości limitu szybkości zawierająca informacje o tym elemencie.
limit integer Maksymalny skonfigurowany limit dla tej właściwości limitu szybkości.
pozostało integer 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.

RealtimeServerEventType

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

RealtimeServerVadTurnDetection

Pole Typ Opis
type string Typ wykrywania kolei.

Dozwolone wartości: server_vad
threshold 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.
prefix_padding_ms string Czas trwania dźwięku mowy (w milisekundach) do uwzględnienia przed rozpoczęciem wykrytej mowy.

Wartość domyślna to 300.
silence_duration_ms string 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.

Pole Typ Opis
type RealtimeToolType Typ narzędzia.

RealtimeToolChoice

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

RealtimeToolChoiceFunctionObject

Reprezentacja czasu rzeczywistego tool_choice wybrania nazwanego narzędzia funkcji.

Pole Typ Opis
type string Typ tool_choice.

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

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

Właściwość function obiektu.

RealtimeToolChoiceLiteral

Dostępny zestaw literałów ciągu na poziomie trybu tool_choice opcji punktu końcowego czasu rzeczywistego.

Dozwolone wartości:

  • auto
  • none
  • required

RealtimeToolChoiceObject

Podstawowa reprezentacja w czasie rzeczywistym tool_choice wybierania nazwanego narzędzia.

Pole Typ Opis
type RealtimeToolType Typ 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

RealtimeTurnDetection

Pole Typ Opis
type RealtimeTurnDetectionType Typ wykrywania kolei.

Dozwolone wartości: server_vad

RealtimeTurnDetectionType

Dozwolone wartości:

  • server_vad

RealtimeVoice

Dozwolone wartości:

  • alloy
  • shimmer
  • echo