资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

创建模型评估任务

功能介绍

用于创建并启动模型评估任务。

使用说明

本文API支持通过Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程

SDK调用

调用示例

import os
from qianfan  import resources

# 通过环境变量初始化认证信息
# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"



resp = resources.console.utils.call_action(
    # 调用本文API,该参数值为固定值,无需修改;对应HTTP调用文档-请求说明-请求地址的后缀
    "/wenxinworkshop/modelrepo/eval/model/list",  "", 
    # 对应HTTP调用文档-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
    {
    "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"
                }
            ]
        }
    }
    
)

print(resp.body)
package main
import (
    "context"
    "fmt"
    "os"
    "github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)
func main() {
     // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
    os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
    os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
    
    ca := qianfan.NewConsoleAction()
    
    res, err := ca.Call(context.TODO(),
    // 调用本文API,该参数值为固定值,无需修改;对应HTTP调用文档-请求说明-请求地址的后缀
    "/wenxinworkshop/modelrepo/eval/create", "",
    // 对应HTTP调用文档-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
    map[string]interface{}{
        "name": "test_save1",
        "datasetId": 259,
        "versionEvalInfo": []map[string]any{
            {
                "modelVersionId": 857,
                "params": map[string]any{
                    "temperature": 0.95,
                    "top_p": 0.7,
                    "penalty_score": 1,
                },
                "prompt": map[string]any{
                    "enable": true,
                    "content": "请回答以下问题:{input}",
                },
                "inferDatasetStorageType": "usrBos",
                "inferDatasetStorageId": "testmc",
                "inferDatasetRawPath": "data/",
            },
       },
        "evalStandardConf": map[string]any{
            "evalMode": "manual",
            "evaluationDimension": []map[string]any{
                {
                    "dimension": "满意度",
                    "key": 0,
                    "formChecked": "22",
                },
            },
        },
    })
    
    if err != nil {
        panic(err)
    }
    fmt.Println(string(res.Body))
    
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.console.ConsoleResponse;
import com.baidubce.qianfan.util.CollUtils;
import com.baidubce.qianfan.util.Json;
import java.util.Map;

public class Dome {
    public static void main(String args[]){
        // 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
        Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
        
        ConsoleResponse<Map<String, Object>> response = qianfan.console()
                // 调用本文API,该参数值为固定值,无需修改;对应HTTP调用文档-请求说明-请求地址的后缀
                .route("/wenxinworkshop/modelrepo/eval/create")
                // 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
                // Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
                // 对应HTTP调用文档-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
                .body(CollUtils.mapOf(
                    "name", "test_save1",
                    "datasetId", 259,
                    "versionEvalInfo", new Map[]{
                        CollUtils.mapOf(
                            "modelVersionId", 857,
                            "params", CollUtils.mapOf(
                                "temperature", 0.95,
                                "top_p", 0.7,
                                "penalty_score",1
                            ),
                            "prompt", CollUtils.mapOf(
                                "enable", true,
                                "content", "请回答以下问题:{input}"
                            ),
                            "inferDatasetStorageType", "usrBos",
                            "inferDatasetStorageId", "testmc",
                            "inferDatasetRawPath", "data/"
                        )
                    },
                    "evalStandardConf", CollUtils.mapOf(
                        "evalMode", "manual",
                        "evaluationDimension", new Map[]{
                            CollUtils.mapOf(
                                "dimension", "满意度",
                                "key", 0,
                                "formChecked", "22"
                            )
                        }
                    )
                ))
                .execute();

        System.out.println(Json.serialize(response));
    }
}
import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";

// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');

async function main() {
  //base_api_route:调用本文API,该参数值为固定值,无需修改;对应HTTP调用文档-请求说明-请求地址的后缀
  //data:对应HTTP调用文档-请求说明-请求参数-Body参数,具体使用请查看Body参数说明,根据实际使用选择参数
  const res = await consoleAction({base_api_route: '/wenxinworkshop/modelrepo/eval/create', 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"
                }
            ]
        }
    }
  });    
    
  console.log(res);
}

main();

返回示例

{
    "log_id": "3789040540",
    "result": {
        "evalId": 330,
        "evalIdStr": "ame-wjmszjt71gfg"
    }
}
{
    "log_id": "3789040540",
    "result": {
        "evalId": 330,
        "evalIdStr": "ame-wjmszjt71gfg"
    }
}
{
    "log_id": "3789040540",
    "result": {
        "evalId": 330,
        "evalIdStr": "ame-wjmszjt71gfg"
    }
}
{
    log_id: '3789040540',
    result: {
        evalId: 330,
        evalIdStr: 'ame-wjmszjt71gfg'
    }
}

请求参数

名称 类型 必填 描述
id string 评估任务id,示例:ame-vwgs2ybhyhfv,说明:
(1)此参数仅支持已存在的编辑中的评估任务id;如果是直接新建任务,不需要填写此参数
(2)在控制台-模型评估页面,点击某评估任务名称打开详情页,在任务详情的基本信息中查看,如下图所示
image.png
(3) 该字段新增支持string类型,如果之前使用的是int类型,建议变更为string类型,后续可能将逐步废弃int类型
name string 任务名称
description string 任务描述
versionEvalInfo object [] 待评估模型版本信息列表
datasetId string 评估数据集版本的ID,示例:17786,说明:
(1)可以通过以下任一方式获取该字段值:
· 方式一,通过调用创建数据集接口,返回的datasetId字段获取
· 方式二,在控制台-数据集管理列表页面查看,如下图所示:
image.png
(2)推理结果集评估场景可不填
evalStandardConf object 评估模式配置
computeResourceConf object 运行环境配置,固定值为{"vmType":1,"vmNumber":8}

versionEvalInfo说明

名称 类型 必填 描述
modelVersionId string 模型版本ID,示例值:amv-g73j3faikzpz,说明:
(1)如果是发起模型的评估任务,该字段必填
(2)在控制台-我的模型,点击某模型详情,在版本列表中查看,如下图所示
image.png
(3)该字段新增支持string类型,如果之前使用的是integer类型,建议变更为string类型,后续可能将逐步废弃integer类型
inferDatasetId string 推理结果集id,说明:
(1)发起推理结果集的评估任务,该字段必填
(2)通过以下方法获取该字段值,在控制台-数据管理-数据集-推理结果集页面,点击某个推理结果集详情,点击推理结果集信息页面查看,如下图所示:
image.png
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,即存在裁判员评估模式时,此字段必填
· 在控制台-应用接入列表查看该字段值,如下图所示:
image.png
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
上一篇
模型评估V2
下一篇
查看模型评估详情