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

创建模型评估任务

功能介绍

用于创建模型评估任务。

使用说明

本文API支持通过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,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/eval", 
    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
    "CreateEvalTask", 
    # 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
    {
        "taskName": "管控API裁判员评估测试",
        "description": "管控API测试",
        "evalObjectType": "model",
        "evalObjectConfig": {
            "evalModelConfig": {
                "versionId": "ds-mwmk3mwxxxxxfk",
                "storageType": "sysStorage",
                "evalModelConfigList": [
                    {
                        "modelId": "amv-ttsxxxx1hp",
                        "promptTemplate": "你是一个好助手,请遵照{input}要求,以商务风格做出相应回复,要求语言简练,客观详尽。"
                    }
                ]
            }
        },
        "evalConfig": {
            "evalMode": "model",
            "autoModelEvalConfig": {
                "apiName": "ERNIE-xxx"
            }
        }
    }
)
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,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/eval",
    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
    "CreateEvalTask",
    // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
    map[string]interface{}{
        "taskName": "管控API裁判员评估测试",
        "description": "管控API测试",
        "evalObjectType": "model",
        "evalObjectConfig": map[string]any{
            "evalModelConfig": map[string]any{
                "versionId": "ds-mwmk3mwxxxxxfk",
                "storageType": "sysStorage",
                "evalModelConfigList": []map[string]any{
                    {
                        "modelId": "amv-ttsxxxx1hp",
                        "promptTemplate": "你是一个好助手,请遵照{input}要求,以商务风格做出相应回复,要求语言简练,客观详尽。",
                    },
                },
            },
        },
        "evalConfig": map[string]any{
            "evalMode": "model",
            "autoModelEvalConfig": map[string]any{
                "apiName": "ERNIE-xxx",
            },
        },
    })
    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,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
                .route("/v2/eval")
                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
                .action("CreateEvalTask")
                // 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
                // Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
                // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
                .body(CollUtils.mapOf(
                    "taskName", "管控API裁判员评估测试",
                    "description", "管控API测试",
                    "evalObjectType", "model",
                    "evalObjectConfig", CollUtils.mapOf(
                        "evalModelConfig", CollUtils.mapOf(
                            "versionId", "ds-mwmk3mwxxxxxfk",
                            "storageType", "sysStorage",
                            "evalModelConfigList",new Map[] {
                                CollUtils.mapOf(
                                    "modelId", "amv-ttsxxxx1hp",
                                    "promptTemplate", "你是一个好助手,请遵照{input}要求,以商务风格做出相应回复,要求语言简练,客观详尽。"
                                )
                            }
                        )
                    ),
                    "evalConfig", CollUtils.mapOf(
                        "evalMode", "model",
                        "autoModelEvalConfig", CollUtils.mapOf(
                            "apiName", "ERNIE-xxx"
                        )
                    )
                ))
                .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,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
  //action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
  //data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
  const res = await consoleAction({base_api_route: '/v2/eval', action: 'CreateEvalTask', data: {
        "taskName": "管控API裁判员评估测试",
        "description": "管控API测试",
        "evalObjectType": "model",
        "evalObjectConfig": {
            "evalModelConfig": {
                "versionId": "ds-mwmk3mwxxxxxfk",
                "storageType": "sysStorage",
                "evalModelConfigList": [
                    {
                        "modelId": "amv-ttsxxxx1hp",
                        "promptTemplate": "你是一个好助手,请遵照{input}要求,以商务风格做出相应回复,要求语言简练,客观详尽。"
                    }
                ]
            }
        },
        "evalConfig": {
            "evalMode": "model",
            "autoModelEvalConfig": {
                "apiName": "ERNIE-xxx"
            }
        }
    }
  });    
    
  console.log(res);
}

main();

返回示例

{
     'requestId ':  'df3986c5-70bd-40d9-bedf-6db65ef137d8 ',
     'result ':  'ame-au4xxxxxv5 '
}
{
    "requestId": "df3986c5-70bd-40d9-bedf-6db65ef137d8",
    "result": "ame-au4xxxxxv5"
}
{
    "requestId": "df3986c5-70bd-40d9-bedf-6db65ef137d8",
    "result": "ame-au4xxxxxv5"
}
{
    requestId: 'df3986c5-70bd-40d9-bedf-6db65ef137d8',
    result: 'ame-au4xxxxxv5'
    
}

请求参数

名称 类型 必填 描述
taskName string 任务名称
description string 任务描述
evalObjectType string 评估的数据类型,可选值如下:
· inferDataset:推理数据集
· model:评估模型
evalObjectConfig object 评估对象配置信息
evalConfig object 评估参数配置

evalObjectConfig说明

  • 最多支持五个评估对象,五个对象的类型需要保持一致
名称 类型 必填 描述
evalModelConfig object 评估模型配置信息
evalInferDatasetConfig object 评估结果集配置信息

evalInferDatasetConfig说明

  • 评估结果集对象的配置信息
名称 类型 必填 描述
evalInferDatasetConfigList List<object> 评估子对象配置列表

evalInferDatasetConfigList说明

