创建智能体优化任务
功能介绍
本接口用于创建一个全新的智能体优化任务。并配置训练任务中所使用的大模型、数据集与超参配置。智能体优化的目的是对智能体或工作流中的大模型进行端到端的定向调优,通过强化学习算法提升模型在特定业务场景下的推理与表达能力。任务创建后默认进入“草稿”状态。
适用场景:
在受限于成本和响应速度无法使用超大模型时,通过定向调优小模型,使其在特定业务场景下的表现逼近大模型。
URI
POST /v1/ops/model-tuning-tasks
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 参数解释: 消息体编码格式。用于告知服务端请求体(Body)所采用的主体数据类型,以便服务端正确解析。 约束限制: 不涉及 取值范围: application/json 默认取值: application/json |
| Authorization | 是 | String | 参数解释: 签名认证信息,当使用AK/SK方式认证时,使用SDK对请求进行签名的过程中会自动填充该字段。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| X-Sdk-Date | 是 | String | 参数解释: 请求发送的时间,当使用AK/SK方式认证时,使用SDK对请求进行签名的过程中会自动填充该字段。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 参数解释: 任务名称,用于标识和区分不同的优化任务。 约束限制: 不涉及 取值范围: 长度1-64个字符,支持中文、字母、数字、中划线及下划线。 默认取值: 无 |
| description | 否 | String | 参数解释: 任务的详细描述,用于记录任务目的或备注信息。 约束限制: 不涉及 取值范围: 长度0-255个字符。 默认取值: 无 |
| agent | 是 | OpsTuningTargetAgent object | 参数解释: 调优目标对象,指定本次优化任务针对的智能体或工作流。 约束限制: 指定的智能体必须处于可用状态。 取值范围: 默认取值: 无 |
| model_name | 是 | String | 参数解释: 基础调优模型名称,作为本次优化训练的底座模型。 约束限制: 必须是系统支持的基础模型。 取值范围: 可选值为qwen3_8b或qwen3_1_7b。 默认取值: 无 |
| training_type | 否 | String | 参数解释: 训练类型,决定模型训练所采用的学习算法类别。 约束限制: 目前仅支持强化学习。 取值范围: 固定值为rl。 默认取值: rl |
| tuning_method | 否 | String | 参数解释: 调优方法/算法,指定模型优化所使用的具体算法策略。 约束限制: 目前仅支持群组相对优化算法。 取值范围: 固定值为grpo。 默认取值: grpo |
| reward_setting | 是 | OpsTuningRewardSetting object | 参数解释: 奖励函数配置,用于评估模型生成结果的质量并反馈给强化学习算法。 约束限制: 不涉及 取值范围: 默认取值: 无 |
| parameter_setting | 是 | OpsTuningParamSetting object | 参数解释: 训练超参数设置,用于控制训练过程中的收敛速度和效果。 约束限制: 参数取值需在合法范围内,否则可能导致训练失败。 取值范围: 默认取值: 无 |
| dataset | 是 | OpsDataset object | 参数解释: 训练数据集配置,指定用于训练的数据集。 约束限制: 不涉及 取值范围: 请参见OpsDataset。 默认取值: 无 |
| train_product_path | 是 | String | 参数解释: 训练产物OBS路径。 约束限制: 必须是真实存在的OBS路径且具备读写权限。 取值范围: 不涉及 默认取值: 无 |
| agency_name | 是 | String | 参数解释: 委托名称,赋予服务访问用户资源的权限。 约束限制: 必须是IAM中已创建的有效委托。 取值范围: 合法的委托名称字符串。 默认取值: 无 |
| tags | 否 | Array of OpsTasksTagForTMS objects | 参数解释: 资源标签列表,用于资源分类。 约束限制: 不涉及 取值范围: 数组长度0-20。 默认取值: 空数组 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| type | 是 | String | 参数解释: 智能体类型,区分优化目标是单智能体还是工作流。 约束限制: 不涉及 取值范围: 单智能体agent,工作流workflow。 默认取值: 无 |
| id | 是 | String | 参数解释: 智能体ID,对应AgentArts平台中的智能体实例。 可在AgentArts平台“智能体管理”页面获取ID,注意对应的智能体需要是“已提交”状态。 图1 获取智能体ID 约束限制: 必须是系统中存在的真实ID。 取值范围: 有效标识符字符串。 默认取值: 无 |
| version | 否 | String | 参数解释: 智能体版本。 约束限制: 不涉及 取值范围: 版本号字符串。 默认取值: latest |
| node_type | 否 | String | 参数解释: 工作流节点类型,仅当type为workflow时有效,指定优化工作流中的哪类节点。 约束限制: 仅当type为workflow时生效。 取值范围: 意图识别节点intent_detection,大模型节点llm。 默认取值: 无 |
| node_id | 否 | String | 参数解释: 工作流节点ID,对应工作流中特定节点的唯一标识。 可在AgentArts平台“智能体管理”页面获取ID,注意对应的工作流需要是“已提交”状态。 图2 获取工作流ID 约束限制: 仅当type为workflow时生效。 取值范围: 有效节点标识符字符串。 默认取值: 无 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| reward_type | 是 | String | 参数解释: 奖励类型,决定采用何种方式评估模型输出质量。 约束限制: 不涉及 取值范围: rule(规则奖励),generative(生成式奖励)。 默认取值: 无 |
| model_name | 否 | String | 参数解释: 模型名称,用于生成式奖励打分的裁判模型。 约束限制: generative类型必填。 取值范围: 支持的判别模型名称字符串。 默认取值: 无 |
| apikey_credential_provider | 否 | String | 参数解释: API密钥凭证提供者,用于访问判别模型的认证信息。 约束限制: generative类型必填。 取值范围: 平台中配置的凭证名称。 默认取值: 无 |
| rubric | 否 | String | 参数解释: 评分标准,指导判别模型进行评分的提示词内容。 约束限制: generative类型必填。 取值范围: 长度0-4096个字符的提示词。 默认取值: 无 |
| rules | 否 | Array of OpsTuningRewardRule objects | 参数解释: 规则列表,定义具体的正则匹配规则。 约束限制: rule类型必填。 取值范围: 数组长度1-10。 默认取值: 无 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| function_name | 是 | String | 参数解释: 规则名称,对应具体的奖励计算逻辑。 约束限制: 不涉及 取值范围: 思维链式奖励think_format_reward,精准匹配奖励exact_match_reward,数值匹配奖励math_correctness_reward。 默认取值: 无 |
| weight | 是 | Double | 参数解释: 权重,表示该规则在总奖励中的占比。 约束限制: 不涉及 取值范围: 0.0到1.0之间的浮点数。 默认取值: 无 |
| regex | 是 | String | 参数解释: 正则表达式,用于匹配模型输出的特定格式。 约束限制: 不涉及。 取值范围: 合法的正则表达式字符串。 默认取值: 无 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| actor_optimizer_lr | 是 | String | 参数解释: 优化器学习率,控制模型参数更新的步长。 约束限制: 数值过大可能导致训练震荡,过小可能导致收敛缓慢。 取值范围: 科学计数法字符串,如1.0E-5。 默认取值: 无 |
| train_batch_size | 是 | Integer | 参数解释: 批大小,单次训练迭代中使用的样本数量。 约束限制: 不涉及 取值范围: 正整数。 默认取值: 无 |
| rollout_num | 是 | Integer | 参数解释: 分组大小,GRPO算法中每次生成用于对比的样本组数量。 约束限制: 不涉及 取值范围: 正整数。 默认取值: 无 |
| epoch_num | 是 | Integer | 参数解释: 训练轮数,全量数据集被模型训练的次数。 约束限制: 不涉及 取值范围: 1到1000的正整数。 默认取值: 无 |
| max_length | 是 | Integer | 参数解释: 最大长度,模型生成序列的最大Token数。 约束限制: 不涉及 取值范围: 1到100000的正整数。 默认取值: 无 |
| ckpt_save_step | 是 | Integer | 参数解释: 保存频率,每隔多少个训练步保存一次模型检查点。 约束限制: 不涉及 取值范围: 1到10000正整数。 默认取值: 无 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| id | 是 | String | 参数解释: 数据集ID,标识已创建的训练数据集。可通过获取评测集列表接口查询,注意需要使用latest_version不为空的数据集,不为空即表示该数据集已经执行过发布。 约束限制: 不涉及 取值范围: 真实存在的数据集ID字符串。 默认取值: 无 |
| version | 是 | String | 参数解释: 数据集版本。 约束限制: 不涉及 取值范围: 数据集版本号字符串。 默认取值: 无 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 智能体优化任务ID。 取值范围: UUID格式字符串。 |
| name | String | 参数解释: 任务名称。 取值范围: 长度1-64个字符的字符串。 |
| description | String | 参数解释: 任务描述。 取值范围: 长度0-255个字符的字符串。 |
| agent | OpsTuningTargetAgent object | 参数解释: 调优目标对象,包含目标智能体的配置信息。 取值范围: 符合OpsTuningTargetAgent定义的对象。 |
| model_name | String | 参数解释: 调优模型名称。 取值范围: qwen3_8b或qwen3_1_7b。 |
| train_agent | OpsTuningTrainAgent object | 参数解释: 训练实例对象,包含训练过程中实际使用的模型实例信息。 取值范围: 符合OpsTuningTrainAgent定义的对象。 |
| training_type | String | 参数解释: 训练类型。 取值范围: 固定值为 rl(强化学习)。 |
| tuning_method | String | 参数解释: 调优方法。 取值范围: 固定值为grpo(群组相对策略优化)。 |
| reward_setting | OpsTuningRewardSetting object | 参数解释: 奖励函数配置详情。 取值范围: 符合OpsTuningRewardSetting定义的对象。 |
| parameter_setting | OpsTuningParamSetting object | 参数解释: 训练超参数设置详情。 取值范围: 符合OpsTuningParamSetting定义的对象。 |
| dataset | OpsDatasetInfo object | 参数解释: 数据集配置详情。 取值范围: 符合OpsDatasetInfo定义的对象。 |
| validation_set_ratio | Integer | 参数解释: 验证集比例。 取值范围: 0到100的整数。 |
| train_product_path | String | 参数解释: 训练产物路径。 取值范围: 不涉及 |
| agency_name | String | 参数解释: 委托名称,赋予服务访问用户资源的权限。 取值范围: 有效的IAM委托名称字符串。 |
| status | String | 参数解释: 任务状态。 取值范围: draft草稿态,training训练中,stopped已停止,success成功,fail失败,deleting删除中,stopping停止中。 |
| fail_detail | OpsFailDetail object | 参数解释: 失败详情信息,包含错误码和错误详情。 取值范围: 符合OpsFailDetail定义的对象。 |
| progress | Double | 参数解释: 任务进度,单位:%。 取值范围: 0.0到100.0之间的浮点数。 |
| created_at | Long | 参数解释: 创建时间,单位:毫秒(13位时间戳)。 取值范围: 13位毫秒级时间戳。 |
| updated_at | Long | 参数解释: 更新时间,单位:毫秒(13位时间戳)。 取值范围: 13位毫秒级时间戳。 |
| executed_time | Integer | 参数解释: 运行时长,单位:分钟。 取值范围: 大于等于0的整数。 |
| tags | Array of OpsTasksTagForTMS objects | 参数解释: 资源标签列表。 取值范围: 符合OpsTasksTagForTMS定义的对象数组。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| type | String | 参数解释: 智能体类型。 取值范围: 单智能体agent,工作流workflow。 |
| id | String | 参数解释: 智能体ID。 取值范围: 必须是系统中存在的真实ID。 |
| version | String | 参数解释: 智能体版本。 取值范围: 版本号字符串,默认latest。 |
| node_type | String | 参数解释: 工作流节点类型。仅当type为workflow时生效。 取值范围: 意图识别节点intent_detection,大模型节点llm。 |
| node_id | String | 参数解释: 工作流节点ID。仅当type为workflow时生效。 取值范围: 有效节点标识符字符串。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 智能体ID,训练实例关联的智能体。 取值范围: 有效标识符字符串。 |
| version | String | 参数解释: 智能体版本。 取值范围: 版本号字符串。 |
| model_provider_id | String | 参数解释: 训练模型的供应商ID,标识模型来源的服务商。 取值范围: 供应商标识字符串。 |
| model_id | String | 参数解释: 训练模型ID,标识正在被训练的具体模型实例。 取值范围: 模型标识字符串。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| reward_type | String | 参数解释: 奖励类型。 取值范围: rule(规则奖励),generative(生成式奖励)。 |
| model_name | String | 参数解释: 模型名称,用于生成式奖励打分的裁判模型。 取值范围: 支持的判别模型名称字符串。 |
| apikey_credential_provider | String | 参数解释: API密钥凭证提供者,用于访问判别模型的认证信息。 取值范围: 系统中配置的凭证名称。 |
| rubric | String | 参数解释: 评分标准,指导判别模型进行评分的提示词内容。 取值范围: 长度0-4096个字符的提示词。 |
| rules | Array of OpsTuningRewardRule objects | 参数解释: 规则列表,定义具体的正则匹配规则。 取值范围: 数组长度1-10。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| function_name | String | 参数解释: 规则名称。 取值范围: 思维链式奖励think_format_reward,精准匹配奖励exact_match_reward,数值匹配奖励math_correctness_reward。 |
| weight | Double | 参数解释: 权重。 取值范围: 0.0到1.0之间的浮点数。 |
| regex | String | 参数解释: 正则表达式。 取值范围: 合法的正则表达式字符串。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| actor_optimizer_lr | String | 参数解释: 优化器学习率,控制模型参数更新的步长。 取值范围: 科学计数法字符串,如1.0E-5。 |
| train_batch_size | Integer | 参数解释: 批大小,单次训练迭代中使用的样本数量。 取值范围: 正整数。 |
| rollout_num | Integer | 参数解释: 分组大小,GRPO算法中每次生成用于对比的样本组数量。 取值范围: 正整数。 |
| epoch_num | Integer | 参数解释: 训练轮数,全量数据集被模型训练的次数。 取值范围: 1到1000的正整数。 |
| max_length | Integer | 参数解释: 最大长度,模型生成序列的最大Token数。 取值范围: 1到100000的正整数。 |
| ckpt_save_step | Integer | 参数解释: step保存频率,每隔多少个训练步保存一次模型检查点。 取值范围: 1到10000正整数。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 数据集ID。 取值范围: 真实存在的数据集ID字符串。 |
| version | String | 参数解释: 数据集版本号。 取值范围: 版本号字符串。 |
| version_name | String | 参数解释: 版本显示名称。 取值范围: 版本显示名称字符串。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码。 取值范围: 规范化的系统错误码字符串。 |
| error_msg | String | 参数解释: 错误信息。 取值范围: 错误描述字符串。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key | String | 参数解释: 标签键。 取值范围: 不能为空或者空字符串,不能为空格,校验和使用之前先trim前后半角空格。最大长度128个unicode字符。 |
| value | String | 参数解释: 值。 取值范围: 不校验字符集范围。每个值最大长度255个unicode字符。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 机器可读的错误代码。 取值范围: 系统错误码字符串。 |
| error_msg | String | 参数解释: 人类可读的错误消息。 取值范围: 详细错误说明字符串。 |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 机器可读的错误代码。 取值范围: 系统错误码字符串。 |
| error_msg | String | 参数解释: 人类可读的错误消息。 取值范围: 详细错误说明字符串。 |
| encoded_authorization_message | String | 参数解释: 编码后的授权失败信息。 取值范围: 字符串。 |
| details | Array of OpsRLCommonError objects | 参数解释: 依赖的下游服务错误信息列表。 取值范围: 包含error_code和error_msg的对象数组。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 机器可读的错误代码。 取值范围: 系统错误码字符串。 |
| error_msg | String | 参数解释: 人类可读的错误消息。 取值范围: 详细错误说明字符串。 |
状态码:409
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 机器可读的错误代码。 取值范围: 系统错误码字符串。 |
| error_msg | String | 参数解释: 人类可读的错误消息。 取值范围: 详细错误说明字符串。 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 机器可读的错误代码。 取值范围: 系统错误码字符串。 |
| error_msg | String | 参数解释: 人类可读的错误消息。 取值范围: 详细错误说明字符串。 |
请求示例
创建一个全新的智能体优化任务。并配置训练任务中所使用的大模型、数据集与超参配置。
POST https://*.com/v1/ops/model-tuning-tasks
Content-Type:application/json
X-Sdk-Date:20240416T095341Z
Authorization:SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=****************
{
"name": "rl-tuning-task-rule",
"agent": {
"type": "workflow",
"id": "57ae91cf2f504899921a50d1c75f0547",
"node_type": "llm",
"node_id": "node-2"
},
"model_name": "qwen3_1_7b",
"training_type": "rl",
"tuning_method": "grpo",
"reward_setting": {
"reward_type": "rule",
"rules": [
{
"function_name": "think_format_reward",
"weight": 0.4,
"regex": "<think>[\\s\\S]*?</think>"
},
{
"function_name": "exact_match_reward",
"weight": 0.6,
"regex": "\\\\boxed\\{(.*?)\\}"
}
]
},
"parameter_setting": {
"actor_optimizer_lr": "5.0E-6",
"train_batch_size": 4,
"rollout_num": 8,
"epoch_num": 5,
"max_length": 8192,
"ckpt_save_step": 50
},
"dataset": {
"id": "b1ba4480-ad2d-4af6-8bae-af392b4eef83",
"version": "dd31db39-3973-4eff-b0e7-01a29454635b"
},
"train_product_path": "obs://my-bucket/math-train/outputs/",
"agency_name": "ops-tuning-trust"
} 响应示例
状态码:200
{
"id" : "57ae91cf2f504899921a50d1c75f0547",
"name" : "rl-tuning-task-generative",
"description" : "基于生成式奖励(Qwen-max评分)的模型优化任务",
"agent" : {
"type" : "agent",
"id" : "f0fab58d-8285-4c47-b856-1079cad579da",
"version" : "v1.0"
},
"model_name" : "qwen3_8b",
"train_agent" : {
"id" : "train-agent-789",
"version" : "v1.0",
"model_provider_id" : "provider-qwen",
"model_id" : "model-qwen3-8b-base"
},
"training_type" : "rl",
"tuning_method" : "grpo",
"reward_setting" : {
"reward_type" : "generative",
"model_name" : "qwen-max",
"apikey_credential_provider" : "my-apikey-provider",
"rubric" : "你是一个严苛的评分专家,请根据以下标准为回答打分:1. 内容准确性 2. 逻辑连贯性。"
},
"parameter_setting" : {
"actor_optimizer_lr" : "1.0E-5",
"train_batch_size" : 8,
"rollout_num" : 4,
"epoch_num" : 10,
"max_length" : 4096,
"ckpt_save_step" : 100
},
"dataset" : {
"id" : "b1ba4480-ad2d-4af6-8bae-af392b4eef83",
"version" : "dd31db39-3973-4eff-b0e7-01a29454635b",
"version_name" : "v1.0.0"
},
"validation_set_ratio" : 10,
"train_product_path" : "obs://my-bucket/rl-train/outputs/",
"agency_name" : "ops-tuning-trust",
"status" : "training",
"progress" : 0,
"created_at" : 1775808300000,
"updated_at" : 1775808300000,
"executed_time" : 0,
"tags" : [ {
"key" : "environment",
"value" : "production"
}, {
"key" : "project",
"value" : "AI-Agent"
} ]
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 参数解释: 模型优化任务详情。 取值范围: 无 |
| 400 | 参数解释: 无效的请求体。 取值范围: 无 |
| 403 | 参数解释: 权限不足,拒绝访问。 取值范围: 无 |
| 409 | 参数解释: 模型优化任务已存在。 取值范围: 无 |
| 500 | 参数解释: 服务器错误。 取值范围: 无 |
错误码
请参见错误码。

