逐个提交请求来批量调用百炼的工作流应用,需要处理循环调用、并发控制和异常处理等调度问题,开发流程繁琐且效率低下。为了解决这一问题,百炼推出了动态调度功能,只需通过单次数据上传,即可异步处理批量工作流任务。动态调度支持即时推理和闲时调度两种模式,能够满足不同任务对响应速度和成本的差异化需求。
目前动态调度功能仅支持即时推理模式,闲时调度模式将在后续版本中推出,敬请期待。
调度模式
对比维度 | 即时推理 | 闲时调度(敬请期待) |
适用场景 | 对响应时间有较高要求、需要优先处理的批量任务 | 成本敏感、对时效性要求不高的离线批量处理任务 |
执行方式 | 任务提交后立即进入在线推理队列 | 任务将在系统资源空闲时段进行排队调度 |
计费模式 | 即时推理按照推理消耗的实际 Token 数量的在线价格收费 | 闲时调度按照闲时价格收费 |
准备工作:创建并发布工作流
创建工作流
快速导入(推荐)
手动创建
发布工作流
单击工作流页面右上角的发布,单击确定完成发布。
创建调度任务
登录阿里云百炼控制台动态调度。单击右上角创建调度任务。
填写调度任务名称,例如
城市介绍-测试
。单击选择应用,选择刚才创建的工作流。模式选择即时推理。导入appatchTasks.jsonl,数据需满足以下要求:
文件格式为
JSONL
,大小 20 MB 以内。每一行为一个JSON
格式的请求,每一个请求的大小不超过 1 MB。一个文件的请求数量不超过 1000 条。示例如下:
{"input":[{"type":"message","role":"user","content":[{"type":"text","text":"介绍一下城市"}]}],"biz_params":{"city":"杭州"}} {"input":[{"type":"message","role":"user","content":[{"type":"text","text":"介绍一下城市"}]}],"biz_params":{"city":"北京"}}
每一行
JSON
请求中的变量需要和工作流设置的变量对应。input[0].content[0].text
字段对应了工作流预置变量query
biz_params.city
字段对应了工作流的自定义变量city
。
在实际的调度任务中,请根据工作流的参数配置相应地调整数据。
单击创建,等待调度任务完成。
当任务状态变为完成后,代表调度任务完成。
查看结果
登录阿里云百炼控制台动态调度。
将光标移至下载,单击下载json文件,获取动态调度的结果。
示例结果如下:
计费说明
动态调度功能本身免费,您仅需支付其调用的工作流应用所产生的资源消耗费用(如模型Token费用)。计费时,将根据选择的调度模式(即时推理或闲时调度)按对应的价格标准收费。
工作流资源消耗费用详细构成如下:
基础费用:主要费用来自工作流中大模型的调用。具体费用取决于所用模型的类型、每条请求的输入和输出Token数量,并根据所选的即时推理(在线价格)或闲时调度(闲时价格)模式进行计费。各模型对应的计费规则请参见模型列表与价格。
知识库成本:若工作流中配置了知识库,检索知识库内容会增加模型输入的Token数量,从而可能导致模型推理费用相应增加。
MCP 成本:
若工作流中配置了 MCP,接入后可能会产生费用。
部分官方 MCP(如文生图、文生视频等)会按模型调用计费。
部分MCP服务可能涉及第三方 API 调用,使用后产生的费用由第三方服务商收取,阿里云百炼不收取费用。