流播放

Beta

流式传输执行运行结果或在提交工具输出后恢复运行。

你可以通过传递 "stream": true 来从以下端点流式传输事件:

响应将是一个服务器发送事件(Server-Sent Events)流。

我们的 Node 和 Python SDK 提供了便捷的实用工具,使流式传输变得简单。参考助手 API 快速入门了解更多信息。

消息增量

Beta

表示消息的增量,即流式传输期间消息中发生变化的字段。

参数表

id

  • 类型: string
  • 描述: 消息的标识符,可以在 API 端点中引用。

object

  • 类型: string
  • 描述: 对象类型,总是 thread.message.delta

delta

  • 类型: object
  • 描述: 包含消息中已更改字段的增量。

示例代码

{
  "id": "msg_123",
  "object": "thread.message.delta",
  "delta": {
    "content": [
      {
        "index": 0,
        "type": "text",
        "text": { "value": "Hello", "annotations": [] }
      }
    ]
  }
}

运行步骤的增量

Beta

表示运行步骤的增量,即流式传输期间运行步骤中发生变化的字段。

参数表

id

  • 类型: string
  • 描述: 运行步骤的标识符,可以在 API 端点中引用。

object

  • 类型: string
  • 描述: 对象类型,总是 thread.run.step.delta

delta

  • 类型: object
  • 描述: 包含运行步骤中已更改字段的增量。

示例代码

{
  "id": "step_123",
  "object": "thread.run.step.delta",
  "delta": {
    "step_details": {
      "type": "tool_calls",
      "tool_calls": [
        {
          "index": 0,
          "id": "call_123",
          "type": "code_interpreter",
          "code_interpreter": { "input": "", "outputs": [] }
        }
      ]
    }
  }
}

助理流事件

Beta

表示在流式传输运行时发出的事件。

每个服务器发送事件流中的事件都有一个 eventdata 属性:

event: thread.created
data: {"id": "thread_123", "object": "thread", ...}

我们在创建新对象、转换到新状态或分部分流式传输(增量)时发出事件。例如,当创建一个新运行时,我们发出 thread.run.created 事件,当运行完成时,我们发出 thread.run.completed 事件,等等。当 Assistant 在运行期间选择创建消息时,我们发出 thread.message.created 事件、thread.message.in_progress 事件、多个 thread.message.delta 事件,最后发出 thread.message.completed 事件。

我们可能会随时间添加更多事件,因此建议在代码中优雅地处理未知事件。请参阅 Assistants API 快速入门 了解如何与 Assistants API 进行流式传输集成。

参数表

thread.created

  • 类型: data 是一个 thread
  • 描述: 当创建新 thread 时发生。

thread.run.created

  • 类型: data 是一个 run
  • 描述: 当创建新 run 时发生。

thread.run.queued

  • 类型: data 是一个 run
  • 描述: 当 run 变为 queued 状态时发生。

thread.run.in_progress

  • 类型: data 是一个 run
  • 描述: 当 run 变为 in_progress 状态时发生。

thread.run.requires_action

  • 类型: data 是一个 run
  • 描述: 当 run 变为 requires_action 状态时发生。

thread.run.completed

  • 类型: data 是一个 run
  • 描述: 当 run 完成时发生。

thread.run.incomplete

  • 类型: data 是一个 run
  • 描述: 当 runincomplete 状态结束时发生。

thread.run.failed

  • 类型: data 是一个 run
  • 描述: 当 run 失败时发生。

thread.run.cancelling

  • 类型: data 是一个 run
  • 描述: 当 run 变为 cancelling 状态时发生。

thread.run.cancelled

  • 类型: data 是一个 run
  • 描述: 当 run 被取消时发生。

thread.run.expired

  • 类型: data 是一个 run
  • 描述: 当 run 过期时发生。

thread.run.step.created

thread.run.step.in_progress

  • 类型: data 是一个 run step
  • 描述: 当 run step 变为 in_progress 状态时发生。

thread.run.step.delta

thread.run.step.completed

thread.run.step.failed

thread.run.step.cancelled

thread.run.step.expired

thread.message.created

  • 类型: data 是一个 message
  • 描述: 当创建新 message 时发生。

thread.message.in_progress

  • 类型: data 是一个 message
  • 描述: 当 message 变为 in_progress 状态时发生。

thread.message.delta

thread.message.completed

  • 类型: data 是一个 message
  • 描述: 当 message 完成时发生。

thread.message.incomplete

  • 类型: data 是一个 message
  • 描述: 当 message 在完成前结束时发生。

error

  • 类型: data 是一个 error
  • 描述: 当发生 error 时发生。这可能是由于内部服务器错误或超时导致的。

done

  • 类型: data[DONE]
  • 描述: 当流结束时发生。

Was this page helpful?