即時 API (預覽) 參考
注意
此功能目前處於公開預覽。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
即時 API 是以 WebSocket 為基礎的 API,可讓您即時與 Azure OpenAI 服務互動。
即時 API (透過 /realtime
) 建置在 WebSockets 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 | 將專案新增至交談時,傳送此用戶端事件。 |
RealtimeClientEventConversationItemDelete | 當您想要從交談歷程記錄中移除任何專案時,傳送此用戶端事件。 |
RealtimeClientEventConversationItemTruncate | 當您想要截斷先前小幫手訊息的音訊時,傳送此用戶端事件。 |
RealtimeClientEventInputAudioBufferAppend | 傳送此用戶端事件以將音訊位元組附加至輸入音訊緩衝區。 |
RealtimeClientEventInputAudioBufferClear | 傳送此用戶端事件以清除緩衝區中的音訊位元組。 |
RealtimeClientEventInputAudioBufferCommit | 傳送此用戶端事件,將音訊位元組認可給使用者訊息。 |
RealtimeClientEventResponseCancel | 傳送此用戶端事件以取消進行中的回應。 |
RealtimeClientEventResponseCreate | 傳送此用戶端事件以觸發響應產生。 |
RealtimeClientEventSessionUpdate | 傳送此用戶端事件以更新會話的預設組態。 |
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.created
和 response.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
伺服器事件會在會話建立後立即傳回。 每個會話會建立一個交談。
事件結構
{
"type": "conversation.created",
"conversation": {
"id": "<id>",
"object": "<object>"
}
}
屬性
欄位 | 類型 | 描述 |
---|---|---|
type | 字串 | 事件類型必須是 conversation.created 。 |
交談 | object | 交談資源。 |
交談屬性
欄位 | 類型 | 描述 |
---|---|---|
id | 字串 | 交談的唯一識別碼。 |
object | 字串 | 物件類型必須是 realtime.conversation 。 |
RealtimeServerEventConversationItemCreated
建立交談專案時,會傳回伺服器 conversation.item.created
事件。 有幾個案例會產生此事件:
- 伺服器會產生回應,如果成功產生一或兩個專案,其類型
message
為 (roleassistant
) 或類型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 | 內容部分的類型。 |
RealtimeContentPartType
允許的值:
input_text
input_audio
text
audio
RealtimeConversationItemBase
要加入至交談的專案。
RealtimeConversationRequestItem
欄位 | 類型 | 描述 |
---|---|---|
type | RealtimeItemType | 專案的型別。 |
id | 字串 | 專案的唯一標識碼。 |
RealtimeConversationResponseItem
欄位 | 類型 | 描述 |
---|---|---|
object | 字串 | 交談回應專案。 允許的值: realtime.item |
type | RealtimeItemType | 專案的型別。 |
id | 字串 | 專案的唯一標識碼。 此屬性可為 Null。 |
RealtimeFunctionTool
即時端點所使用的函式工具定義。
欄位 | 類型 | 描述 |
---|---|---|
type | 字串 | 工具的型別。 允許的值: function |
NAME | 字串 | 函數的名稱。 |
description | 字串 | 函式的描述。 |
parameters | object | 函式的參數。 |
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
欄位 | 類型 | 描述 |
---|---|---|
方式 | 陣列 | 會話支援的形式。 允許值︰ text 和 audio 例如, "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" 。預設為 "inf" 。 |
RealtimeRequestSystemMessageItem
欄位 | 類型 | 描述 |
---|---|---|
角色 (role) | 字串 | 訊息的角色。 允許的值: system |
content | RealtimeRequestTextContentPart 的 陣列 | 訊息的內容。 |
RealtimeRequestTextContentPart
欄位 | 類型 | 描述 |
---|---|---|
type | 字串 | 內容部分的類型。 允許的值: input_text |
text | 字串 | 文字內容。 |
RealtimeRequestUserMessageItem
欄位 | 類型 | 描述 |
---|---|---|
角色 (role) | 字串 | 訊息的角色。 允許的值: user |
content | RealtimeRequestTextContentPart 或 RealtimeRequestAudioContentPart 的陣列 | 訊息的內容。 |
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
欄位 | 類型 | 描述 |
---|---|---|
方式 | 陣列 | 會話支援的形式。 允許值︰ text 和 audio 例如, "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" 。 |
RealtimeResponseSession
欄位 | 類型 | 描述 |
---|---|---|
object | 字串 | 會話物件。 允許的值: realtime.session |
id | 字串 | 會話的唯一標識碼。 |
機型 | 字串 | 用於會話的模型。 |
方式 | 陣列 | 會話支援的形式。 允許值︰ text 和 audio 例如, "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 |
RealtimeTurnDetectionType
允許的值:
server_vad
RealtimeVoice
允許的值:
alloy
shimmer
echo
相關內容
- 開始使用即時 API 快速入門。
- 深入瞭解 如何使用即時 API。