创建模型评估任务
更新时间:2025-07-03
功能介绍
用于创建模型评估任务。
使用说明
本文API支持通过Go SDK、Java SDK和Node.js SDK调用,调用流程请参考SDK安装及使用流程。
权限说明
调用本文API,需符合以下权限要求,权限介绍及分配,请查看角色与权限控制列表、账号创建与权限分配。需具有以下任一权限:
- 完全控制千帆大模型平台的权限:QianfanFullControlAccessPolicy
- 完全控制千帆大模型平台模型调优的权限:QianfanModelTuningFullControlAccessPolicy
SDK调用
调用示例
1import os
2from qianfan  import resources
3
4# 通过环境变量初始化认证信息
5# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
6os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
7os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"
8
9resp = resources.console.utils.call_action(
10    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
11    "/v2/eval", 
12    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
13    "CreateEvalTask", 
14    # 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
15    {
16        "taskName": "管控API裁判员评估测试",
17        "description": "管控API测试",
18        "evalObjectType": "model",
19        "evalObjectConfig": {
20            "evalModelConfig": {
21                "versionId": "ds-mwmk3mwxxxxxfk",
22                "storageType": "sysStorage",
23                "evalModelConfigList": [
24                    {
25                        "modelId": "amv-ttsxxxx1hp",
26                        "promptTemplate": "你是一个好助手,请遵照{input}要求,以商务风格做出相应回复,要求语言简练,客观详尽。"
27                    }
28                ]
29            }
30        },
31        "evalConfig": {
32            "evalMode": "model",
33            "autoModelEvalConfig": {
34                "apiName": "ERNIE-xxx"
35            }
36        }
37    }
38)
39print(resp.body)1package main
2
3import (
4    "context"
5    "fmt"
6    "os"
7
8    "github.com/baidubce/bce-qianfan-sdk/go/qianfan"
9)
10
11func main() {
12     // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
13    os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
14    os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
15    
16    ca := qianfan.NewConsoleAction()
17    
18    res, err := ca.Call(context.TODO(),
19    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
20    "/v2/eval",
21    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
22    "CreateEvalTask",
23    // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
24    map[string]interface{}{
25        "taskName": "管控API裁判员评估测试",
26        "description": "管控API测试",
27        "evalObjectType": "model",
28        "evalObjectConfig": map[string]any{
29            "evalModelConfig": map[string]any{
30                "versionId": "ds-mwmk3mwxxxxxfk",
31                "storageType": "sysStorage",
32                "evalModelConfigList": []map[string]any{
33                    {
34                        "modelId": "amv-ttsxxxx1hp",
35                        "promptTemplate": "你是一个好助手,请遵照{input}要求,以商务风格做出相应回复,要求语言简练,客观详尽。",
36                    },
37                },
38            },
39        },
40        "evalConfig": map[string]any{
41            "evalMode": "model",
42            "autoModelEvalConfig": map[string]any{
43                "apiName": "ERNIE-xxx",
44            },
45        },
46    })
47    if err != nil {
48        panic(err)
49    }
50    fmt.Println(string(res.Body))
51    
52}1import com.baidubce.qianfan.Qianfan;
2import com.baidubce.qianfan.model.console.ConsoleResponse;
3import com.baidubce.qianfan.util.CollUtils;
4import com.baidubce.qianfan.util.Json;
5import java.util.Map;
6
7public class Dome {
8    public static void main(String args[]){
9        // 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
10        Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
11        
12        ConsoleResponse<Map<String, Object>> response = qianfan.console()
13                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
14                .route("/v2/eval")
15                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
16                .action("CreateEvalTask")
17                // 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
18                // Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
19                // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
20                .body(CollUtils.mapOf(
21                    "taskName", "管控API裁判员评估测试",
22                    "description", "管控API测试",
23                    "evalObjectType", "model",
24                    "evalObjectConfig", CollUtils.mapOf(
25                        "evalModelConfig", CollUtils.mapOf(
26                            "versionId", "ds-mwmk3mwxxxxxfk",
27                            "storageType", "sysStorage",
28                            "evalModelConfigList",new Map[] {
29                                CollUtils.mapOf(
30                                    "modelId", "amv-ttsxxxx1hp",
31                                    "promptTemplate", "你是一个好助手,请遵照{input}要求,以商务风格做出相应回复,要求语言简练,客观详尽。"
32                                )
33                            }
34                        )
35                    ),
36                    "evalConfig", CollUtils.mapOf(
37                        "evalMode", "model",
38                        "autoModelEvalConfig", CollUtils.mapOf(
39                            "apiName", "ERNIE-xxx"
40                        )
41                    )
42                ))
43                .execute();
44
45        System.out.println(Json.serialize(response));
46    }
47}1import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";
2
3// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
4setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
5setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');
6
7async function main() {
8  //base_api_route:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
9  //action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
10  //data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
11  const res = await consoleAction({base_api_route: '/v2/eval', action: 'CreateEvalTask', data: {
12        "taskName": "管控API裁判员评估测试",
13        "description": "管控API测试",
14        "evalObjectType": "model",
15        "evalObjectConfig": {
16            "evalModelConfig": {
17                "versionId": "ds-mwmk3mwxxxxxfk",
18                "storageType": "sysStorage",
19                "evalModelConfigList": [
20                    {
21                        "modelId": "amv-ttsxxxx1hp",
22                        "promptTemplate": "你是一个好助手,请遵照{input}要求,以商务风格做出相应回复,要求语言简练,客观详尽。"
23                    }
24                ]
25            }
26        },
27        "evalConfig": {
28            "evalMode": "model",
29            "autoModelEvalConfig": {
30                "apiName": "ERNIE-xxx"
31            }
32        }
33    }
34  });    
35    
36  console.log(res);
37}
38
39main();返回示例
1{
2     'requestId ':  'df3986c5-70bd-40d9-bedf-6db65ef137d8 ',
3     'result ':  'ame-au4xxxxxv5 '
4}1{
2    "requestId": "df3986c5-70bd-40d9-bedf-6db65ef137d8",
3    "result": "ame-au4xxxxxv5"
4}1{
2    "requestId": "df3986c5-70bd-40d9-bedf-6db65ef137d8",
3    "result": "ame-au4xxxxxv5"
4}1{
2    requestId: 'df3986c5-70bd-40d9-bedf-6db65ef137d8',
3    result: 'ame-au4xxxxxv5'
4    
5}请求参数
| 名称 | 类型 | 必填 | 描述 | 
|---|---|---|---|
| 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,通过以下方法获取该字段值,在控制台-数据管理-数据集-推理结果集页面,点击某个推理结果集详情,点击推理结果集信息页面查看,如下图所示:  | 
| isBaseline | bool | 否 | 启用GSB时,表示基准对象;若开启,要求待评估对象的数量为2 | 
evalModelConfig说明
- 评估模型对象的配置信息
| 名称 | 类型 | 必填 | 描述 | 
|---|---|---|---|
| versionId | string | 否 | 评估数据集版本的ID,说明: (1)当评估对象是模型或者服务的时候,即evalObjectType=model,该字段必填 (2)可以通过以下任一方式获取该字段值: · 方式一:通过调用创建数据集接口,返回的versionId字段获取 · 方式二:在控制台-数据管理-数据集-通用数据集查看,如下图所示:  | 
| storageType | string | 否 | 推理结果集存储类型,说明: (1)仅针对模型评估,用于存储评估过程中产生的推理结果集 (2)可选值如下: · BOS:对象存储BOS · sysStorage:平台共享存储,不填默认是sysStorage | 
| storagePath | string | 否 | 存储路径,说明:当存储类型为对象存储BOS时,即storageType=BOS,该字段必填,需提供完整存储路径 | 
| evalModelConfigList | List<object> | 是 | 评估子对象配置列表 | 
evalModelConfigList说明
| 名称 | 类型 | 必填 | 描述 | 
|---|---|---|---|
| modelId | string | 是 | 模型版本ID,说明: (1)通过以下方式获取该字段值,在控制台-模型调优-我的模型,点击某模型详情,在版本列表中查看,如下图所示  | 
| 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 | List<string> | 否 | 推理停用词表 | 
evalConfig说明
- 如果evalMode为 "rule,model",需要同时提供 autoRuleEvalConfig 和 autoModelEvalConfig 两个配置。
| 名称 | 类型 | 必填 | 描述 | 
|---|---|---|---|
| evalMode | string | 是 | 评估模式,可选值如下 : · rule:基于规则 · model:裁判员模型 · manual:人工评估 · rule,model:同时支持自动规则和自动裁判员评估 | 
| manualEvalConfig | object | 否 | 人工评估配置 | 
| autoRuleEvalConfig | object | 否 | 自动规则评估配置 | 
| autoModelEvalConfig | object | 否 | 自动裁判员评估配置 | 
manualEvalConfig说明
| 名称 | 类型 | 必填 | 描述 | 
|---|---|---|---|
| evalDimension | List<object> | 是 | 人工评估评价维度,说明: (1)默认维度为满意度,不可删除 (2)用户可自行添加其他维度,最多添加4个维度 (3)当evalMode参数中包含manual,即存在人工评估模式时,此字段必填 | 
evalDimension说明
| 名称 | 类型 | 必填 | 描述 | 
|---|---|---|---|
| dimension | string | 是 | 评价维度 | 
| description | string | 否 | 维度的描述 | 
autoRuleEvalConfig说明
| 名称 | 类型 | 必填 | 描述 | 
|---|---|---|---|
| stopWordList | List<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,请求成功时返回 | 
