Run Steps 描述了智能体运行过程中所采取的步骤,包括模型和工具的调用。
列出运行步骤
返回一个运行任务的所有步骤列表。
请求示例
HTTP
curl --location 'https://dashscope.aliyuncs.com/api/v1/threads/thread_cc2a3e9d-436b-482b-91c5-377e0f376506/runs/run_3de634fa-75d4-4370-adcf-92ba2a60c396/steps?limit=20&order=asc' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
SDK
from dashscope import Steps
steps = Steps.list('run_id',
thread_id='thread_id',
limit='')
import com.alibaba.dashscope.common.GeneralListParam;
import com.alibaba.dashscope.common.ListResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.runs.RunStep;
import com.alibaba.dashscope.threads.runs.Runs;
public class Main {
public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
Runs runs = new Runs();
GeneralListParam listSteps = GeneralListParam.builder().build();
ListResult<RunStep> run = runs.listSteps("threadId", "runId", listSteps);
}
}
请求体
参数名称 | 参数类型 | 是否必须 | 默认值 | 参数描述 |
run_id | string | 是 | 需要列出步骤的运行 (Run) 的 ID。 | |
thread_id | string | 是 | 线程 (Thread) 的 ID。 | |
limit | integer | 否 | None | 要检索的运行步骤数量。默认为None,表示使用服务器端的默认值。 |
order | string | 否 | None | 根据created_at字段进行排序的顺序。可以设置为asc(升序)或desc(降序)。默认为None,表示使用服务器端的默认排序方式。 |
after | string | 否 | None | 用于分页,指定一个运行步骤 ID,返回在此 ID 之后的运行步骤列表。与before参数互斥。默认为None。 |
before | string | 否 | None | 用于分页,指定一个运行步骤 ID,返回在此 ID 之前的运行步骤列表。与after参数互斥。默认为None。 |
workspace | string | 否 | None | DashScope 工作空间 ID。如果不提供,将使用环境变量DASHSCOPE_WORKSPACE的值。默认为None,代表主空间。 |
响应示例
{
"object": "list",
"data": [
{
"id": "[REDACTED]",
"object": "thread.run.step",
"created_at": 1711517599333,
"assistant_id": "[REDACTED]",
"thread_id": "[REDACTED]",
"run_id": "[REDACTED]",
"type": "message_creation",
"status": "completed",
"step_details": {
"type": "message_creation",
"message_creation": {
"message_id": "[REDACTED]"
}
},
"last_error": {
"code": "",
"message": ""
},
"expires_at": 0,
"started_at": 0,
"cancelled_at": -1,
"failed_at": -1,
"completed_at": -1,
"metadata": {},
"usage": {}
}
],
"first_id": "[REDACTED]",
"last_id": "[REDACTED]",
"has_more": false,
"request_id": "[REDACTED]"
}
响应体
一个运行步骤对象列表
检索运行步骤
请求示例
HTTP
代码示例
curl --location 'https://dashscope.aliyuncs.com/api/v1/threads/thread_cc2a3e9d-436b-482b-91c5-377e0f376506/runs/run_3de634fa-75d4-4370-adcf-92ba2a60c396/steps/step_4db180b5-d44a-4b12-9390-4307c6cb87a5' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
SDK
代码示例
from dashscope import Steps
step = Steps.retrieve('step_id',
thread_id='thread_id',
run_id='run_id')
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.runs.RunStep;
import com.alibaba.dashscope.threads.runs.Runs;
public class Main {
public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
Runs runs = new Runs();
RunStep run = runs.retrieveStep("threadId", "runId", "stepId");
}
}
请求体
参数名称 | 参数类型 | 是否必须 | 默认值 | 参数描述 |
step_id | string | 是 | 要检索的运行步骤 (RunStep) 的 ID。 | |
thread_id | string | 是 | 线程 (Thread) 的 ID。 | |
run_id | string | 是 | 运行 (Run) 的 ID。 | |
workspace | string | 否 | None | DashScope 工作空间 ID。如果不提供,将使用环境变量DASHSCOPE_WORKSPACE的值。 |
响应示例
{
"assistant_id": "[REDACTED]",
"cancelled_at": null,
"completed_at": 1735025124000,
"created_at": 1735025123150,
"expired_at": null,
"failed_at": null,
"id": "[REDACTED]",
"metadata": {},
"object": "thread.run.step",
"request_id": "[REDACTED]",
"run_id": "[REDACTED]",
"status": "completed",
"status_code": 200,
"step_details": {
"message_creation": {
"message_id": "[REDACTED]"
},
"type": "message_creation"
},
"thread_id": "[REDACTED]",
"type": "message_creation",
"usage": null
}
响应体
与指定 ID 匹配的运行步骤对象。
运行步骤对象
表示运行执行过程中的一个步骤。
对象示例
{
"status_code": 200,
"id": "[REDACTED]",
"assistant_id": "[REDACTED]",
"cancelled_at": null,
"completed_at": 1678886400,
"created_at": 1678886300,
"expired_at": null,
"failed_at": null,
"last_error": null,
"metadata": {
"user_id": "[REDACTED]",
"context": "order_processing"
},
"object": "thread.run.step",
"run_id": "[REDACTED]",
"status": "completed",
"step_details": {
"type": "message_creation",
"message_creation": {
"message_id": "[REDACTED]"
}
},
"thread_id": "[REDACTED]",
"type": "message_creation",
"usage": {
"prompt_tokens": 10,
"completion_tokens": 20,
"total_tokens": 30
}
}
对象属性
参数名称 | 参数类型 | 参数描述 |
id | string | 运行步骤的唯一标识符,可在 API 端点中引用。 |
assistant_id | string | 与此运行步骤关联的助手的 ID。 |
cancelled_at | integer | 运行步骤被取消的时间戳(Unix 时间戳,单位:秒)。 |
completed_at | integer | 运行步骤完成的时间戳(Unix 时间戳,单位:秒)。 |
created_at | integer | 运行步骤创建的时间戳(Unix 时间戳,单位:秒)。 |
expired_at | integer | 运行步骤过期的时间戳(Unix 时间戳,单位:秒)。如果父运行已过期,则步骤也被视为已过期。 |
failed_at | integer | 运行步骤失败的时间戳(Unix 时间戳,单位:秒)。 |
last_error | object | 与此运行步骤相关的最后一个错误。如果没有错误,则为null。 |
metadata | map | 一组最多包含 16 个键值对,可以附加到对象上。用于以结构化格式存储有关对象的附加信息。键的最大长度为 64 个字符,值的最大长度为 512 个字符。 |
object | string | 对象类型,始终为thread.run.step。 |
run_id | string | 此运行步骤所属的运行的 ID。 |
status | string | 运行步骤的状态,可以是in_progress(进行中)、cancelled(已取消)、failed(已失败)、completed(已完成)或expired(已过期)。 |
step_details | object | 运行步骤的详细信息。 |
thread_id | string | 运行的线程的 ID。 |
type | string | 运行步骤的类型,可以是message_creation(消息创建)或tool_calls(工具调用)。 |
usage | obect | 资源使用情况统计信息。 |
status_code | integer | HTTP 状态码。注意:此参数主要用于内部处理,通常情况下,您无需关注此参数。 |