Skip to main content
DashScope API

新版智能体应用 API 参考

本文介绍 DashScope API 调用阿里云百炼新版智能体应用的输入与输出参数。

相关指南:新版智能体应用(Agent 2.0)
本文档仅适用于华北2(北京)地域。

前置准备

开始前,请确保您已完成以下操作:
  1. 创建应用:前往应用管理创建阿里云百炼新版智能体应用并获取应用 ID。
  2. 获取 API Key:通过密钥管理获取,并配置API Key到环境变量
  3. 安装SDK(可选):若使用 SDK 调用,请安装相应语言的DashScope SDK

调用方式

  • HTTP 接口调用 请求地址:POST https://dashscope.aliyuncs.com/api/v1/apps/APP_ID/completion
    其中 APP_ID 需替换为您的实际应用 ID。
  • SDK 调用 Python/Java SDK:已默认配置正确的 endpoint 自定义 endpoint:可通过 base_url 参数配置
在线调试:通过应用卡片 -> 发布 -> API 调试路径进入调试页面后,填写参数并点击运行即可。

请求体

app_idstring(必选)应用标识。应用管理的应用卡片上获取。
Java SDK中为 appId。通过 HTTP 调用时,请将实际的应用 ID 放入 URL中,替换APP_ID
promptstring(必选)用户的输入指令,用于指导应用生成回复。
通过 HTTP 调用时,请将 prompt放入 input对象中。
session_idstring (可选)历史对话标识。传入session_id时,请求将自动携带云端存储的对话历史。此时必须传递prompt该 ID 在连续1 小时内无任何请求后将自动失效。
Java SDK 中为 setSessionId。通过 HTTP 调用时,请将 session_id放入 input对象中。
workspace string (可选)业务空间标识。相关文档:获取Workspace ID仅调用子业务空间的应用时需传递workspace ID
通过 HTTP 调用时,请指定Header中的 X-DashScope-WorkSpace
stream boolean(可选) 默认值为 false是否以流式输出方式回复。推荐设置为true,可提升阅读体验并降低超时风险。参数值:
  • false(默认):模型生成全部内容后一次性返回;
  • true(推荐):边生成边输出,每生成一部分内容即返回一个数据块(chunk)。需实时逐个读取这些块以拼接完整回复。
通过Java SDK实现流式输出请通过streamCall接口调用;通过HTTP实现流式输出请在Header中指定X-DashScope-SSEenable
incremental_output boolean(可选)默认值为 false流式输出模式下是否开启增量输出。推荐设置为true,可提升阅读体验。参数值:
  • false(默认):每次输出当前已经生成的整个序列,最后一次输出为生成的完整结果。
I
I like
I like apple
I like apple.
  • true(推荐):增量输出,即后续输出内容不包含已输出的内容。需要实时地逐个读取这些片段以获得完整的结果。
I
like
apple
.
Java SDK中为incrementalOutput*。*通过HTTP调用时,请将incremental_output放入parameters对象中。
enable_thinking boolean (可选)默认值为 false此参数用于在深度思考模型中切换思考模式和非思考模式。参数值:
  • False(默认):非思考模式。直接返回最终答案(text字段)。
  • True:启用思考模式。模型先输出思考过程,再返回最终答案。
优先级:
  • 若调用时未设置此参数,以应用内模型的思考模式开关状态为准。
  • 若调用时设置了enable_thinking,以 API 参数为准。
要获取思考过程的内容,必须同时将has_thoughts设为True,则:
  1. 思考过程:thought字段获取。
  2. 最终答案:text字段获取。
开启enable_thinking有极小概率不会输出思考过程。
Java SDK中为enableThinking。通过HTTP调用时,请将 enable_thinking放入 parameters对象中。
Java Dashscope SDK的版本至少应为2.20.0
has_thoughts boolean (可选)默认值为 false是否输出已开启思考模式的模型思考过程,在thoughts字段中查看。参数值:
  • True:输出。
  • False(默认):不输出。