名称 类型 必填 描述
inferDatasetId string 推理结果集ID,通过以下方法获取该字段值,在控制台-数据管理-数据集-推理结果集页面,点击某个推理结果集详情,点击推理结果集信息页面查看,如下图所示:
image.png
isBaseline bool 启用GSB时,表示基准对象;若开启,要求待评估对象的数量为2

evalModelConfig说明

  • 评估模型对象的配置信息
名称 类型 必填 描述
versionId string 评估数据集版本的ID,说明:
(1)当评估对象是模型或者服务的时候,即evalObjectType=model,该字段必填
(2)可以通过以下任一方式获取该字段值:
· 方式一,通过调用创建数据集接口,返回的versionId字段获取
· 方式二,在控制台-数据管理-数据集-通用数据集查看,如下图所示:
image.png
storageType string 推理结果集存储类型,说明:
(1)仅针对模型评估,用于存储评估过程中产生的推理结果集
(2)可选值如下:
· BOS:对象存储BOS
· sysStorage:平台共享存储,不填默认是sysStorage
storagePath string 存储路径,说明:当存储类型为对象存储BOS时,即storageType=BOS,该字段必填,需提供完整存储路径
evalModelConfigList List<object> 评估子对象配置列表

evalModelConfigList说明

名称 类型 必填 描述
modelId string 模型版本ID,说明:
(1)通过以下方式获取该字段值,在控制台-模型调优-我的模型,点击某模型详情,在版本列表中查看,如下图所示
image.png
promptTemplate string 推理Prompt,说明:
(1)必须包含{input}
(2)示例:你是一个好助手,请遵照{input)要求,以商务风格做出相应回复,要求语言简练,客观详尽
params object 模型推理超参
isBaseline bool 启用GSB的时候,表示基准对象;若开启,要求待评估对象的数量为2

params说明

名称 类型 必填 描述
temperature float 温度,说明:
(1)较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定
(2)建议该参数和top_p只设置1个
(3)两位小数,范围[0.01, 1.00 ]
top_p float 多样性,说明:
(1)影响输出文本的多样性,取值越大,生成文本的多样性越强
(2)建议该参数和temperature只设置1个
(3)一位小数,取值范围[0.0, 1.0]
penalty_score float 重复惩罚,用通过对已生成的token增加惩罚,减少重复生成的现象。说明:
(1)值越大表示惩罚越大
(2)一位小数,取值范围[1.0, 2.0]
system string 模型人设字段
disable_search bool 是否强制关闭实时搜索功能,默认false,不关闭
enable_citation bool 搜索溯源,开启后有概率触发搜索溯源信息
top_k int 采样参数,在每轮token生成时,保留k个概率最高的token作为候选。说明:
(1)影响输出文本的多样性,取值越大,生成文本的多样性越强
(2)取值范围:正整数
stop string[] 推理停用词表

evalConfig说明

  • 如果evalMode为 "rule,model",需要同时提供 autoRuleEvalConfig 和 autoModelEvalConfig 两个配置。
名称 类型 必填 描述
evalMode string 评估模式,可选值如下 :
· rule:基于规则
· model:裁判员模型
· manual:人工评估
· rule,model:同时支持自动规则和自动裁判员评估
manualEvalConfig object 人工评估配置
autoRuleEvalConfig object 自动规则评估配置
autoModelEvalConfig object 自动裁判员评估配置

manualEvalConfig说明

名称 类型 必填 描述
evalDimension object[] 人工评估评价维度,说明:
(1)默认维度为满意度,不可删除
(2)用户可自行添加其他维度,最多添加4个维度
(3)当evalMode参数中包含manual,即存在人工评估模式时,此字段必填

evalDimension说明

名称 类型 必填 描述
dimension string 评价维度
description string 维度的描述

autoRuleEvalConfig说明

名称 类型 必填 描述
stopWordList string[] 基于规则的停用词表,说明:当evalMode参数中包含rule,即存在规则评估模式时,此字段有效,非必填

autoModelEvalConfig说明

名称 类型 必填 描述
promptParam object 裁判员评估打分模板配置,说明:
(1)当evalMode参数中包含model,即存在裁判员评估模式时,此字段有效
(2)用户若未指定则采用平台默认配置
apiName string 裁判员打分应用名称,裁判员打分应用默认使用EB3.5 和 EB4.0 的主线版本的预置服务进行评估,说明:
(1)当前仅开放两类名称供用户选填:
· EB3.5:ERNIE-Bot
· EB4.0:ERNIE-Bot-4.0
(2)不填默认是EB3.5

promptParam说明

  • 若用户不指定,则采用平台默认配置
名称 类型 必填 描述
metric string 指标内容,替换{metric}占位符
steps string 评分步骤,用于替换{steps}占位符
maxScore number 最高分,用于替换{max_score}占位符

返回参数

名称 类型 描述
requestId string 请求ID
code string 错误码,错误时返回
message string 错误信息,请求失败时返回
result string 评估任务id,请求成功时返回
上一篇
模型压缩
下一篇
查看模型评估任务列表