共用方式為


即時 API (預覽) 參考

注意

此功能目前處於公開預覽。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

即時 API 是以 WebSocket 為基礎的 API,可讓您即時與 Azure OpenAI 服務互動。

即時 API (透過 /realtime) 建置在 WebSockets API,以利使用者與模型之間的完全異步串流通訊。 擷取和轉譯音訊數據等裝置詳細數據不在即時 API 的範圍內。 它應該用於信任的中繼服務內容中,以管理與使用者和模型端點連線的連線。 請勿直接從不受信任的終端使用者裝置使用它。

提示

若要開始使用即時 API,請參閱 快速入門操作指南

連線

即時 API 需要支援區域中現有的 Azure OpenAI 資源端點。 API 是透過與 Azure OpenAI 資源端點的安全 WebSocket 連線 /realtime 來存取。

您可以串連來建構完整的要求 URI:

  • 安全的 WebSocket (wss://) 通訊協定
  • 例如,您的 Azure OpenAI 資源端點主機名 my-aoai-resource.openai.azure.com
  • openai/realtime API 路徑
  • api-version支援的 API 版本的查詢字串參數,例如2024-10-01-preview
  • 具有 deployment 模型部署名稱的 gpt-4o-realtime-preview 查詢字串參數

下列範例是建構良好的 /realtime 要求 URI:

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

驗證

若要驗證:

  • Microsoft Entra (建議):使用令牌型驗證搭配 /realtime 已啟用受控識別的 Azure OpenAI 服務資源的 API。 使用具有標頭的令牌來套用 Bearer 擷取的 Authorization 驗證令牌。
  • API 金鑰api-key 可以使用下列兩種方式之一來提供 :
    • api-key在 prehandshake 連線上使用連接標頭。 此選項無法在瀏覽器環境中使用。
    • api-key在要求 URI 上使用查詢字串參數。 使用 HTTPs/wss 時,查詢字串參數會加密。

用戶端事件

有九個用戶端事件可以從用戶端傳送到伺服器:

活動 描述
RealtimeClientEventConversationItemCreate 用戶端 conversation.item.create 事件可用來將新專案新增至交談的內容,包括訊息、函數調用和函數調用回應。
RealtimeClientEventConversationItemDelete 用戶端 conversation.item.delete 事件是用來從交談記錄中移除專案。
RealtimeClientEventConversationItemTruncate 用戶端 conversation.item.truncate 事件是用來截斷先前小幫手訊息的音訊。
RealtimeClientEventInputAudioBufferAppend 用戶端 input_audio_buffer.append 事件是用來將音訊位元組附加至輸入音訊緩衝區。
RealtimeClientEventInputAudioBufferClear 用戶端 input_audio_buffer.clear 事件是用來清除緩衝區中的音訊位元組。
RealtimeClientEventInputAudioBufferCommit 用戶端 input_audio_buffer.commit 事件用來認可使用者輸入音訊緩衝區。
RealtimeClientEventResponseCancel 用戶端 response.cancel 事件是用來取消進行中的回應。
RealtimeClientEventResponseCreate 用戶端 response.create 事件可用來指示伺服器透過模型推斷建立回應。
RealtimeClientEventSessionUpdate 用戶端 session.update 事件是用來更新會話的預設組態。

RealtimeClientEventConversationItemCreate

用戶端 conversation.item.create 事件可用來將新專案新增至交談的內容,包括訊息、函數調用和函數調用回應。 此事件可用來填入交談的歷程記錄,以及在數據流中新增新專案。 目前此事件無法填入助理音訊訊息。

如果成功,伺服器會以 conversation.item.created 事件回應,否則 error 會傳送事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 conversation.item.create
previous_item_id 字串 插入新項目之後的上一個項目標識碼。 如果未設定,新專案會附加至交談結尾。 如果設定,則允許在交談中插入專案。 如果找不到標識符,則會傳回錯誤,而且不會新增專案。
項目 RealtimeConversationRequestItem 要加入至交談的專案。

RealtimeClientEventConversationItemDelete

用戶端 conversation.item.delete 事件是用來從交談記錄中移除專案。

除非交談記錄中沒有專案,否則伺服器會以 conversation.item.deleted 事件回應,在此情況下,伺服器會以錯誤回應。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 conversation.item.delete
item_id 字串 要刪除之項目的識別碼。

RealtimeClientEventConversationItemTruncate

用戶端 conversation.item.truncate 事件是用來截斷先前小幫手訊息的音訊。 伺服器產生的音訊速度比即時快,因此當用戶中斷以截斷傳送至用戶端但尚未播放的音訊時,這個事件很有用。 伺服器對用戶端播放音訊的瞭解已同步處理。

截斷音訊會刪除伺服器端文字記錄,以確保使用者不知道的內容中沒有文字。

如果用戶端事件成功,伺服器會以 conversation.item.truncated 事件回應。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 conversation.item.truncate
item_id 字串 要截斷之小幫手訊息項目的標識碼。 只能截斷小幫手訊息專案。
content_index 整數 要截斷的內容元件索引。 將此屬性設定為 “0”。
audio_end_ms 整數 最多截斷音訊的內含持續時間,以毫秒為單位。 如果audio_end_ms大於實際的音訊持續時間,伺服器就會回應錯誤。

RealtimeClientEventInputAudioBufferAppend

用戶端 input_audio_buffer.append 事件是用來將音訊位元組附加至輸入音訊緩衝區。 音訊緩衝區是您可以寫入和稍後認可的暫存記憶體。

在伺服器 VAD (語音活動偵測) 模式中,音訊緩衝區會用來偵測語音,而伺服器會決定何時認可。 停用伺服器 VAD 時,用戶端可以選擇每個事件中最多 15 MiB 的音訊數量。 例如,從用戶端串流較小的區塊可讓 VAD 更有回應性。

與大多數其他用戶端事件不同,伺服器不會傳送確認回應給用戶端 input_audio_buffer.append 事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 input_audio_buffer.append
audio 字串 Base64 編碼的音訊位元組。 此值必須是會話組態中 欄位所 input_audio_format 指定的格式。

RealtimeClientEventInputAudioBufferClear

用戶端 input_audio_buffer.clear 事件是用來清除緩衝區中的音訊位元組。

伺服器會以 input_audio_buffer.cleared 事件回應。

事件結構

{
  "type": "input_audio_buffer.clear"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 input_audio_buffer.clear

RealtimeClientEventInputAudioBufferCommit

用戶端 input_audio_buffer.commit 事件是用來認可使用者輸入音訊緩衝區,這會在交談中建立新的使用者訊息專案。 如果 input_audio_transcription 已針對會話設定音訊,則會轉譯音訊。

在伺服器 VAD 模式中,用戶端不需要傳送此事件時,伺服器會自動認可音訊緩衝區。 若沒有伺服器 VAD,用戶端必須認可音訊緩衝區,才能建立使用者訊息專案。 如果輸入音訊緩衝區是空的,此用戶端事件會產生錯誤。

認可輸入音頻緩衝區不會從模型建立回應。

伺服器會以 input_audio_buffer.committed 事件回應。

事件結構

{
  "type": "input_audio_buffer.commit"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 input_audio_buffer.commit

RealtimeClientEventResponseCancel

用戶端 response.cancel 事件是用來取消進行中的回應。

如果沒有任何取消回應,伺服器會以 response.cancelled 事件回應或錯誤。

事件結構

{
  "type": "response.cancel"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.cancel

RealtimeClientEventResponseCreate

用戶端 response.create 事件可用來指示伺服器透過模型推斷建立回應。 在伺服器 VAD 模式中設定工作階段時,伺服器會自動建立回應。

回應至少包含一個 item,而且可以有兩個,在此情況下,第二個是函數調用。 這些專案會附加至交談歷程記錄。

伺服器會回應 response.created 事件、一或多個專案和內容事件(例如 conversation.item.createdresponse.content_part.added),最後一個 response.done 事件表示回應已完成。

注意

用戶端 response.create 事件包含推斷組態,例如 instructions、 和 temperature。 這些欄位只能覆寫此回應的會話設定。

事件結構

{
  "type": "response.create"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.create
回覆 RealtimeResponseOptions 回應選項。

RealtimeClientEventSessionUpdate

用戶端 session.update 事件是用來更新會話的預設組態。 用戶端可以隨時傳送此事件來更新會話設定,而且任何字段隨時都可以更新,但語音除外。

只有存在的欄位才會更新。 若要清除欄位 (例如 instructions),請傳遞空字串。

伺服器會以 session.updated 包含完整有效組態的事件回應。

事件結構

{
  "type": "session.update"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 session.update
session RealtimeRequestSession 會話組態。

伺服器事件

有 28 個伺服器事件可從伺服器接收:

活動 描述
RealtimeServerEventConversationCreated conversation.created伺服器事件會在會話建立後立即傳回。 每個會話會建立一個交談。
RealtimeServerEventConversationItemCreated 建立交談專案時,會傳回伺服器 conversation.item.created 事件。
RealtimeServerEventConversationItemDeleted 當用戶端刪除與conversation.item.delete事件的交談中的專案時,會傳回伺服器conversation.item.deleted事件。
RealtimeServerEventConversationItemInputAudioTranscriptionCompleted 伺服器 conversation.item.input_audio_transcription.completed 事件是寫入音訊緩衝區之語音轉譯的結果。
RealtimeServerEventConversationItemInputAudioTranscriptionFailed 設定輸入音訊轉譯時,會傳回伺服器 conversation.item.input_audio_transcription.failed 事件,而且使用者訊息的轉譯要求失敗。
RealtimeServerEventConversationItemTruncated 當用戶端使用 事件截斷先前的助理音訊消息專案conversation.item.truncate時,會傳回伺服器conversation.item.truncated事件。
RealtimeServerEventError 發生錯誤時會傳回伺服器 error 事件,這可能是客戶端問題或伺服器問題。
RealtimeServerEventInputAudioBufferCleared 當用戶端使用 input_audio_buffer.clear 事件清除輸入音訊緩衝區時,會傳回伺服器input_audio_buffer.cleared事件。
RealtimeServerEventInputAudioBufferCommitted 當客戶端認可輸入音訊緩衝區或在伺服器 VAD 模式中自動認可時,就會傳回伺服器 input_audio_buffer.committed 事件。
RealtimeServerEventInputAudioBufferSpeechStarted 當音訊緩衝區中偵測到語音時,會在模式中傳回server_vad伺服器input_audio_buffer.speech_started事件。
RealtimeServerEventInputAudioBufferSpeechStopped 當伺服器 input_audio_buffer.speech_stopped 偵測到音訊緩衝區中的語音結束時,伺服器事件會以 server_vad 模式傳回。
RealtimeServerEventRateLimitsUpdated 伺服器 rate_limits.updated 事件會在回應的開頭髮出,以指出更新的速率限制。
RealtimeServerEventResponseAudioDelta 更新模型產生的音訊時,會傳回伺服器 response.audio.delta 事件。
RealtimeServerEventResponseAudioDone 當模型產生的音訊完成時,會傳回伺服器 response.audio.done 事件。
RealtimeServerEventResponseAudioTranscriptDelta 更新模型產生的音訊輸出轉譯時,會傳回伺服器 response.audio_transcript.delta 事件。
RealtimeServerEventResponseAudioTranscriptDone 當模型產生的音訊輸出轉譯完成串流處理時,就會傳回伺服器 response.audio_transcript.done 事件。
RealtimeServerEventResponseContentPartAdded 當新的內容元件新增至小幫手訊息專案時,會傳回伺服器 response.content_part.added 事件。
RealtimeServerEventResponseContentPartDone 當內容元件完成串流時,會傳回伺服器 response.content_part.done 事件。
RealtimeServerEventResponseCreated 建立新的回應時,會傳回伺服器 response.created 事件。 這是建立回應的第一個事件,其中回應處於 初始狀態 in_progress
RealtimeServerEventResponseDone 當回應完成串流處理時,會傳回伺服器 response.done 事件。
RealtimeServerEventResponseFunctionCallArgumentsDelta 當模型產生的函數調用自變數更新時,會傳回伺服器 response.function_call_arguments.delta 事件。
RealtimeServerEventResponseFunctionCallArgumentsDone 當模型產生的函數調用自變數完成串流處理時,就會傳回伺服器 response.function_call_arguments.done 事件。
RealtimeServerEventResponseOutputItemAdded 在響應產生期間建立新專案時,會傳回伺服器 response.output_item.added 事件。
RealtimeServerEventResponseOutputItemDone 當專案完成串流處理時,會傳回伺服器 response.output_item.done 事件。
RealtimeServerEventResponseTextDelta 更新模型產生的文字時,會傳回伺服器 response.text.delta 事件。
RealtimeServerEventResponseTextDone 當模型產生的文字完成串流處理時,會傳回伺服器 response.text.done 事件。
RealtimeServerEventSessionCreated 當您建立與即時 API 的新連線時,伺服器 session.created 事件是第一個伺服器事件。 此事件會建立並傳回具有預設會話組態的新會話。
RealtimeServerEventSessionUpdated 用戶端更新會話時,會傳回伺服器 session.updated 事件。 如果發生錯誤,伺服器會改為傳送 error 事件。

RealtimeServerEventConversationCreated

conversation.created伺服器事件會在會話建立後立即傳回。 每個會話會建立一個交談。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 conversation.created
交談 object 交談資源。

交談屬性

欄位 類型 描述
id 字串 交談的唯一識別碼。
object 字串 物件類型必須是 realtime.conversation

RealtimeServerEventConversationItemCreated

建立交談專案時,會傳回伺服器 conversation.item.created 事件。 有幾個案例會產生此事件:

  • 伺服器會產生回應,如果成功產生一或兩個專案,其類型 message 為 (role assistant) 或類型 function_call
  • 由客戶端或伺服器認可輸入音訊緩衝區(模式 server_vad )。 伺服器會取得輸入音訊緩衝區的內容,並將它新增至新的使用者訊息專案。
  • 用戶端傳送 conversation.item.create 事件以將新專案新增至交談。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 conversation.item.created
previous_item_id 字串 交談內容中上一個專案的標識碼,可讓用戶端瞭解交談的順序。
項目 RealtimeConversationResponseItem 已建立的專案。

RealtimeServerEventConversationItemDeleted

當用戶端刪除與conversation.item.delete事件的交談中的專案時,會傳回伺服器conversation.item.deleted事件。 此事件可用來同步處理伺服器對交談歷程記錄與客戶端檢視的瞭解。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 conversation.item.deleted
item_id 字串 已刪除之項目的識別碼。

RealtimeServerEventConversationItemInputAudioTranscriptionCompleted

伺服器 conversation.item.input_audio_transcription.completed 事件是寫入音訊緩衝區之語音轉譯的結果。

當用戶端或伺服器 (模式) server_vad 認可輸入音訊緩衝區時,會開始轉譯。 轉譯會在建立回應時以異步方式執行,因此此事件可以在回應事件之前或之後執行。

即時 API 模型以原生方式接受音訊,因此輸入轉譯是在個別語音辨識模型上執行的個別程式,目前一律 whisper-1為 。 因此,文字記錄可能會與模型的解譯有些不同,而且應該被視為粗略的指南。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 conversation.item.input_audio_transcription.completed
item_id 字串 包含音訊的使用者訊息項目識別碼。
content_index 整數 包含音訊的內容部分索引。
轉錄 字串 已轉譯的文字。

RealtimeServerEventConversationItemInputAudioTranscriptionFailed

設定輸入音訊轉譯時,會傳回伺服器 conversation.item.input_audio_transcription.failed 事件,而且使用者訊息的轉譯要求失敗。 此事件與其他 error 事件不同,因此用戶端可以識別相關專案。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 conversation.item.input_audio_transcription.failed
item_id 字串 使用者訊息專案的標識碼。
content_index 整數 包含音訊的內容部分索引。
error object 轉譯錯誤的詳細數據。

請參閱下一個表格中的巢狀屬性。

錯誤屬性

欄位 類型 描述
type 字串 錯誤的類型。
code 字串 錯誤碼,如果有的話。
message 字串 人類可以看懂的錯誤訊息。
param 字串 與錯誤相關的參數,如果有的話。

RealtimeServerEventConversationItemTruncated

當用戶端使用 事件截斷先前的助理音訊消息專案conversation.item.truncate時,會傳回伺服器conversation.item.truncated事件。 此事件可用來同步處理伺服器對音訊與用戶端播放的瞭解。

此事件會截斷音訊並移除伺服器端文字記錄,以確保使用者不知道的內容中沒有文字。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 conversation.item.truncated
item_id 字串 截斷之小幫手訊息項目的標識碼。
content_index 整數 已截斷之內容元件的索引。
audio_end_ms 整數 音訊截斷的持續時間,以毫秒為單位。

RealtimeServerEventError

發生錯誤時會傳回伺服器 error 事件,這可能是客戶端問題或伺服器問題。 大部分的錯誤都是可復原的,且會話會保持開啟狀態。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 error
error object 錯誤的詳細數據。

請參閱下一個表格中的巢狀屬性。

錯誤屬性

欄位 類型 描述
type 字串 錯誤的類型。 例如,“invalid_request_error”和 “server_error”是錯誤類型。
code 字串 錯誤碼,如果有的話。
message 字串 人類可以看懂的錯誤訊息。
param 字串 與錯誤相關的參數,如果有的話。
event_id 字串 如果適用,造成錯誤的用戶端事件標識碼。

RealtimeServerEventInputAudioBufferCleared

當用戶端使用 input_audio_buffer.clear 事件清除輸入音訊緩衝區時,會傳回伺服器input_audio_buffer.cleared事件。

事件結構

{
  "type": "input_audio_buffer.cleared"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 input_audio_buffer.cleared

RealtimeServerEventInputAudioBufferCommitted

當客戶端認可輸入音訊緩衝區或在伺服器 VAD 模式中自動認可時,就會傳回伺服器 input_audio_buffer.committed 事件。 屬性 item_id 是所建立使用者訊息項目的標識碼。 因此, conversation.item.created 事件也會傳送至用戶端。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 input_audio_buffer.committed
previous_item_id 字串 插入新項目之後的上一個項目標識碼。
item_id 字串 建立之使用者訊息項目的標識碼。

RealtimeServerEventInputAudioBufferSpeechStarted

當音訊緩衝區中偵測到語音時,會在模式中傳回server_vad伺服器input_audio_buffer.speech_started事件。 每當音訊新增至緩衝區時,就會發生此事件(除非偵測到語音)。

注意

用戶端可能會想要使用此事件來中斷音訊播放,或為使用者提供視覺回饋。

用戶端應該會在語音停止時收到 input_audio_buffer.speech_stopped 事件。 屬性 item_id 是語音停止時所建立之使用者訊息項目的標識碼。 item_id除非用戶端在 VAD 啟用期間手動認可音訊緩衝區,否則 也會包含在 input_audio_buffer.speech_stopped 事件中。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 input_audio_buffer.speech_started
audio_start_ms 整數 第一次偵測到語音時,從寫入緩衝區的所有音訊開始到緩衝區的毫秒數。 這個屬性會對應至傳送至模型的音訊開頭,因此包含 prefix_padding_ms 工作階段中設定的 。
item_id 字串 語音停止時所建立之使用者訊息項目的標識碼。

RealtimeServerEventInputAudioBufferSpeechStopped

當伺服器 input_audio_buffer.speech_stopped 偵測到音訊緩衝區中的語音結束時,伺服器事件會以 server_vad 模式傳回。

伺服器也會傳送 conversation.item.created 事件,其中包含從音訊緩衝區建立的使用者訊息專案。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 input_audio_buffer.speech_stopped
audio_end_ms 整數 語音停止時會話啟動的毫秒數。 這個屬性會對應至傳送至模型的音訊結尾,因此包含在 min_silence_duration_ms 工作階段中設定的 。
item_id 字串 建立之使用者訊息項目的標識碼。

RealtimeServerEventRateLimitsUpdated

伺服器 rate_limits.updated 事件會在回應的開頭髮出,以指出更新的速率限制。

建立回應時,某些令牌會保留給輸出令牌。 此處顯示的速率限制會反映保留,該保留會在回應完成之後據此調整。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 rate_limits.updated
rate_limits RealtimeServerEventRateLimitsUpdatedRateLimitsItem 的 陣列 速率限制信息的清單。

RealtimeServerEventResponseAudioDelta

更新模型產生的音訊時,會傳回伺服器 response.audio.delta 事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.audio.delta
response_id 字串 回應的標識碼。
item_id 字串 項目的標識碼。
output_index 整數 回應中輸出專案的索引。
content_index 整數 項目內容數位中內容元件的索引。
delta 字串 Base64 編碼的音訊數據差異。

RealtimeServerEventResponseAudioDone

當模型產生的音訊完成時,會傳回伺服器 response.audio.done 事件。

當回應中斷、不完整或取消時,也會傳回此事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.audio.done
response_id 字串 回應的標識碼。
item_id 字串 項目的標識碼。
output_index 整數 回應中輸出專案的索引。
content_index 整數 項目內容數位中內容元件的索引。

RealtimeServerEventResponseAudioTranscriptDelta

更新模型產生的音訊輸出轉譯時,會傳回伺服器 response.audio_transcript.delta 事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.audio_transcript.delta
response_id 字串 回應的標識碼。
item_id 字串 項目的標識碼。
output_index 整數 回應中輸出專案的索引。
content_index 整數 項目內容數位中內容元件的索引。
delta 字串 文字記錄差異。

RealtimeServerEventResponseAudioTranscriptDone

當模型產生的音訊輸出轉譯完成串流處理時,就會傳回伺服器 response.audio_transcript.done 事件。

當回應中斷、不完整或取消時,也會傳回此事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.audio_transcript.done
response_id 字串 回應的標識碼。
item_id 字串 項目的標識碼。
output_index 整數 回應中輸出專案的索引。
content_index 整數 項目內容數位中內容元件的索引。
轉錄 字串 音訊的最終文字記錄。

RealtimeServerEventResponseContentPartAdded

當新的內容元件在回應產生期間新增至小幫手訊息專案時,就會傳回伺服器 response.content_part.added 事件。

事件結構

{
  "type": "response.content_part.added",
  "response_id": "<response_id>",
  "item_id": "<item_id>",
  "output_index": 0,
  "content_index": 0
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.content_part.added
response_id 字串 回應的標識碼。
item_id 字串 新增內容元件之專案的標識碼。
output_index 整數 回應中輸出專案的索引。
content_index 整數 項目內容數位中內容元件的索引。
組件 RealtimeContentPart 已新增的內容元件。

元件屬性

欄位 類型 描述
type RealtimeContentPartType

RealtimeServerEventResponseContentPartDone

當內容部分在小幫手訊息專案中進行串流處理時,就會傳回伺服器 response.content_part.done 事件。

當回應中斷、不完整或取消時,也會傳回此事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.content_part.done
response_id 字串 回應的標識碼。
item_id 字串 項目的標識碼。
output_index 整數 回應中輸出專案的索引。
content_index 整數 項目內容數位中內容元件的索引。
組件 RealtimeContentPart 完成的內容部分。

元件屬性

欄位 類型 描述
type RealtimeContentPartType

RealtimeServerEventResponseCreated

建立新的回應時,會傳回伺服器 response.created 事件。 這是建立回應的第一個事件,其中回應處於 初始狀態 in_progress

事件結構

{
  "type": "response.created"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.created
回覆 RealtimeResponse 回應物件。

RealtimeServerEventResponseDone

當回應完成串流處理時,會傳回伺服器 response.done 事件。 不論最終狀態為何,一律會發出此事件。 事件中包含的 response.done 回應物件包含回應中的所有輸出專案,但省略原始音訊數據。

事件結構

{
  "type": "response.done"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.done
回覆 RealtimeResponse 回應物件。

RealtimeServerEventResponseFunctionCallArgumentsDelta

當模型產生的函數調用自變數更新時,會傳回伺服器 response.function_call_arguments.delta 事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.function_call_arguments.delta
response_id 字串 回應的標識碼。
item_id 字串 函數調用項目的識別碼。
output_index 整數 回應中輸出專案的索引。
call_id 字串 函數調用的標識碼。
delta 字串 自變數會以 JSON 字串表示差異。

RealtimeServerEventResponseFunctionCallArgumentsDone

當模型產生的函數調用自變數完成串流處理時,就會傳回伺服器 response.function_call_arguments.done 事件。

當回應中斷、不完整或取消時,也會傳回此事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.function_call_arguments.done
response_id 字串 回應的標識碼。
item_id 字串 函數調用項目的識別碼。
output_index 整數 回應中輸出專案的索引。
call_id 字串 函數調用的標識碼。
參數 string 最後的自變數會以 JSON 字串表示。

RealtimeServerEventResponseOutputItemAdded

在響應產生期間建立新專案時,會傳回伺服器 response.output_item.added 事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.output_item.added
response_id 字串 項目所屬之回應的標識碼。
output_index 整數 回應中輸出專案的索引。
項目 RealtimeConversationResponseItem 已加入的專案。

RealtimeServerEventResponseOutputItemDone

當專案完成串流處理時,會傳回伺服器 response.output_item.done 事件。

當回應中斷、不完整或取消時,也會傳回此事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.output_item.done
response_id 字串 項目所屬之回應的標識碼。
output_index 整數 回應中輸出專案的索引。
項目 RealtimeConversationResponseItem 已進行串流處理的專案。

RealtimeServerEventResponseTextDelta

更新模型產生的文字時,會傳回伺服器 response.text.delta 事件。 文字會對應至 text 助理訊息項目的內容部分。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.text.delta
response_id 字串 回應的標識碼。
item_id 字串 項目的標識碼。
output_index 整數 回應中輸出專案的索引。
content_index 整數 項目內容數位中內容元件的索引。
delta 字串 文字差異。

RealtimeServerEventResponseTextDone

當模型產生的文字完成串流處理時,會傳回伺服器 response.text.done 事件。 文字會對應至 text 助理訊息項目的內容部分。

當回應中斷、不完整或取消時,也會傳回此事件。

事件結構

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

屬性

欄位 類型 描述
type 字串 事件類型必須是 response.text.done
response_id 字串 回應的標識碼。
item_id 字串 項目的標識碼。
output_index 整數 回應中輸出專案的索引。
content_index 整數 項目內容數位中內容元件的索引。
text 字串 最終文字內容。

RealtimeServerEventSessionCreated

當您建立與即時 API 的新連線時,伺服器 session.created 事件是第一個伺服器事件。 此事件會建立並傳回具有預設會話組態的新會話。

事件結構

{
  "type": "session.created"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 session.created
session RealtimeResponseSession 會話物件。

RealtimeServerEventSessionUpdated

用戶端更新會話時,會傳回伺服器 session.updated 事件。 如果發生錯誤,伺服器會改為傳送 error 事件。

事件結構

{
  "type": "session.updated"
}

屬性

欄位 類型 描述
type 字串 事件類型必須是 session.updated
session RealtimeResponseSession 會話物件。

元件

RealtimeAudioFormat

允許的值:

  • pcm16
  • g711_ulaw
  • g711_alaw

RealtimeAudioInputTranscriptionModel

允許的值:

  • whisper-1

RealtimeAudioInputTranscriptionSettings

欄位 類型 描述
機型 RealtimeAudioInputTranscriptionModel 預設 whisper-1 模型目前是唯一支援音訊輸入轉譯的模型。

RealtimeClientEvent

欄位 類型 描述
type RealtimeClientEventType 用戶端事件的型別。
event_id 字串 事件的唯一標識碼。 用戶端可以指定標識碼來協助識別事件。

RealtimeClientEventType

允許的值:

  • 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

欄位 類型 描述
type RealtimeContentPartType 內容類型。

對象的屬性 function

允許的值:input_text、、、input_audioitem_referencetext
text 字串 文字內容。 此屬性適用於 input_texttext 內容類型。
id 字串 要同時在用戶端和伺服器建立項目中參考的上一個交談專案標識碼。 此屬性適用於 item_reference 事件中的 response.create 內容類型。
audio 字串 base64 編碼的音訊位元組。 此屬性適用於 input_audio 內容類型。
轉錄 字串 音訊的文字記錄。 此屬性適用於 input_audio 內容類型。

RealtimeContentPartType

允許的值:

  • input_text
  • input_audio
  • text
  • audio

RealtimeConversationItemBase

要加入至交談的專案。

下表描述所有 RealtimeConversationItem 屬性。 每個事件適用的屬性取決於 RealtimeItemType

欄位 類型 描述
id 字串 專案的唯一標識碼。 用戶端可以指定識別碼,以協助管理伺服器端內容。 如果用戶端未提供識別碼,伺服器會產生一個標識碼。
type RealtimeItemType 專案的型別。

允許的值:message、、 function_callfunction_call_output
object 字串 要傳回之 API 對象的識別碼。 值一律為 realtime.item
status RealtimeItemStatus 項目的狀態。 此欄位不會影響交談,但會接受此欄位以與 conversation.item.created 事件保持一致。

允許值︰completedincomplete
角色 (role) RealtimeMessageRole 郵件寄件者的角色。 此屬性僅適用於 message 專案。

允許的值:system、、 userassistant
content RealtimeContentPart 的 陣列 訊息的內容。 此屬性僅適用於 message 專案。

- 角色 system 的郵件專案僅 input_text 支持內容。
- 角色 user 支持 input_textinput_audio 內容的訊息專案。
- 角色 assistant 支持 text 內容的訊息專案。
call_id 字串 函式調用的識別碼(適用於 function_callfunction_call_output 專案)。 如果傳遞至 function_call_output 專案,伺服器會檢查交談歷程記錄中是否存在 function_call 具有相同標識符的專案。
NAME 字串 所呼叫之函式的名稱(針對 function_call 專案)。
參數 string 函數調用的自變數(適用於 function_call 專案)。
output 字串 函數調用的輸出(針對 function_call_output 專案)。

RealtimeConversationRequestItem

您可以使用 RealtimeConversationRequestItem 對象,透過 conversation.item.create 事件在交談中建立新的專案。

欄位 類型 描述
type RealtimeItemType 專案的型別。
id 字串 專案的唯一標識碼。 用戶端可以指定識別碼,以協助管理伺服器端內容。 如果用戶端未提供識別碼,伺服器會產生一個標識碼。

RealtimeConversationResponseItem

物件 RealtimeConversationResponseItem 代表交談中的專案。 它用於某些伺服器事件,例如:

欄位 類型 描述
object 字串 傳回之 API 物件的識別碼。

允許的值: realtime.item
type RealtimeItemType 專案的型別。

允許的值:message、、 function_callfunction_call_output
id 字串 專案的唯一標識碼。 用戶端可以指定識別碼,以協助管理伺服器端內容。 如果用戶端未提供識別碼,伺服器會產生一個標識碼。

此屬性可為 Null。

RealtimeFunctionTool

即時端點所使用的函式工具定義。

欄位 類型 描述
type 字串 工具的型別。

允許的值: function
NAME 字串 函數的名稱。
description 字串 函式的描述,包括使用方針。 例如,「使用此函式來取得目前的時間」。
parameters object 函式的參數,格式為 JSON 物件。

RealtimeItemStatus

允許的值:

  • in_progress
  • completed
  • incomplete

RealtimeItemType

允許的值:

  • message
  • function_call
  • function_call_output

RealtimeMessageRole

允許的值:

  • system
  • user
  • assistant

RealtimeRequestAssistantMessageItem

欄位 類型 描述
角色 (role) 字串 訊息的角色。

允許的值: assistant
content RealtimeRequestTextContentPart 的 陣列 訊息的內容。

RealtimeRequestAudioContentPart

欄位 類型 描述
type 字串 內容部分的類型。

允許的值: input_audio
轉錄 字串 音訊的文字記錄。

RealtimeRequestFunctionCallItem

欄位 類型 描述
type 字串 專案的型別。

允許的值: function_call
NAME 字串 函數調用項目的名稱。
call_id 字串 函數調用項目的識別碼。
參數 string 函數調用專案的自變數。
status RealtimeItemStatus 項目的狀態。

RealtimeRequestFunctionCallOutputItem

欄位 類型 描述
type 字串 專案的型別。

允許的值: function_call_output
call_id 字串 函數調用項目的識別碼。
output 字串 函數調用項目的輸出。

RealtimeRequestMessageItem

欄位 類型 描述
type 字串 專案的型別。

允許的值: message
角色 (role) RealtimeMessageRole 訊息的角色。
status RealtimeItemStatus 項目的狀態。

RealtimeRequestMessageReferenceItem

欄位 類型 描述
type 字串 專案的型別。

允許的值: message
id 字串 訊息項目的標識碼。

RealtimeRequestSession

RealtimeRequestSession當您想要透過 session.update 事件更新會話組態時,請使用 物件。

欄位 類型 描述
方式 陣列 會話支援的形式。

允許值︰textaudio

例如, "modalities": ["text", "audio"] 是啟用文字和音訊格式的預設設定。 若要只開啟文字,請設定 "modalities": ["text"]。 您無法只啟用音訊。
指示 字串 引導模型文字和音訊回應的指示(系統訊息)。

以下是一些範例指示,可協助引導文字和音訊回應的內容和格式:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

以下是一些協助引導音訊行為的範例指示:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

雖然模型不一定會遵循這些指示,但它們會提供所需行為的指引。
voice RealtimeVoice 用於會話之模型回應的語音。

一旦語音用於模型的音訊回應會話,就無法變更。
input_audio_format RealtimeAudioFormat 輸入音訊的格式。
output_audio_format RealtimeAudioFormat 輸出音訊的格式。
input_audio_transcription RealtimeAudioInputTranscriptionSettings 音訊輸入轉譯的設定。

此屬性可為 Null。
turn_detection RealtimeTurnDetection 工作階段的回合偵測設定。

此屬性可為 Null。
tools RealtimeTool 的 陣列 會話模型可用的工具。
tool_choice RealtimeToolChoice 工作階段的工具選擇。

允許值:autononerequired。 否則,您可以指定要使用的函式名稱。
溫度 數值 模型的取樣溫度。 允許的溫度值限制為 [0.6, 1.2]。 預設為 0.8。
max_response_output_tokens 整數或 “inf” 每個小幫手響應的輸出令牌數目上限,包含工具呼叫。

指定介於 1 到 4096 之間的整數,以限制輸出令牌。 否則,請將值設定為 「inf」 ,以允許令牌數目上限。

例如,若要將輸出令牌限制為 1000,請設定 "max_response_output_tokens": 1000。 若要允許權杖數目上限,請設定 "max_response_output_tokens": "inf"

預設為 "inf"

RealtimeRequestSystemMessageItem

欄位 類型 描述
角色 (role) 字串 訊息的角色。

允許的值: system
content RealtimeRequestTextContentPart 的 陣列 訊息的內容。

RealtimeRequestTextContentPart

欄位 類型 描述
type 字串 內容部分的類型。

允許的值: input_text
text 字串 文字內容。

RealtimeRequestUserMessageItem

欄位 類型 描述
角色 (role) 字串 訊息的角色。

允許的值: user
content RealtimeRequestTextContentPartRealtimeRequestAudioContentPart 的陣列 訊息的內容。

RealtimeResponse

欄位 類型 描述
object 字串 回應物件。

允許的值: realtime.response
id 字串 回應的唯一標識碼。
status RealtimeResponseStatus 回應的狀態。

預設狀態值為 in_progress
status_details RealtimeResponseStatusDetails 回應狀態的詳細數據。

此屬性可為 Null。
output RealtimeConversationResponseItem 的 陣列 回應的輸出專案。
用法 object 回應的使用統計數據。 每個即時 API 會話都會維護交談內容,並將新專案附加至交談。 先前回合的輸出(文字和音訊令牌)是後續回合的輸入。

接下來請參閱巢狀屬性。
+ total_tokens 整數 回應中的令牌總數,包括輸入和輸出文字和音訊令牌。

對象的屬性 usage
+ input_tokens 整數 回應中使用的輸入令牌數目,包括文字和音訊令牌。

對象的屬性 usage
+ output_tokens 整數 回應中傳送的輸出令牌數目,包括文字和音訊令牌。

對象的屬性 usage
+ input_token_details object 回應中使用的輸入令牌詳細數據。

對象的屬性 usage
br>
接下來請參閱巢狀屬性。
+ cached_tokens 整數 回應中使用的快取令牌數目。

對象的屬性 input_token_details
+ text_tokens 整數 回應中使用的文字標記數目。

對象的屬性 input_token_details
+ audio_tokens 整數 回應中使用的音訊令牌數目。

對象的屬性 input_token_details
+ output_token_details object 回應中使用的輸出令牌詳細數據。

對象的屬性 usage

接下來請參閱巢狀屬性。
+ text_tokens 整數 回應中使用的文字標記數目。

對象的屬性 output_token_details
+ audio_tokens 整數 回應中使用的音訊令牌數目。

對象的屬性 output_token_details

RealtimeResponseAudioContentPart

欄位 類型 描述
type 字串 內容部分的類型。

允許的值: audio
轉錄 字串 音訊的文字記錄。

此屬性可為 Null。

RealtimeResponseBase

回應資源。

RealtimeResponseFunctionCallItem

欄位 類型 描述
type 字串 專案的型別。

允許的值: function_call
NAME 字串 函數調用項目的名稱。
call_id 字串 函數調用項目的識別碼。
參數 string 函數調用專案的自變數。
status RealtimeItemStatus 項目的狀態。

RealtimeResponseFunctionCallOutputItem

欄位 類型 描述
type 字串 專案的型別。

允許的值: function_call_output
call_id 字串 函數調用項目的識別碼。
output 字串 函數調用項目的輸出。

RealtimeResponseMessageItem

欄位 類型 描述
type 字串 專案的型別。

允許的值: message
角色 (role) RealtimeMessageRole 訊息的角色。
content 陣列 訊息的內容。

陣列專案: RealtimeResponseTextContentPart
status RealtimeItemStatus 項目的狀態。

RealtimeResponseOptions

欄位 類型 描述
方式 陣列 會話支援的形式。

允許值︰textaudio

例如, "modalities": ["text", "audio"] 是啟用文字和音訊格式的預設設定。 若要只開啟文字,請設定 "modalities": ["text"]。 您無法只啟用音訊。
指示 字串 引導模型文字和音訊回應的指示(系統訊息)。

以下是一些範例指示,可協助引導文字和音訊回應的內容和格式:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

以下是一些協助引導音訊行為的範例指示:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

雖然模型不一定會遵循這些指示,但它們會提供所需行為的指引。
voice RealtimeVoice 用於會話之模型回應的語音。

一旦語音用於模型的音訊回應會話,就無法變更。
output_audio_format RealtimeAudioFormat 輸出音訊的格式。
tools RealtimeTool 的 陣列 會話模型可用的工具。
tool_choice RealtimeToolChoice 工作階段的工具選擇。
溫度 數值 模型的取樣溫度。 允許的溫度值限制為 [0.6, 1.2]。 預設為 0.8。
max__output_tokens 整數或 “inf” 每個小幫手響應的輸出令牌數目上限,包含工具呼叫。

指定介於 1 到 4096 之間的整數,以限制輸出令牌。 否則,請將值設定為 「inf」 ,以允許令牌數目上限。

例如,若要將輸出令牌限制為 1000,請設定 "max_response_output_tokens": 1000。 若要允許權杖數目上限,請設定 "max_response_output_tokens": "inf"

預設為 "inf"
交談 字串 控制要新增回應的交談。 支援的值為 autonone

auto值(或未設定此屬性)可確保回應的內容會新增至會話的預設交談。

將此屬性設定為 , none 以建立頻外回應,其中不會將專案新增至預設交談。 如需詳細資訊,請參閱 操作說明指南

預設為 "auto"
中繼資料 map 最多可以附加至物件的16個索引鍵/值組。 這有助於以結構化格式儲存物件的其他相關資訊。 索引鍵的長度上限為 64 個字元,而值的長度上限為 512 個字元。

例如:metadata: { topic: "classification" }
input 陣列 要包含在模型提示中的輸入專案。 建立此回應的新內容,而不包含預設交談。 可以包含預設交談中項目的參考。

陣列專案: RealtimeConversationItemBase

RealtimeResponseSession

物件 RealtimeResponseSession 代表即時 API 中的工作階段。 它用於某些伺服器事件,例如:

欄位 類型 描述
object 字串 會話物件。

允許的值: realtime.session
id 字串 會話的唯一標識碼。
機型 字串 用於會話的模型。
方式 陣列 會話支援的形式。

允許值︰textaudio

例如, "modalities": ["text", "audio"] 是啟用文字和音訊格式的預設設定。 若要只開啟文字,請設定 "modalities": ["text"]。 您無法只啟用音訊。
指示 字串 引導模型文字和音訊回應的指示(系統訊息)。

以下是一些範例指示,可協助引導文字和音訊回應的內容和格式:
"instructions": "be succinct"
"instructions": "act friendly"
"instructions": "here are examples of good responses"

以下是一些協助引導音訊行為的範例指示:
"instructions": "talk quickly"
"instructions": "inject emotion into your voice"
"instructions": "laugh frequently"

雖然模型不一定會遵循這些指示,但它們會提供所需行為的指引。
voice RealtimeVoice 用於會話之模型回應的語音。

一旦語音用於模型的音訊回應會話,就無法變更。
input_audio_format RealtimeAudioFormat 輸入音訊的格式。
output_audio_format RealtimeAudioFormat 輸出音訊的格式。
input_audio_transcription RealtimeAudioInputTranscriptionSettings 音訊輸入轉譯的設定。

此屬性可為 Null。
turn_detection RealtimeTurnDetection 工作階段的回合偵測設定。

此屬性可為 Null。
tools RealtimeTool 的 陣列 會話模型可用的工具。
tool_choice RealtimeToolChoice 工作階段的工具選擇。
溫度 數值 模型的取樣溫度。 允許的溫度值限制為 [0.6, 1.2]。 預設為 0.8。
max_response_output_tokens 整數或 “inf” 每個小幫手響應的輸出令牌數目上限,包含工具呼叫。

指定介於 1 到 4096 之間的整數,以限制輸出令牌。 否則,請將值設定為 「inf」 ,以允許令牌數目上限。

例如,若要將輸出令牌限制為 1000,請設定 "max_response_output_tokens": 1000。 若要允許權杖數目上限,請設定 "max_response_output_tokens": "inf"

RealtimeResponseStatus

允許的值:

  • in_progress
  • completed
  • cancelled
  • incomplete
  • failed

RealtimeResponseStatusDetails

欄位 類型 描述
type RealtimeResponseStatus 回應的狀態。

RealtimeResponseTextContentPart

欄位 類型 描述
type 字串 內容部分的類型。

允許的值: text
text 字串 文字內容。

RealtimeServerEvent

欄位 類型 描述
type RealtimeServerEventType 伺服器事件的型別。
event_id 字串 伺服器事件的唯一標識碼。

RealtimeServerEventRateLimitsUpdatedRateLimitsItem

欄位 類型 Description
NAME 字串 此專案包含相關信息的速率限制屬性名稱。
limit 整數 此速率限制屬性的最大設定限制。
剩餘 整數 針對此速率限制屬性所設定的限制,可用的剩餘配額。
reset_seconds 數值 剩餘的時間,以秒為單位,直到重設此速率限制屬性為止。

RealtimeServerEventType

允許的值:

  • 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

欄位 類型 描述
type 字串 回合偵測的類型。

允許的值: server_vad
threshold 數值 伺服器 VAD 回合偵測的啟用閾值。 在嘈雜的環境中,您可能需要增加閾值,以避免誤判。 在無訊息的環境中,您可能需要降低閾值,以避免誤判。

預設為 0.5。 您可以將 臨界值設定為 和 1.0之間的0.0值。
prefix_padding_ms 字串 在偵測到的語音開始之前,要包含的語音音訊持續時間(以毫秒為單位)。

預設為 300
silence_duration_ms 字串 偵測語音結束的無聲持續時間(以毫秒為單位)。 您想要儘快偵測語音結束,但不要太快避免切斷語音的最後一部分。

如果您將此值設定為較低的數位,模型會更快速地回應,但可能會切斷語音的最後一個部分。 如果您將此值設定為較高的數位,模型會等候較長的時間來偵測語音結束,但回應可能需要較長的時間。

RealtimeSessionBase

即時會話物件組態。

RealtimeTool

即時工具定義的基底表示法。

欄位 類型 描述
type RealtimeToolType 工具的型別。

RealtimeToolChoice

實時 tool_choice 參數的可用表示法組合,包含字串常值選項,例如 'auto' 和已定義工具的結構化參考。

RealtimeToolChoiceFunctionObject

即時 tool_choice 選取具名函式工具的表示法。

欄位 類型 描述
type 字串 tool_choice 的類型。

允許的值: function
函數 object 要選取的函式工具。

接下來請參閱巢狀屬性。
+ 名稱 字串 函式工具的名稱。

對象的屬性 function

RealtimeToolChoiceLiteral

即時端點的可用模式層級字串常值 tool_choice 選項集。

允許的值:

  • auto
  • none
  • required

RealtimeToolChoiceObject

即時 tool_choice 選取具名工具的基底表示法。

欄位 類型 描述
type RealtimeToolType tool_choice 的類型。

RealtimeToolType

即時工具的支援工具類型歧視性。 目前僅支援「函式」工具。

允許的值:

  • function

RealtimeTurnDetection

欄位 類型 描述
type RealtimeTurnDetectionType 回合偵測的類型。

允許的值: server_vad
threshold 數值 伺服器 VAD 回合偵測的啟用閾值。 在嘈雜的環境中,您可能需要增加閾值,以避免誤判。 在無訊息的環境中,您可能需要降低閾值,以避免誤判。

預設為 0.5。 您可以將 臨界值設定為 和 1.0之間的0.0值。
prefix_padding_ms 字串 在偵測到的語音開始之前,要包含的語音音訊持續時間(以毫秒為單位)。

預設值為 300 毫秒。
silence_duration_ms 字串 偵測語音結束的無聲持續時間(以毫秒為單位)。 您想要儘快偵測語音結束,但不要太快避免切斷語音的最後一部分。

如果您將此值設定為較低的數位,模型會更快速地回應,但可能會切斷語音的最後一個部分。 如果您將此值設定為較高的數位,模型會等候較長的時間來偵測語音結束,但回應可能需要較長的時間。

預設值為 500 毫秒。
create_response boolean 指出當 VAD 啟用且語音停止時,伺服器是否會自動建立回應。

預設為 true

RealtimeTurnDetectionType

允許的值:

  • server_vad

RealtimeVoice

允許的值:

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