Java SDK 中为 hasThoughts。通过 HTTP 调用时,请将 has_thoughts放入 parameters对象中。
image_list array(可选)图片列表。支持图像 URL 和 Data URL(Base64 编码)。应用内需选择图像与视频理解模型。base64编码格式可构建为 Data URLdata:[MIME_type];base64,{base64_image}。详细说明和代码示例见本文档视觉理解章节
Java SDK 中为 images。通过 HTTP 调用时,请将 image_list放入 input对象中。
file_list array(可选)文件 URL 列表。
Java SDK中为 files。通过HTTP调用时,请将 file_list放入 input对象中。
Python Dashscope SDK 的版本至少应为1.24.7,Java Dashscope SDK的版本至少应为2.21.13。
model_idstring(可选)模型名称。API 调用时,可通过此参数传递本次调用使用的模型名称。优先级:当通过 API 传递的model_id与控制台配置不同时,以 API 参数值为准。
Java SDK 中为 modelId。通过HTTP调用时,请将 model_id放入 parameters对象中。
Java Dashscope SDK 的版本至少应为2.19.3
  • 单轮对话
  • 多轮对话
  • 流式输出
  • 文件问答
  • 视觉理解
  • 自定义参数传递
  • Python
  • Java
  • HTTP
请求示例
import os
from http import HTTPStatus
from dashscope import Application
response = Application.call(
    # 若没有配置环境变量,可用百炼API Key将下行替换为:api_key="sk-xxx"。但不建议在生产环境中直接将API Key硬编码到代码中,以减少API Key泄露风险。
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    app_id='APP_ID',  # 替换为实际的应用 ID
    prompt='你是谁?')

if response.status_code != HTTPStatus.OK:
    print(f'request_id={response.request_id}')
    print(f'code={response.status_code}')
    print(f'message={response.message}')
    print(f'请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code')
else:
    print(response.output.text)

响应对象

成功响应示例
{
    "status_code": 200,
    "request_id": "fdfc3182-bc9d-4b45-a287-cd83b13aca02",
    "code": "",
    "message": "",
    "output": {
        "text": "你好!我是千问,阿里巴巴集团旗下的超大规模语言模型。我可以帮助你回答问题、创作文字,比如写故事、写公文、写邮件、写剧本、逻辑推理、编程等等。有什么需要我帮忙的吗?",
        "finish_reason": "stop",
        "session_id": "cbb2e26ac4cc4cc3b2d114e1f73c127e",
        "thoughts": null,
        "doc_references": null,
        "workflow_message": null
    },
    "usage": {
        "models": [
            {
                "model_id": "qwen-plus-latest",
                "input_tokens": 142,
                "output_tokens": 296
            }
        ]
    }
}
异常响应示例在访问请求出错的情况下,输出的结果中会通过 code 和 message 指明错误原因。此处展示未传入正确API-KEY的异常响应示例。
request_id=1d14958f-0498-91a3-9e15-be477971967b,
code=401,
message=Invalid API-key provided.
status_code string返回的状态码。200表示请求成功,否则表示请求失败。请求失败可通过code获取错误码、message获取错误详细信息。
Java SDK不会返回该参数。调用失败会抛出异常,异常信息为status_codemessage的内容。
request_id string本次调用的唯一标识符。
Java SDK返回参数为requestId
code string表示错误码,调用成功时为空值。
只有Python SDK返回该参数。
message string表示错误详细信息,请求成功则忽略。
只有Python SDK返回该参数。
output object调用结果信息。

output属性

text string模型生成的回复内容。finish_reason string完成原因。stop为自然结束(遇预设标记),null为强制中断(如达到最大长度限制或手动停止)。session_idstring当前对话的唯一标识。在后续请求中传入,可携带历史对话记录。thoughtsarray调用时将has_thoughts参数设置为True,即可在thoughts中查看深度思考模型的思考过程。
thought string模型的思考过程。使用步骤
  1. 控制台应用内选择深度思考模型,并成功发布;
  2. API 调用时将 has_thoughts 参数设为 True
action_type string大模型返回的执行步骤类型。如reasoning表示深度思考模型的思考过程。action_name string执行的action名称,如思考过程。action string执行的步骤。action_input_stream string入参的流式结果。action_input string输入参数。
doc_references null新版智能体应用(Agent 2.0)将知识库统一为工具由智能体自主调用,该字段固定返回 null(与旧版智能体应用 Agent 1.0 不同)。如需在回答中展示知识来源,请在应用配置中开启展示回答来源功能,引用信息将以角标形式嵌入回答文本中。
usage object表示本次请求使用的数据信息。

usage属性

modelsarray本次调用的模型信息。
model_id string本次应用调用到的模型 ID。input_tokens integer用户输入文本转换成Token后的长度。output_tokens integer模型生成回复转换为Token后的长度。

QPM限制

单应用默认QPM(每分钟请求数)为15000。

错误码

如果调用失败并返回报错信息,请参阅错误码进行解决。