通用对话响应参数
本文定义了 Agent 与客户端交互的标准接口规范。接口采用 Server-Sent Events (SSE) 流式传输协议,支持多模态内容输出(文本、代码、图片、文件等)、复杂任务规划(Plan)、工具调用(Function Call)及人机协同(Interrupt)交互。
请求参数
示例代码
curl -i --location 'https://qianfan.baidubce.com/v2/agent/code_interpreter/run' \
--header 'X-Authorization: Bearer bce-v3/ALTAK-********/86356c2efcefb5776024ddb7d7958640f2fc16bf' \
--header 'Content-Type: application/json' \
--data '{
"query": "写一个冒泡排序"
}'
返回响应
错误发生时的错误码
消息来源角色
- tool :默认, 组件输出
- assistant :思考/问答助手
- user:用户
当前整体对话的流转状态
- running: 运行中
- done :完成
- error :错误
- interrupt :中断
包含当前事件的具体内容列表
显示子属性
隐藏子属性
显示子属性
隐藏子属性
内容标识名称,用于区分同一组件输出的多种不同用途的内容
数据类型,决定 text 字段的结构
- text:普通文本
- code:代码片段
- files:文件
- urls:链接
- oral_text:口语文本
- references: 引用来源
- image:图片
- chart:图表
- audio:音频
- function_call:函数调用
- json:序列化json
- plan:任务规划
- browser:浏览器操作
- json_patch:JSON片段
- raw_json: 原始JSON
结构随type变化的内容数据,例如:
type=text: {"info": "..."}
type=image: {"url": "...", "filename": "..."}
显示子属性
隐藏子属性
事件元数据
显示子属性
隐藏子属性
事件唯一标识ID,运行SSE事件标识ID
事件路径名,标识调用类型
命名格式:/action/resource/sub_resource
Action 枚举 (第一段):
• thought: 思考模型输出
• chat: 总结模型输出
• toolcall: 思考后的组件调用
• chatflow: 工作流 Agent 调用的输出
• component: 组件 API 调用的输出
Resource 枚举 (第二段):
• 官方组件: 小写英文字符串 (如 text2image, baidu_search),可加 _id 标识调用顺序。
• 工作流组件: 组件 ID (UUID)。
Sub_resource 枚举 (第三段):
• Workflow/Chatflow: 标识 Pipeline 中的 Node ID 。
典型示例:
[DTE Agent]
• 思考: /thought/thought_agent, /thought/reason_agent
• 工具调用: /toolcall/text2image, /toolcall/{comp_id}/node-{node_id}
• 对话总结: /chat/chat_agent
[组件 API]
• 自定义组件: /component/{comp_id}/node-{node_id}
• 官方组件: /component/text2image
[MultiAgent]
• 规划: /thought/plan
• 总结: /chat/summary
流程结束标识,标识是否为当前运行流程的最后一个节点
事件执行状态
- preparing: 准备中
- running: 运行中
- done: 执行完成
- error: 错误
- interrupt: 临时中断(需用户反馈)
终止节点标识,标识是否为用户在前端配置的终止节点
步骤ID,预留给Chatflow中多轮对话的轮次标识
任务ID,多Agent并行执行不同Task时的输出标识
本地调用标识,通常为interrupt状态,预留给本地ToolCall或MCP模式
任务名称,多Agent并行执行不同Task时的用户可读名称
错误码,仅在status=error时出现
事件发生时间,UTC格式字符串
是否跳过思考模型强制调用
错误信息,仅在status=error时出现
Token用量信息
显示子属性
隐藏子属性
产生消耗的模型名称
总Token消耗
输入/提示词Token消耗
输出/补全Token消耗
前端渲染辅助信息
显示子属性
隐藏子属性
组件详情信息
显示子属性
隐藏子属性
组件英文名(Class Name)
DAG执行路径,用于构建可视化执行树
显示子属性
隐藏子属性
显示子属性
隐藏子属性
当前节点ID
父节点ID列表
显示子属性
隐藏子属性
组件中文名
调用该组件前的模型思考过程
组件的输入参数(不含系统变量)
显示子属性
隐藏子属性
是否为工作流组件
性能指标信息
显示子属性
隐藏子属性
下游组件或API返回的原始调试信息
显示子属性
隐藏子属性
可见性范围控制
- all (默认): 全部可见
- llm: 仅思考模型可见(不渲染给用户)
- user: 仅终端用户可见
错误发生时的详细错误信息
开发者ID(用于计费统计)
调用链路追踪ID
当前消息(一问或一答)的唯一标识ID
当前请求的唯一标识,通常与trace_id同值
终端用户ID
对话ID
首轮对话可不填,由服务端自动生成并在响应中返回;后续对话必须填写以保持上下文连续性。
data: {"role": "assistant", "status": "running", "content": [{"name": "/thought/thought_agent", "type": "text", "text": {"info": "用户需要冒泡排序的代码。我将编写一个Python函数来实现它,并进行简单的测试。"}, "event": {"id": "1", "status": "running", "name": "/thought/thought_agent"}}]}
data: {"role": "tool", "status": "running", "content": [{"name": "/toolcall/code_interpreter_general", "type": "code", "text": {"code": "def bubble_sort(arr):\n"}, "event": {"id": "2", "status": "running", "name": "/toolcall/code_interpreter_general"}}]}
data: {"role": "tool", "status": "running", "content": [{"name": "/toolcall/code_interpreter_general", "type": "code", "text": {"code": " n = len(arr)\n for i in range(n):\n for j in range(0, n-i-1):\n if arr[j] > arr[j+1]:\n arr[j], arr[j+1] = arr[j+1], arr[j]\n return arr\n\n# 测试代码\ntest_arr = [64, 34, 25, 12, 22, 11, 90]\nprint(bubble_sort(test_arr))"}, "event": {"id": "2", "status": "running", "name": "/toolcall/code_interpreter_general"}}]}
data: {"role": "tool", "status": "running", "content": [{"name": "/toolcall/code_interpreter_general", "type": "text", "text": {"info": "[11, 12, 22, 25, 34, 64, 90]\n"}, "event": {"id": "2", "status": "done", "name": "/toolcall/code_interpreter_general"}}]}
data: {"role": "assistant", "status": "running", "content": [{"name": "/chat/chat_agent", "type": "text", "text": {"info": "这是"}, "event": {"id": "3", "status": "running", "name": "/chat/chat_agent"}}]}
data: {"role": "assistant", "status": "running", "content": [{"name": "/chat/chat_agent", "type": "text", "text": {"info": "为您编写的冒泡排序代码..."}, "event": {"id": "3", "status": "running", "name": "/chat/chat_agent"}}]}
data: {"role": "tool", "status": "done", "content": [], "conversation_id": "conv-123456", "message_id": "msg-7890"}
