更新时间:2026-04-15 GMT+08:00
分享

使用API调用单/多智能体

在AgentArts平台上开发完成智能体后,其最终目的是要融入企业的核心业务流中。为了实现上述集成,AgentArts提供了标准的RESTful API。完整的调用架构分为两步:

  1. 认证鉴权:在AgentArts平台获取鉴权参数Authorization(新版AgentArts部署区域为西南-贵阳一,使用Authorization参数鉴权,而非老版本的使用Token鉴权)。
  2. 业务调用:携带鉴权信息,调用单/多智能体接口。

前置检查

已开通AgentArts服务。

步骤一:获取API调用凭证(获取Authorization)

  1. 登录AgentArts智能体开发平台
  2. 在左侧导航栏中选择“智能体管理”选择需要调用的智能体。并复制ID。

    对应的智能体需要是“已提交”状态。如果显示“未提交”请单击智能体的名称,进入编辑页面,进行“提交版本”操作。未提交状态的智能体无法获取调用凭证。
    图1 获取ID
    图2 提交版本

  3. 获取ID后,在“部署运行 > 智能体运行时”页面搜索ID。

    图3 搜索ID

  4. 单击ID名称,进入基本信息页面,找到“访问与权限控制”对应的URN。单击RUN名称。

    图4 单击URN名称

  5. 在页面中获取API Key的取值。

    获取API Key的值后,在API Key值前加上“Bearer ”即为Authorization的值(注意Bearer后有一个空格)。

    图5 获取API Key取值

步骤二:调用单/多智能体

API接口:

POST /agent/{runtime_name}/invocations

API接口获取方法:

  1. 登录AgentArts智能体开发平台
  2. 在左侧导航栏中选择“开发中心 > 智能体管理”,在“单智能体”页签选择所需的单智能体应用。
  3. 复制调用路径。(注意智能体需要经过发布,显示为“已提交”状态)

    图6 获取API接口

核心请求参数说明:

表1 请求Header参数

参数

是否必选

参数类型

描述

Authorization

String

参数解释

鉴权参数。获取方式请参考步骤一:获取API调用凭证(获取Authorization)

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

X-Invoke-Mode

String

参数解释

该参数用于标识运行时运行的模式。

约束限制

不涉及。

取值范围

  • X-Invoke-Mode的值为debug时,运行模式为调试模式。调试模式会生成日志、详细的执行步骤,便于排查问题。

  • X-Invoke-Mode的值为published时,运行模式为发布模式。

默认取值

published。

x-hw-agentarts-session-id

String

参数解释

会话ID,每个会话的唯一标识符。用户可将会话ID设置为任意字符串,例如“123e4567e89b12d3a456426614174000”,无需在其他地方获取。

约束限制

不涉及。

取值范围

由英文,数字,“-”,“_”组成,不超过64位字符。

默认取值

不涉及。

X-Request-Id

String

参数解释

调用链ID,每个请求的唯一标识符。用于日志中跟踪整个请求的调用链路。用户可将调用链ID设置为任意字符串,例如“123e4567e89b12d3a4564266141740”,无需在其他地方获取。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

Content-Type

String

参数解释

发送的实体的MIME类型。

约束限制

不涉及。

取值范围

不涉及。

默认取值

application/json。

表2 请求Body参数

参数

是否必选

参数类型

描述

query

String

参数解释

用户请求的问题。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

Python调用示例:

import requests
import json

# 替换为真实的API接口
url = "https://{endpoint}/agent/{runtime_name}/invocations"

# 最简请求体:仅包含 query
payload = json.dumps({
    "query": "你好"
})

headers = {
  'Content-Type': 'application/json',
  'Authorization': '您的Authorization',
  'x-hw-agentarts-session-id': '您的会话ID,任意ID,不超过64位字符'
}

response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

cURL调用示例:

针对不同操作系统,命令的转义和换行符有所不同。

  • Windows

    在CMD(命令提示符)中执行如下命令:

    curl -X POST "https://{endpoint}/agent/{runtime_name}/invocations" ^
      -H "Content-Type: application/json" ^
      -H "Authorization: 您的Authorization" ^
      -H "x-hw-agentarts-session-id: 您的会话ID" ^
      -d "{ \"query\": \"你好\" }"
  • Linux/macOS

    在Terminal(终端)中执行如下命令:

    curl -X POST "https://{endpoint}/agent/{runtime_name}/invocations" \
      -H "Content-Type: application/json" \
      -H "Authorization: 您的Authorization" \
      -H "x-hw-agentarts-session-id: 您的会话ID" \
      -d '{
        "query": "你好"
      }'

相关文档