训练任务发布为模型
更新时间:2024-11-04
注意: 为提升开发者使用体验,本文内容已合并至至对应API文档,请查看API鉴权及调用-模型管理-模型管理V1-训练任务发布为模型;本文档已于2024年6月28日在平台文档中心下线,内容不再更新。
功能介绍
用于将训练任务的产出发布为模型管理中具体某个模型的版本,支持发布为新建模型的新版本或已有模型新版本,即可获取模型ID。对于已发布的模型,可以根据模型ID对模型进行迭代发布。
注意事项
- 调用本文API,需使用安全认证AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
- 调用本文API实现发布已有模型新版本时,需要校验训练模型和已有模型的基础模型是否匹配;只有校验通过,调用本接口,才能实现将训练任务发布为模型。校验步骤:
(1)调用获取任务运行详情接口,获取trainType字段。
(2)调用获取模型详情接口,获取trainType字段。
(3)判断步骤(1)和步骤(2)获取的trainType字段是否匹配。通过下表进行判断:
(1)获取任务运行详情接口返回trainType值 | (2)获取模型详情接口返回trainType值 | 校验是否通过 |
---|---|---|
trainType | newTrainType | 通过 |
ernieBotLite | ernieBotLite | 通过 |
ernieBotLite-v201-8k | ernieBotLite | 通过 |
ernieBotLite-v201-8k | ernieBotLite | 通过 |
ernieBotLite-v202-postPretrain | ernieBotLite | 通过 |
ernieBotLite-v202-fuse-postPretrain | ernieBotLite | 通过 |
ernieBotLite-v202-fuse | ernieBotLite | 通过 |
ernieBotLite-v201-4k | ernieBotLite | 通过 |
ernieBotLite-v200 | ernieBotLite | 通过 |
ernieBotLite-v202 | ernieBotLite | 通过 |
ernieBotLite-v202 | ernieBotLite | 通过 |
ernieBotLite-v201-4k | ernieBotLite | 通过 |
ernieBotLite-v200 | ernieBotLite | 通过 |
ernieBotLite-v202-fuse | ernieBotLite | 通过 |
ernieBotLite-v200-lora | ernieBotLite | 通过 |
chatglm2-6b | chatglm2-6b | 通过 |
chatglm2-6b-32k | chatglm2-6b | 通过 |
任意值 | 空 | 通过,说明: 当步骤(2)获取模型详情接口返回trainType值为空时,无需对比步骤(1)的trainType值,校验通过 |
其他值 | 其他值 | 只有当trainType字段值相同时,校验通过 |
调用示例
import os
from qianfan import resources
# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
resp = resources.Model.publish(
is_new=True,
model_name="sdk_test_1",
version_meta={"taskId": "job-i5qndhxxxx", "iterationId": "task-3ukxxxx"},
)
print(resp)
返回示例
QfResponse(code=200, headers={
...
},
body={
"log_id": "1212121",
"result": {
"modelId": 1,
"modelIDStr": "am-5sxpxxxn25uw",
"versionId": 2,
"versionIdStr": "amv-21qxxxxxz8fp"
"version": "1"
}
})
参数说明
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
is_new | bool | 是 | 是否创建新模型,默认false,可选值如下: true:是 false:否 |
version_meta | dict | 是 | 待发布的新模型版本元数据信息 |
model_name | string | 否 | 模型名称。说明: (1)如果字段isNewModel为true,即发布为新建模型的版本时,该字段必填 (2)模型名称需符合以下:中文或大小写字母数字组成,以中文或大小写字母数字作为字符串开头,字符串长度最大为20个字符 |
model_id | string | 否 | 已存在模型的ID。示例:am-gh0azfeb9adu,说明: (1)如果字段isNewModel为false,即发布为已有模型新版本时,该字段必填 (2)该字段值通过控制台-我的模型查看,如下图所示 (3)该字段新增支持string类型,如果之前使用的是int类型,建议变更为string类型,后续可能将逐步废弃int类型 |
tags | list[string] | 否 | 模型业务标签列表,说明: (1)如果isNewModel为false,即发布为已有模型新版本,使用该字段会更新模型业务标签列表;如果isNewModel为true,即发布为新建模型的版本,使用该字段会新建模型业务标签 (2)业务标签数量限制最大不超过5个 (3)业务标签格式需符合以下:中文或大小写字母数字组成,每个标签不超过10个字符 |
version_meta说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
iterationId | string | 是 | 训练任务运行ID,示例:task-3ukxxxx,说明: (1)通过以下方法获取该字段值:在控制台-模型调优-模型精调,点击某个训练任务详情,在任务详情页面查看运行ID,如下图所示: (2)该字段新增支持string类型,如改之前使用的是int类型,建议变更为string类型;int类型即之前通过以下方式获取的值 |
taskId | string | 是 | 训练任务ID,示例值:job-i5qndhxxxx,说明: (1)通过以下方法获取该字段值:在控制台-模型精调列表页面查看,如下图所示 (2)该字段新增支持string类型,如果之前使用的是int类型,建议变更为string类型;int类型即之前通过以下方式获取的值 |
description | string | 否 | 模型版本描述,字符串长度最大为300个字符 |
step | int | 否 | 说明: (1)训练任务配置了多checkpoint保存参数,训练产出多个step训练结果进行发布,该字段必填,且字段值为对应的step数字 (2)如果训练任务未配置多checkpoint保存参数,可以不传该字段 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 请求ID |
result | dict | 请求结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
modelId | int | 模型ID,注意:该字段后续可能废弃,如需使用模型ID,请使用modelIDStr |
modelIDStr | string | 模型ID |
versionId | int | 模型版本ID,注意:该字段后续可能废弃,如需使用模型版本ID,请使用versionIdStr |
versionIdStr | string | 模型版本ID |
version | string | 模型版本号 |