调用智能体应用 - runAgent
功能介绍
该接口用于运行知识型智能体应用,支持单智能体和多智能体,支持在指定的项目、智能体和对话上下文中执行智能体逻辑。接口支持流式响应模式,可以根据需要返回增量执行结果,适用于实时交互场景。
适用场景:
-
在项目中运行预定义的知识型智能体应用。
-
支持调试模式和发布模式,适用于不同开发和生产环境。
-
支持流式响应,适用于需要实时反馈的场景(如聊天机器人、实时数据分析等)。
调用方法
请参见如何调用API。
URI
POST /v1/{project_id}/agents/{agent_id}/conversations/{conversation_id}
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
参数解释: 当前租户项目ID。 获取方法请参考获取项目ID。 约束限制: 不涉及。 取值范围: 由英文,数字,“-”,“_”组成,不超过64位字符。 默认取值: 不涉及。 |
|
agent_id |
是 |
String |
参数解释: 智能体应用ID。 获取方式:
约束限制: 不涉及。 取值范围: 由英文,数字,“-”,“_”组成,不超过64位字符。 默认取值: 不涉及。 |
|
conversation_id |
是 |
String |
参数解释: 会话ID,每个会话的唯一标识符。用户可将会话ID设置为任意字符串,例如“123e4567e89b12d3a456426614174000”,无需在其他地方获取。 约束限制: 不涉及。 取值范围: 由英文,数字,“-”,“_”组成,不超过64位字符。 默认取值: 不涉及。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
workspace_id |
否 |
String |
参数解释: 工作空间ID,用于标识特定的工作空间。 获取方法请参考获取工作空间ID。 约束限制: 不涉及。 取值范围: 由英文,数字,“-”,“_”组成,不超过64位字符。 默认取值: 不涉及。 |
|
version |
否 |
String |
参数解释: 发布版本。 获取方式:
约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
type |
否 |
String |
参数解释: 该参数允许调用者指定智能体应用的执行类型,支持不同的执行方式和返回模式。 约束限制: 不涉及。 取值范围:
默认取值: agent。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
X-Invoke-Mode |
否 |
String |
参数解释: 该参数用于标识智能体应用运行的模式。 约束限制: 不涉及。 取值范围:
默认取值: published。 |
|
stream |
否 |
Boolean |
参数解释: 是否开启流式调用。当前智能体应用只支持流式调用。
约束限制: 不涉及。 取值范围:
默认取值: true。 |
|
Content-Type |
是 |
String |
参数解释: 发送的实体的MIME类型。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: application/json。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
query |
否 |
String |
参数解释: 用户请求的问题。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
inputs |
是 |
Map<String,String> |
参数解释: 用户提出的问题,作为运行工作流的输入,与工作流开始节点输入参数对应。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
user_profile |
否 |
UserProfile object |
参数解释: 用户画像。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
tool_switch_dict |
否 |
Map<String,Boolean> |
参数解释: 插件是否开启。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
model_deployment_id |
否 |
String |
参数解释: 为智能体配置的模型的id。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
|
enable_history |
否 |
Boolean |
参数解释: 是否记录会话历史。 约束限制: 布尔值。 取值范围: true:开启。 false:关闭。 默认取值: true。 |
|
histories |
否 |
Array of Message objects |
参数解释: 传入的会话历史。 约束限制: 布尔值。 取值范围: true:开启。 false:关闭。 默认取值: true。 |
|
files |
否 |
Array of strings |
参数解释: 上传文件url。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
data |
String |
参数解释: 当请求参数“stream”值为“true”时,智能体的消息以流式形式返回。生成的内容以增量的方式逐步发送回来,每个data字段均包含一部分生成的内容,直到所有data返回,响应结束。 取值范围: 不涉及。 |
|
event |
String |
参数解释: 数据单元类型。 取值范围:
|
|
content |
Object |
参数解释: 消息块内容。“event”参数类型不同,内容结构不同。 取值范围: 不涉及。 |
|
createdTime |
Long |
参数解释: 消息块返回的时间戳。例如,1733817348963。 取值范围: 不涉及。 |
|
latency |
latency object |
参数解释: 耗时。 取值范围:
|
|
plugin |
plugin object |
参数解释: 插件请求信息。 取值范围:
|
请求示例
-
调用智能体
{ "method" : "POST", "url" : "https://{endpoint}/v1/{project_id}/agents/{agent_id}/conversations/{conversation_id}", "headers" : { "Content-Type" : "application/json", "X-Auth-Token" : "MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...", "stream" : true }, "body" : { "query" : "查询A12会议室在9:00到10:00的状态" } }
响应示例
状态码:200
流式响应,返回模型生成内容的增量数据块。
data:{"event":"start","createdTime":1735558575017}
data:{"event":"message","content":"好的","createdTime":1735558576300}
data:{"event":"message","content":",","createdTime":1735558576301}
data:{"event":"message","content":"我将","createdTime":1735558576301}
data:{"event":"message","content":"调用","createdTime":1735558576302}
data:{"event":"message","content":"query","createdTime":1735558576302}
data:{"event":"statistic_data","latency":{"overall":1.97},"createdTime":1735558576986}
data:{"event":"summary_response","content":"A12会议室在9:00到10:00的时间段内是空闲的。","role":"assistant","createdTime":1735558576987}
data:{"event":"done","createdTime":1735558577011}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
流式响应,返回模型生成内容的增量数据块。 |
错误码
请参见错误码。