创建模型评估任务
更新时间:2024-11-08
功能介绍
本接口用于创建并启动模型评估任务。
HTTP调用
鉴权说明
调用本文API,使用“基于安全认证AK/SK”进行签名计算鉴权,即使用安全认证中的Access Key ID 和 Secret Access Key进行鉴权,具体鉴权认证机制参考HTTP调用鉴权说明。
请求说明
- 基本信息
请求地址: https://qianfan.baidubce.com/wenxinworkshop/modelrepo/eval/create
请求方式: POST
- Header参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Content-Type | string | 是 | 固定值:application/json |
x-bce-date | string | 否 | 当前时间,遵循ISO8601规范,格式如2016-04-06T08:23:49Z |
Authorization | string | 是 | 用于验证请求合法性的认证信息,更多内容请参考鉴权认证机制,签名工具可参考IAM签名工具 |
- Body参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id | string | 否 | 评估任务id,示例:ame-vwgs2ybhyhfv,说明: (1)此参数仅支持已存在的编辑中的评估任务id;如果是直接新建任务,不需要填写此参数 (2)在控制台-模型评估页面,点击某评估任务名称打开详情页,在任务详情的基本信息中查看,如下图所示 (3) 该字段新增支持string类型,如果之前使用的是int类型,建议变更为string类型,后续可能将逐步废弃int类型 |
name | string | 是 | 任务名称 |
description | string | 否 | 任务描述 |
versionEvalInfo | object [] | 是 | 待评估模型版本信息列表 |
datasetId | string | 是 | 评估数据集版本的ID,示例:17786,说明: (1)可以通过以下任一方式获取该字段值: · 方式一,通过调用创建数据集接口,返回的datasetId字段获取 · 方式二,在控制台-数据集管理列表页面查看,如下图所示: (2)推理结果集评估场景可不填 |
evalStandardConf | object | 是 | 评估模式配置 |
computeResourceConf | object | 是 | 运行环境配置,固定值为{"vmType":1,"vmNumber":8} |
versionEvalInfo说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
modelVersionId | string | 否 | 模型版本ID,示例值:amv-g73j3faikzpz,说明: (1)如果是发起模型的评估任务,该字段必填 (2)在控制台-我的模型,点击某模型详情,在版本列表中查看,如下图所示 (3)该字段新增支持string类型,如果之前使用的是integer类型,建议变更为string类型,后续可能将逐步废弃integer类型 |
inferDatasetId | string | 否 | 推理结果集id,说明: (1)发起推理结果集的评估任务,该字段必填 (2)通过以下方法获取该字段值,在控制台-数据管理-数据集-推理结果集页面,点击某个推理结果集详情,点击推理结果集信息页面查看,如下图所示: |
inferDatasetStorageType | string | 否 | 推理结果集存储类型,说明: (1)选择模型评估时,才需要填该字段,用于存储评估过程中产生的推理结果集 (2)可选值如下: · usrBos:用户存储 · sysBos:系统存储 |
inferDatasetStorageId | string | 否 | bucket,说明:当inferDatasetStorageType值为usrBos,该字段值必填 |
inferDatasetRawPath | string | 否 | 存储路径,说明:当inferDatasetStorageType值为usrBos,该字段值必填,不包含bucket的子路径 |
prompt | Prompt | 否 | prompt模板信息 |
params | Params | 否 | 模型推理超参 |
prompt说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
enable | bool | 否 | 是否启用Prompt模板 |
content | string | 否 | Prompt模板内容,说明: (1)需要包含{input}标签,作为输入数据集中prompt的占位符 (2)示例,例如此字段为:"请你回答以下问题:{input}"在实际推理时,假设输入数据集中一条数据prompt为:"请给出一个人工智能的标题"最终模型推理时,会传入以下prompt:"请你回答以下问题:请给出一个人工智能的标题" |
params说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
temperature | float | 否 | 温度,说明: (1)较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定 (2)两位小数,范围 (0, 1.0],不能为0 |
top_p | float | 否 | 多样性,说明: (1)影响输出文本的多样性,取值越大,生成文本的多样性越强 (2)取值范围 [0, 1.0] |
penalty_score | float | 否 | 通过对已生成的token增加惩罚,减少重复生成的现象。说明: (1)值越大表示惩罚越大 (2)取值范围:[1.0, 2.0] |
disable_search | bool | 否 | 是否强制关闭实时搜索功能,默认false,表示不关闭 |
enable_citation | bool | 否 | 搜索溯源,开启后有概率触发搜索溯源信息 |
top_k | int | 否 | Top-K 采样参数,在每轮token生成时,保留k个概率最高的token作为候选。说明: (1)影响输出文本的多样性,取值越大,生成文本的多样性越强 (2)取值范围:正整数 |
evalStandardConf说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
evalMode | string | 是 | 评估模式,说明: (1)可选值如下 : · rule:基于规则 · model:裁判员模型 · manual:人工评估 (2)多个模式使用,拼接,示例“model,manual,rule” |
stopWordsPath | string | 否 | 基于规则的停用词表路径,说明:当evalMode参数中包含rule,即存在规则评估模式时,此字段有效,非必填 |
appId | number | 是 | 裁判员模型的应用APPID,说明: · 当evalMode参数中包含model,即存在裁判员评估模式时,此字段必填 · 在控制台-应用接入列表查看该字段值,如下图所示: |
prompt | object | 是 | 裁判员评估打分模板配置,说明: · 当evalMode参数中包含model,即存在裁判员评估模式时,此字段必填 |
evaluationDimension | object[] | 是 | 人工评估评价维度,说明: · 默认维度为满意度,不可删除 · 用户可自行添加其他维度,最多添加4个维度 · 当evalMode参数中包含manual,即存在人工评估模式时,此字段必填 |
resultDatasetStorageType | string | 否 | bos类型,说明: (1)可选值如下: · sysBos:系统bos · usrBos:用户bos (2)不填默认是系统bos |
resultDatasetStorageId | string | 否 | 用户bos的bucket |
resultDatasetRawPath | string | 否 | 用户bos用于存放数据集的路径,不包含bucket的子路径 |
prompt说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
templateContent | string | 是 | 模板内容 |
metric | string | 是 | 指标内容,替换{metric}占位符 |
steps | string | 是 | 评分步骤,用于替换{steps}占位符 |
maxScore | number | 是 | 最高分,用于替换{max_score}占位符 |
evaluationDimension说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
dimension | string | 是 | 评价维度 |
description | string | 否 | 维度的描述 |
computeResourceConf说明
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
vmType | integer | 是 | 计算资源规格ID,固定值为1 |
vmNumber | number | 是 | 计算资源数量,固定值为8 |
响应说明
名称 | 类型 | 描述 |
---|---|---|
log_id | string | 请求ID |
result | object | 请求结果 |
result说明
名称 | 类型 | 描述 |
---|---|---|
evalId | int | 评估任务id,注意:该字段后续将废弃,如需使用评估任务id,请使用evalIdStr |
evalIdStr | string | 评估任务id |
请求示例
# 替换下列示例中的Authorization值、x-bce-date值
curl 'https://qianfan.baidubce.com/wenxinworkshop/modelrepo/eval/create' \
--header 'Authorization: bce-auth-v1/f0ee7axxxx/2023-12-06T04:43:07Z/1800/host;x-bce-date/73edaa7e032dxxxxx428337d' \
--header 'x-bce-date: 2023-12-06T04:42:38Z' \
--header 'Content-Type: application/json' \
--data '{
"name": "test_save1",
"datasetId": 259,
"versionEvalInfo": [
{
"modelVersionId": 857,
"params": {
"temperature": 0.95,
"top_p": 0.7,
"penalty_score": 1
},
"prompt": {
"enable": true,
"content": "请回答以下问题:{input}"
},
"inferDatasetStorageType": "usrBos",
"inferDatasetStorageId": "testmc",
"inferDatasetRawPath": "data/"
}
],
"evalStandardConf": {
"evalMode": "manual",
"evaluationDimension": [
{
"dimension": "满意度",
"key": 0,
"formChecked": "22"
}
]
}
}'
响应示例
{
"log_id": "3789040540",
"result": {
"evalId": 330,
"evalIdStr": "ame-wjmszjt71gfg"
}
}
SDK调用
平台支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用本文API,SDK调用说明文档请参考创建模型评估任务。
错误码
若请求错误,服务器将返回的JSON文本包含以下参数:
名称 | 描述 |
---|---|
error_code | 错误码 |
error_msg | 错误描述信息,帮助理解和解决发生的错误 |
例如参数错误返回:
{
"error_code": 500001,
"error_msg": "param invalid"
}
更多其他错误码,也可以查看错误码说明。
错误码 | 错误信息 | 描述 |
---|---|---|
11003 | 参数错误[存在裁判员评估模式,但对应配置为空] | 选了裁判员评估模式,但对应配置为空 |
11003 | 参数错误[存在规则评估模式,但对应配置为空] | 选了规则评估模式,但对应配置为空 |
11003 | 参数错误[存在人工评估模式,但对应配置为空] | 选了人工评估模式,但对应配置为空 |
11003 | 参数错误[模型非法:模型版本(101)不存在,模型版本(lama2>V1)不支持评估] | 模型版本不存在或者不支持评估 |
11003 | 参数错误[获取评估数据集信息失败] | 查询数据集失败 |
11003 | 参数错误[query问题集仅供人工评估使用] | query问题集仅供人工评估使用 |
11003 | 参数错误[数据集标注样本数不能小于1] | 数据集标注样本数不能小于1 |
11003 | 参数错误[模型评估仅支持[文本对话,query问题集]类型数据集] | 模型评估仅支持[文本对话,query问题集]类型数据集 |
11003 | 参数错误[获取裁判员模型应用信息失败] | 获取裁判员模型应用信息失败 |
11003 | 参数错误[人工评估维度不能为空] | 人工评估维度不能为空 |
11003 | 参数错误[人工评估满意度打分必选] | 人工评估必选满意度打分维度 |
11003 | 参数错误[评估维度仅支持中英文下划线,长度[1,10]] | 评估维度仅支持中英文下划线,长度[1,10] |
70002 | 查询错误[获取评估列表失败] | 获取评估列表失败 |
70002 | 查询错误[获取评估信息失败] | 获取评估信息失败 |
70002 | 查询错误[获取评估模型列表失败] | 查询模型列表报错 |
70002 | 查询错误[获取评估子任务列表失败] | 获取评估子任务列表失败 |
70003 | 创建人工评估结果集失败 | 创建人工评估结果集失败 |
70116 | 模型评估任务名称已存在 | 同个用户的模型评估任务名称不可重名 |
71008 | 停用词表文件不存在 | 停用词表文件不存在 |
71009 | 模型评估任务不是可编辑状态 | 只有编辑状态的模型才可以编辑,如果请求中包含id字段,且id对应的评估任务不是编辑状态,会返回此错误 |
71013 | 所选评估数据集未发布 | 评估数据集必须是已经发布的数据集 |
70119 | 存储操作异常 | 检查停用词文件失败 |
500000 | internal server error | 服务器内部错误 |
500001 | param invalid | 参数错误 |
500001 | param[%s] invalid | 参数错误 |
500002 | auth failed, no access | 无权访问 |