Skip to main content
应用调用

通过 API 传递自定义参数

本文介绍如何通过 DashScope API 或 OpenAI Responses API 兼容方式调用阿里云百炼工作流应用,以传递自定义参数。

工作原理

调用工作流应用时,动态参数统一封装在 input 对象中,该对象包含两个关键字段:
  • prompt:传递用户的主要输入内容。这部分内容会自动映射到工作流中名为 {{query}} 的内置变量,无需手动定义。
  • biz_params:以键值对形式传递自定义的业务参数(例如 {"city": "杭州"})。这些参数需要在工作流的开始节点中预先定义,之后便可作为全局变量在流程中的任意节点(如大模型节点的提示词)中通过 {{参数名}} 的方式引用。

如何使用

前提条件

  • 您需要已配置 API Key 并配置 API Key 到环境变量。如果通过 DashScope SDK 调用,还需要安装 DashScope SDK。
  • 应用 ID(YOUR_APP_ID):访问应用管理页面进入应用列表,在目标应用的卡片上获取。

开始使用

本文以根据城市名查询行政区划作为示例,演示如何调用工作流应用并传递自定义参数。

步骤一:配置工作流

  1. 访问百炼控制台的应用管理页面,创建或编辑一个工作流应用
  2. 在开始节点的变量配置面板,添加自定义参数。例如,添加一个 String 类型的变量参数 city
  3. 在 LLM 等节点的提示词中,引用自定义的变量参数。示例:查询{{city}}的行政区划,用户的问题是:{{query}}
  4. 发布应用。

步骤二:API 调用

调用时通过 biz_params 字段传递 city,通过 prompt 字段传递 query。其中 OpenAI Responses API 兼容方式使用 extra_body 字段扩展 biz_params
import os
from http import HTTPStatus
from dashscope import Application

# 工作流应用自定义参数传递
biz_params = {"city": "杭州"}
response = Application.call(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    app_id='YOUR_APP_ID',  # 替换为实际的应用 ID
    prompt='查询这个城市的行政区域划分',
    biz_params=biz_params  # 传递业务参数
)

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(f'{response.output.text}')
响应示例
杭州市,作为浙江省的省会城市,其行政区域划分包括10个市辖区:上城区、拱墅区、西湖区、滨江区、萧山区、余杭区、临平区、钱塘区、富阳区、临安区。

相关文档

通过 API 传递自定义参数 - Agent Studio