Skip to main content
Assistant API(下線中)

Assistant API 流式輸出參數說明(下線中)

通過 Assistant API 流式輸出,您可以即時擷取 Assistant 的運行結果。這些結果稱為 Assistant 事件流,包含了 Assistant 運行時產生的狀態資訊和對話訊息。為了正確處理這些對話訊息,您需要瞭解訊息增量對象和運行步驟增量對象。

Assistant API下線中,建議遷移至Responses API:內建多種工具,並支援多輪上下文管理,可作為替代方案。

訊息增量對象

事件名:thread.message.delta
在流式運行中大模型產生的訊息片段。

欄位名

類型

描述

id

string

訊息的標識符。

object

string

物件類型,與事件名保持一致。始終是 thread.message.delta。

delta

object

大模型產生的訊息片段對象。

delta.role

string

產生訊息的角色。可以是 user 或 assistant 中的一個。

delta.file_ids

array

暫未使用的欄位。

delta.content

object

訊息內容對象。

delta.content.type

string

訊息內容類型,始終是 text。

delta.content.text

object

訊息中包含的常值內容對象。

delta.content.text.annotations

array

暫未使用的欄位。

delta.content.text.value

string

訊息中包含的常值內容。

訊息增量對象樣本
{
    "delta": {
        "content": {
            "text": {
                "annotations": [],
                "value": "[REDACTED]"
            },
            "type": "text"
        },
        "role": "[REDACTED]",
        "file_ids": []
    },
    "id": "[REDACTED]",
    "object": "thread.message.delta",
    "request_id": "[REDACTED]",
    "status_code": 200
}

運行步驟增量對象

事件名:thread.run.step.delta
在流式運行中工具調用返回的訊息片段。

欄位名

類型

描述

id

string

運行步驟的標識符。

object

string

物件類型,與事件名保持一致。始終是 thread.run.step.delta。

delta

object

工具調用返回的訊息片段對象。

delta.step_details

object

片段的詳細步驟資訊對象。

delta.step_details.type

string

步驟詳情類型, 可能是 message_creation 或 tool_calls

delta.step_details.message_creation

object

步驟建立訊息的詳細資料。

delta.step_details.message_creation.type

string

始終為 message_creation。

delta.step_details.message_creation.message_id

string

此步驟建立的訊息 ID。

delta.step_details.tool_calls

array

工具調用的詳細資料列表。

delta.step_details.tool_calls.type

string

工具調用的類型,可能為 code_interpreter, quark_search, text_to_image, calculator

delta.step_details.tool_calls.code_interpreter

object

代碼解譯器的訊息對象。

delta.step_details.tool_calls.code_interpreter.arguments

string

代碼解譯器的輸入參數,包括代碼類型,完整代碼。由大模型產生。

delta.step_details.tool_calls.code_interpreter.output

string

代碼解譯器的輸出參數,包括執行結果。由代碼解譯器產生。

delta.step_details.tool_calls.quark_search

object

夸克搜尋的訊息對象。

delta.step_details.tool_calls.quark_search.arguments

string

夸克搜尋的輸入參數,包括改寫後的查詢語句。由大模型產生。

delta.step_details.tool_calls.quark_search.output

string

夸克搜尋的輸出參數,包括成功標記,錯誤碼,錯誤訊息,搜尋結果列表(標題、地址、描述、類型、訊息源)。由夸克搜尋產生。

delta.step_details.tool_calls.text_to_image

object

文生圖的訊息對象。

delta.step_details.tool_calls.text_to_image.arguments

string

文生圖的輸入參數,包括模型名,風格,映像大小,映像數量,正向提示詞和負向提示詞。由大模型產生。

delta.step_details.tool_calls.text_to_image.output

string

文生圖的輸出參數,包括請求id,任務id,任務狀態,提交時間,預計完成時間,結束時間,產生結果,映像數量,成功標記和失敗標記。由文生圖產生。

delta.step_details.tool_calls.calculator

object

計算機的訊息對象。

delta.step_details.tool_calls.calculator.arguments

string

計算機的輸入參數,包括輸入公式和要求標頭。由大模型產生。

delta.step_details.tool_calls.calculator.output

string

計算機的輸出參數,包括公式和結果。由計算機產生。

代碼解譯器,夸克搜尋,文生圖和計算機支援流式輸出。其他 Assistant API 工具不支援流式輸出。如需在流式輸出中擷取這些工具調用的結果,請使用一般的工具調用處理方法。詳情請參考工具調用-概述目錄的對應章節。
運行步驟增量對象樣本
{
    "delta": {
        "step_details": {
            "tool_calls": [
                {
                    "code_interpreter": {
                        "output": [],
                        "arguments": "[REDACTED]"
                    },
                    "type": "code_interpreter"
                }
            ],
            "type": "tool_calls"
        }
    },
    "id": "[REDACTED]",
    "object": "thread.run.step.delta",
    "request_id": "[REDACTED]",
    "status_code": 200
}

Assistant 事件流

在流式運行 Assistant 時發生的事件。 在 Assistant API 中,流式資料也稱為“事件流”,由event(事件)data(事件數目據)組成:
  • event:每當建立新對象、轉換到新狀態或串流時,伺服器都會發出事件。 例如,建立新的運行thread.run.created 、運行完成 thread.run.completed 等。
  • data:包含了事件相關的詳細資料。 例如狀態、文本或工具訊息、錯誤等。
event: thread.created
data: {"id": "thread_123", "object": "thread", ...}

事件名

資料類型

描述

thread.created

thread

建立新線程時發生。

thread.run.created

run

建立新運行時發生。

thread.run.queued

run

當運行移動到 queued 狀態時發生。

thread.run.in_progress

run

當運行移動到 in_progress 狀態時發生。

thread.run.requires_action

run

當運行移動到 requires_action 狀態時發生。

thread.run.completed

run

在運行完成時發生。

thread.run.failed

run

當運行失敗時發生。

thread.run.cancelled

run

當運行被取消時發生。

thread.run.expired

run

發生在運行到期時。

thread.run.step.created

run step

在建立運行步驟時發生。

thread.run.step.in_progress

run step

當運行步驟移動到 in_progress 狀態時發生。

thread.run.step.delta

run step delta

在運行步驟的部分內容被串流時發生。

thread.run.step.completed

run step

在運行步驟完成時發生。

thread.run.step.failed

run step

發生在運行步驟失敗時。

thread.run.step.cancelled

run step

當運行步驟被取消時發生。

thread.run.step.expired

run step

發生在運行步驟到期時。

thread.message.created

message

在訊息建立時發生。

thread.message.in_progress

message

當訊息變為 in_progress 狀態時發生。

thread.message.delta

message delta

當訊息的部分內容被串流時發生。

thread.message.completed

message

當訊息完成時發生。

thread.message.incomplete

message

當訊息在完成之前結束時發生。

error

error

當發生錯誤時觸發。這可能是由於內部伺服器錯誤或逾時引起的。

常見問題

  • 在配置流式輸出時,如果您遇到代碼執行錯誤,請參閱錯誤碼排查錯誤類型。
  • 如需瞭解 Assistant API 流式輸出的配置方法,請參閱Assistant API 流式輸出快速入門以瞭解更多資訊。