# 阿里云百炼 — 应用调用 DashScope API 参考 > 来源:[应用调用-DashScope API](https://bailian.console.aliyun.com/cn-beijing/?tab=api#/api/?type=app&url=2846133) > 采集日期:2026-02-28 --- 本文介绍 DashScope API 调用阿里云百炼应用(智能体、工作流)的输入与输出参数。 ## 1. 调用方式 - HTTP 接口调用 - 请求地址:`POST https://dashscope.aliyuncs.com/api/v1/apps/{APP_ID}/completion` - 其中 `APP_ID` 需替换为您的实际应用 ID。 - SDK 调用 - Python/Java SDK:已默认配置正确的 endpoint - 自定义 endpoint:可通过 `base_url` 参数配置 ## 2. 前置准备 1. 创建应用:前往 [应用管理](https://bailian.console.aliyun.com/?tab=app#/app-center) 创建百炼应用并获取应用 ID。 2. 获取 API Key:通过 [密钥管理](https://bailian.console.aliyun.com/?tab=app#/api-key) 获取,并 [配置 API Key 到环境变量](https://help.aliyun.com/zh/model-studio/configure-api-key-through-environment-variables)。 3. 安装 SDK(可选):若使用 SDK 调用,请安装相应语言的 [DashScope SDK](https://help.aliyun.com/zh/model-studio/install-sdk)。 ## 3. 请求示例(Python 单轮对话) ```python import os from http import HTTPStatus from dashscope import Application response = Application.call( # 若没有配置环境变量,可用百炼API Key将下行替换为:api_key="sk-xxx" 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) ``` ## 4. 请求体参数(完整) ### 必选参数 | 参数 | 类型 | 说明 | |------|------|------| | `app_id` | string | 应用标识。可在应用管理页面的应用卡片上获取。Java SDK 中为 `appId`。通过 HTTP 调用时,将实际应用 ID 放入 URL 中替换 `APP_ID`。 | | `prompt` | string | 用户的输入指令,用于指导应用生成回复。通过 HTTP 调用时,请将 prompt 放入 `input` 对象中。 | ### 可选参数 | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `session_id` | string | — | 历史对话标识。传入后请求将自动携带云端存储的对话历史。此时必须传递 `prompt`。该 ID 在连续 1 小时内无任何请求后自动失效。 | | `messages` | array | — | 传递给大模型的上下文,按对话顺序排列。使用 `messages` 时无需传递 `prompt` 和 `session_id`。若同时传入 `session_id` 和 `messages`,则优先使用 `messages`。 | | `workspace` | string | — | 业务空间标识。仅调用子业务空间的应用时需传递。HTTP 调用时指定 Header 中的 `X-DashScope-WorkSpace`。 | | `stream` | boolean | `false` | 是否以流式输出方式回复。推荐设置为 `true`,可提升阅读体验并降低超时风险。HTTP 实现流式输出请在 Header 中指定 `X-DashScope-SSE` 为 `enable`。 | | `incremental_output` | boolean | `false` | 流式输出模式下是否开启增量输出。推荐设置为 `true`。`false`:每次输出当前已生成的整个序列;`true`:增量输出,后续内容不包含已输出内容。 | | `has_thoughts` | boolean | `false` | 是否输出插件调用、知识检索的过程,或已开启思考模式的模型思考过程,在 `thoughts` 字段中查看。 | | `model_id` | string | — | 模型名称(仅智能体应用支持)。API 传递的 `model_id` 与控制台配置不同时,以 API 参数值为准。 | | `memory_id` | string | — | 长期记忆体 ID(仅智能体应用支持)。通过 [CreateMemory](https://help.aliyun.com/zh/model-studio/api-bailian-2023-12-29-creatememory) 创建。 | | `dialog_round` | integer | — | 携带的上下文轮数(仅智能体应用支持)。轮数越多,对话相关性越强。API 参数优先于控制台配置。 | | `enable_thinking` | boolean | `false` | 在深度思考模型中切换思考/非思考模式。`true` 时模型先输出思考过程再返回最终答案。要获取思考内容,须同时将 `has_thoughts` 设为 `true`。 | | `enable_system_time` | boolean | `true` | 控制模型是否自动获取当前时间(北京时间)(仅智能体应用支持)。设为 `false` 时需通过自定义变量手动传入时间。 | | `enable_web_search` | boolean | `false` | 模型生成回复时是否使用互联网搜索结果(仅智能体应用支持)。若调用时未设置,以应用内联网搜索开关状态为准。 | | `image_list` | array | — | 图片列表。支持图像 URL 和 Data URL(Base64 编码)。应用内需选择视觉理解模型。 | | `file_list` | array | — | 包含一个或多个文件 URL 的列表(仅智能体应用支持)。 | ### messages 消息类型 | 消息类型 | 说明 | |---------|------| | System Message (`object`, 可选) | 系统消息,用于设定大模型的角色、语气、任务目标或约束条件等。一般放在 `messages` 数组的第一位。 | | User Message (`object`, 必选) | 用户消息,用于向模型传递问题、指令或上下文等。 | | Assistant Message (`object`, 可选) | 模型的回复。通常用于在多轮对话中作为上下文回传给模型。 | ### biz_params 参数传递 `biz_params` 用于应用通过自定义变量、节点或插件传递参数。 - 工作流应用开始节点的自定义变量直接传递: ```python biz_params = {"city": "杭州"} ``` - 智能体应用通过以下字段传递: - `user_prompt_params` (object, 可选):自定义提示词变量参数。一个应用内变量名不可重复,上限 10 个。 ```python biz_params = { "user_prompt_params": { "date": "2025年03月03日", "city": "杭州" } } ``` - `user_defined_params` (object, 可选):自定义插件参数。每个键为插件的 `TOOL_ID`,值为该插件所需的参数对象。 - `user_defined_tokens` (object, 可选):自定义插件的用户级鉴权信息。 ### rag_options 知识库检索参数(仅智能体应用) | 参数 | 类型 | 说明 | |------|------|------| | `pipeline_ids` | array (必选) | 包含一个或多个知识库 ID 的列表,上限 5 个。 | | `file_ids` | array (可选) | 包含一个或多个非结构化文档 ID 的列表,上限 5 个。须同时传入文档所属的知识库 ID。 | | `metadata_filter` | object (可选) | 非结构化文档的元数据,检索具备该元数据的文档。 | | `tags` | array (可选) | 包含一个或多个非结构化文档标签的列表。 | | `structured_filter` | object (可选) | 结构化文档的列名和值,键值对形式。 | | `session_file_ids` | array (可选) | 包含一个或多个文件 ID 的列表,上限 10 个。文件 ID 必须以 `file_session_` 开头且状态为 `FILE_IS_READY`。 | ### flow_stream_mode 工作流流式输出模式 | 值 | 说明 | |----|------| | `message_format` (推荐) | 在 `message` 字段输出指定节点(流程输出节点或结束节点)的结果。需在控制台开启目标节点的流式输出开关。 | | `full_thoughts` (默认) | 在 `thoughts` 字段输出所有节点的结果。使用此模式时须同时将 `has_thoughts` 设为 `true`。 | | `agent_format` | 在 `text` 字段输出指定节点(大模型节点或结束节点)的结果。请勿在并行节点上使用此模式。 | ## 5. 响应对象 ### 响应示例(单轮对话) ```json { "output": { "finish_reason": "stop", "session_id": "6105c965c31b40958a43dc93c28c7a59", "text": "我是通义千问,由阿里云开发的AI助手。我被设计用来回答各种问题、提供信息和与用户进行对话。有什么我可以帮助你的吗?" }, "usage": { "models": [ { "output_tokens": 36, "model_id": "qwen-plus", "input_tokens": 74 } ] }, "request_id": "f97ee37d-0f9c-9b93-b6bf-bd263a232bf9" } ``` ### 响应示例(知识库检索,含引用来源) > 需在百炼控制台的智能体应用内,单击检索配置,打开"展示回答来源"开关并发布应用。 ```json { "text": "根据您的预算,我推荐您考虑百炼 Zephyr Z9...[1]。", "finish_reason": "stop", "session_id": "6c1d47fa5eca46b2ad0668c04ccfbf13", "thoughts": null, "doc_references": [ { "index_id": "1", "title": "百炼手机产品介绍", "doc_id": "file_7c0e9abee4f142f386e488c9baa9cf38_10317360", "doc_name": "百炼系列手机产品介绍", "doc_url": null, "text": "【文档名】:百炼系列手机产品介绍\n【标题】:百炼手机产品介绍\n【正文】:...", "biz_id": null, "images": [], "page_number": [0] } ] } ``` ### 异常响应示例 ``` request_id=1d14958f-0498-91a3-9e15-be477971967b, code=401, message=Invalid API-key provided. ``` ### 响应参数说明 | 参数 | 类型 | 说明 | |------|------|------| | `status_code` | string | 返回的状态码。`200` 表示请求成功,否则表示请求失败。Java SDK 不返回该参数,调用失败会抛出异常。 | | `request_id` | string | 本次调用的唯一标识符。 | | `code` | string | 错误码,调用成功时为空值(仅 Python SDK 返回)。 | | `message` | string | 错误详细信息,请求成功则忽略(仅 Python SDK 返回)。 | ### output 对象 | 字段 | 类型 | 说明 | |------|------|------| | `text` | string | 模型生成的回复内容。 | | `finish_reason` | string | 完成原因。`stop` 为自然结束,`null` 为强制中断(如达到最大长度限制或手动停止)。 | | `session_id` | string | 当前对话的唯一标识。在后续请求中传入,可携带历史对话记录。 | | `thoughts` | array | 将 `has_thoughts` 设为 `true` 时,可查看插件调用、知识检索的过程,或深度思考模型的思考过程。 | | `doc_references` | array | 检索的召回文档中被模型引用的文档信息。需在控制台打开"展示回答来源"开关。 | | `workflow_message` | object | 包含工作流节点状态和消息的对象(工作流应用)。 | ### usage 对象 | 字段 | 类型 | 说明 | |------|------|------| | `models` | array | 本次调用的模型信息。 | | `models[].model_id` | string | 模型名称。 | | `models[].input_tokens` | integer | 输入 Token 数量。 | | `models[].output_tokens` | integer | 输出 Token 数量。 | ## 6. HTTP 请求结构 通过 HTTP 直接调用时,请求体结构如下: ```json { "input": { "prompt": "你是谁?", "session_id": "可选", "messages": [], "biz_params": {}, "image_list": [], "file_list": [], "memory_id": "可选" }, "parameters": { "has_thoughts": false, "incremental_output": false, "rag_options": {}, "flow_stream_mode": "full_thoughts", "model_id": "可选", "dialog_round": 3, "enable_thinking": false, "enable_system_time": true, "enable_web_search": false } } ``` HTTP Header: - `Authorization`: `Bearer {DASHSCOPE_API_KEY}` - `Content-Type`: `application/json` - `X-DashScope-SSE`: `enable`(流式输出时) - `X-DashScope-WorkSpace`: `{workspace_id}`(子业务空间时) ## 7. 错误码 如果调用失败并返回报错信息,请参阅 [错误信息](https://help.aliyun.com/zh/model-studio/error-code) 进行解决。 ## 8. 获取 APP ID 和 Workspace ID - APP ID:访问 [应用管理](https://bailian.console.aliyun.com/#/app-center) 界面,在应用列表中找到目标应用,复制应用的 APP ID。 - Workspace ID:业务空间的唯一标识。仅在调用子业务空间下的应用时,API 请求中才必须包含 Workspace ID。 - 获取当前业务空间 ID:前往百炼控制台首页,单击左下角设置图标 → 业务空间详情。 - 查询所有业务空间 ID:需超级管理员权限,前往业务空间管理界面查看。 ## 9. SDK 版本要求 | 功能 | Python SDK 最低版本 | Java SDK 最低版本 | |------|-------------------|------------------| | messages 参数 | 1.20.14 | 2.17.0 | | flow_stream_mode | 1.24.0 | 2.21.0 | | file_list | 1.24.7 | 2.21.13 | | session_file_ids | 1.20.14 | 2.17.0 | | model_id | — | 2.19.3 | | enable_thinking | — | 2.20.0 | | enable_system_time | — | 2.19.3 | | enable_web_search | — | 2.19.3 | | dialog_round | — | 2.19.3 |