
# 新建评估器 - CreateOpsEvaluator
#### 功能介绍
该接口用于在系统中注册并创建一个新的评估器（Evaluator），通过定义具体的评估逻辑、判分准则及参数配置，为模型输出的质量度量提供标准化工具。
适用场景：
- 自定义评价体系构建：针对特定业务领域（如法律、医疗），创建符合行业规范的判分插件或规则脚本。
  
- 评测流程标准化：预设通用的评估模板（如准确率、相关性、毒性检测），实现多模型间的横向对比。
  
 
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-agentarts/agentarts_07_0003.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-agentarts/Permission.html)。
| 授权项                                    | 访问级别  | 资源类型（\*为必须）  | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| agentarts:evaluator:createOpsEvaluator | Write | evaluator \* | -   | -  | -      |
   
#### URI
POST /v1/ops/evaluators
#### 请求参数
表1请求Body参数 
| 参数              | 是否必选 | 参数类型                                                                                           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| evaluator_type  | 是    | Integer                                                                                        | **参数解释：** 评估器的核心执行模式。 **约束限制：** 不涉及。 **取值范围：** - 1: 模型评估器（模型评估器，基于大语言模型进行智能评判）   - 2: 代码评估器（代码评估器，基于预设脚本逻辑进行规则判定）   - 3: 自适应评估器    **默认取值：** 不涉及。 |
| turn_type       | 否    | String                                                                                         | **参数解释：** 评估器的轮次类型。 **约束限制：** 不涉及。 **取值范围：** - single: 单轮评估器   - multi: 多轮评估器    字符长度为0\~100个字符。 **默认取值：** 不涉及。                                                                                                                                 |
| current_version | 是    | [EvaluationOpsCurrentVersion] object | **参数解释：** 评估器的当前版本信息，引用EvaluationOpsCurrentVersion对象。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| name            | 是    | String                                                                                         | **参数解释：** 评估器的业务名称。 **约束限制：** 不涉及。 **取值范围：** 由中英文、数字、下划线（_）、中划线（-）组成的字符串，长度为0\~10000个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| description     | 是    | String                                                                                         | **参数解释：** 对该评估器的功能逻辑和判定准则的详细文字补充。 **约束限制：** 不涉及。 **取值范围：** 任意字符串，长度为0\~10000个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| tags            | 否    | Array of [OpsTmsTag] objects                           | **参数解释：** 创建评估器时绑定的TMS标签列表。数组内每个元素为OpsTmsTag对象，包含标签的键值信息。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
 表2EvaluationOpsCurrentVersion 
| 参数                | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| description       | 否    | String | **参数解释：** 当前版本的详细描述信息。 **约束限制：** 长度为0到10000个字符。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                      |
| evaluator_content | 否    | Object | **参数解释：** 评估器的核心配置JSON内容，包含评估逻辑、评分规则等配置项。 **约束限制：** 符合评估器配置JSON结构定义。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| version           | 否    | String | **参数解释：** 评估器的版本标识符。 **约束限制：** 0到10000字符。 **取值范围：** 符合语义化版本格式的字符串，如"v1.0.0"。 **默认取值：** 不涉及。        |
   
 表3OpsTmsTag 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| key   | 否    | String | **参数解释：** 标签键名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                    |
| value | 否    | String | **参数解释：** 标签值，存储该标签键对应的具体内容。 **约束限制：** 不涉及。 **取值范围：** 长度0-256个字符。 **默认取值：** 不涉及。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                            |
|:---|:---|:---|
| evaluator_id | String | **参数解释：** 成功创建后生成的评估器唯一标识符。可通过调用查询评估器列表接口获取。 **取值范围：** 不涉及。 |
   
**状态码：400**
表5响应Body参数 
| 参数                            | 参数类型                                                                            | 描述                                                                                                                                                                                 |
|:---|:---|:---|
| error_code                    | String                                                                          | **参数解释：** 系统定义的标准化错误代码。 **取值范围：** 业务异常编码字符串。                     |
| error_msg                     | String                                                                          | **参数解释：** 对错误的详细描述，包含异常原因或解决建议。 **取值范围：** 字符长度2-512，任意文本内容。      |
| encoded_authorization_message | String                                                                          | **参数解释：** 编码后的授权信息，用于客户端解析权限问题。 **取值范围：** Base64编码的字符串。          |
| details                       | Array of [OpsErrorDetail] objects | **参数解释：** 错误详情列表，包含多个子错误的详细信息。 **取值范围：** 不涉及。                    |
| request_id                    | String                                                                          | **参数解释：** 请求的唯一标识符，用于问题排查和链路追踪。 **取值范围：** 符合通用唯一识别码(UUID)标准的字符串。 |
   
 表6OpsErrorDetail 
| 参数         | 参数类型   | 描述                                                                                                                                                            |
|:---|:---|:---|
| error_code | String | **参数解释：** 子错误的标准化错误代码。 **取值范围：** 业务异常编码字符串。 |
| error_msg  | String | **参数解释：** 对子错误的详细描述。 **取值范围：** 任意文本内容。      |
   
**状态码：401**
表7响应Body参数 
| 参数                            | 参数类型                                                                              | 描述                                                                                                                                                                                 |
|:---|:---|:---|
| error_code                    | String                                                                            | **参数解释：** 系统定义的标准化错误代码。 **取值范围：** 业务异常编码字符串。                     |
| error_msg                     | String                                                                            | **参数解释：** 对错误的详细描述，包含异常原因或解决建议。 **取值范围：** 字符长度2-512，任意文本内容。      |
| encoded_authorization_message | String                                                                            | **参数解释：** 编码后的授权信息，用于客户端解析权限问题。 **取值范围：** Base64编码的字符串。          |
| details                       | Array of [OpsErrorDetail] objects | **参数解释：** 错误详情列表，包含多个子错误的详细信息。 **取值范围：** 不涉及。                    |
| request_id                    | String                                                                            | **参数解释：** 请求的唯一标识符，用于问题排查和链路追踪。 **取值范围：** 符合通用唯一识别码(UUID)标准的字符串。 |
   
 表8OpsErrorDetail 
| 参数         | 参数类型   | 描述                                                                                                                                                            |
|:---|:---|:---|
| error_code | String | **参数解释：** 子错误的标准化错误代码。 **取值范围：** 业务异常编码字符串。 |
| error_msg  | String | **参数解释：** 对子错误的详细描述。 **取值范围：** 任意文本内容。      |
   
**状态码：403**
表9响应Body参数 
| 参数                            | 参数类型                                                                              | 描述                                                                                                                                                                                 |
|:---|:---|:---|
| error_code                    | String                                                                            | **参数解释：** 系统定义的标准化错误代码。 **取值范围：** 业务异常编码字符串。                     |
| error_msg                     | String                                                                            | **参数解释：** 对错误的详细描述，包含异常原因或解决建议。 **取值范围：** 字符长度2-512，任意文本内容。      |
| encoded_authorization_message | String                                                                            | **参数解释：** 编码后的授权信息，用于客户端解析权限问题。 **取值范围：** Base64编码的字符串。          |
| details                       | Array of [OpsErrorDetail] objects | **参数解释：** 错误详情列表，包含多个子错误的详细信息。 **取值范围：** 不涉及。                    |
| request_id                    | String                                                                            | **参数解释：** 请求的唯一标识符，用于问题排查和链路追踪。 **取值范围：** 符合通用唯一识别码(UUID)标准的字符串。 |
   
 表10OpsErrorDetail 
| 参数         | 参数类型   | 描述                                                                                                                                                            |
|:---|:---|:---|
| error_code | String | **参数解释：** 子错误的标准化错误代码。 **取值范围：** 业务异常编码字符串。 |
| error_msg  | String | **参数解释：** 对子错误的详细描述。 **取值范围：** 任意文本内容。      |
   
**状态码：429**
表11响应Body参数 
| 参数                            | 参数类型                                                                              | 描述                                                                                                                                                                                 |
|:---|:---|:---|
| error_code                    | String                                                                            | **参数解释：** 系统定义的标准化错误代码。 **取值范围：** 业务异常编码字符串。                     |
| error_msg                     | String                                                                            | **参数解释：** 对错误的详细描述，包含异常原因或解决建议。 **取值范围：** 字符长度2-512，任意文本内容。      |
| encoded_authorization_message | String                                                                            | **参数解释：** 编码后的授权信息，用于客户端解析权限问题。 **取值范围：** Base64编码的字符串。          |
| details                       | Array of [OpsErrorDetail] objects | **参数解释：** 错误详情列表，包含多个子错误的详细信息。 **取值范围：** 不涉及。                    |
| request_id                    | String                                                                            | **参数解释：** 请求的唯一标识符，用于问题排查和链路追踪。 **取值范围：** 符合通用唯一识别码(UUID)标准的字符串。 |
   
 表12OpsErrorDetail 
| 参数         | 参数类型   | 描述                                                                                                                                                            |
|:---|:---|:---|
| error_code | String | **参数解释：** 子错误的标准化错误代码。 **取值范围：** 业务异常编码字符串。 |
| error_msg  | String | **参数解释：** 对子错误的详细描述。 **取值范围：** 任意文本内容。      |
   
**状态码：500**
表13响应Body参数 
| 参数                            | 参数类型                                                                              | 描述                                                                                                                                                                                 |
|:---|:---|:---|
| error_code                    | String                                                                            | **参数解释：** 系统定义的标准化错误代码。 **取值范围：** 业务异常编码字符串。                     |
| error_msg                     | String                                                                            | **参数解释：** 对错误的详细描述，包含异常原因或解决建议。 **取值范围：** 字符长度2-512，任意文本内容。      |
| encoded_authorization_message | String                                                                            | **参数解释：** 编码后的授权信息，用于客户端解析权限问题。 **取值范围：** Base64编码的字符串。          |
| details                       | Array of [OpsErrorDetail] objects | **参数解释：** 错误详情列表，包含多个子错误的详细信息。 **取值范围：** 不涉及。                    |
| request_id                    | String                                                                            | **参数解释：** 请求的唯一标识符，用于问题排查和链路追踪。 **取值范围：** 符合通用唯一识别码(UUID)标准的字符串。 |
   
 表14OpsErrorDetail 
| 参数         | 参数类型   | 描述                                                                                                                                                            |
|:---|:---|:---|
| error_code | String | **参数解释：** 子错误的标准化错误代码。 **取值范围：** 业务异常编码字符串。 |
| error_msg  | String | **参数解释：** 对子错误的详细描述。 **取值范围：** 任意文本内容。      |
   
#### 请求示例
创建一个新的评估器
```
POST https://api.example.com/v1/ops/evaluators
{
  "evaluator_type" : 1,
  "current_version" : {
    "description" : "description",
    "evaluator_content" : { },
    "version" : "v1.0.0"
  },
  "name" : "正确性评估",
  "description" : "评估提交的内容是否正确、准确、真实，并完整覆盖核心要点。",
  "tags" : [ {
    "key" : "env",
    "value" : "prod"
  }, {
    "key" : "team",
    "value" : "ai-platform"
  } ]
}
```
#### 响应示例
**状态码：200**
返回创建评估器成功
```
{
  "evaluator_id" : "7ebc91e2-2380-4072-a503-6b20888abb08"
}
```
**状态码：400**
请求参数错误
```
{
  "error_code" : "AgentArts.03400001",
  "error_msg" : "请求错误"
}
```
**状态码：401**
认证失败
```
{
  "error_code" : "AgentArts.100004010",
  "error_msg" : "unauthorized"
}
```
**状态码：403**
鉴权失败
```
{
  "error_code" : "AgentArts.100004030",
  "error_msg" : "forbidden"
}
```
**状态码：429**
请求过于频繁
```
{
  "error_code" : "AgentArts.100004290",
  "error_msg" : "请求过于频繁"
}
```
**状态码：500**
系统错误
```
{
  "error_code" : "AgentArts.03500001",
  "error_msg" : "internal error"
}
```
#### 状态码
| 状态码 | 描述        |
|:---|:---|
| 200 | 返回创建评估器成功 |
| 400 | 请求参数错误    |
| 401 | 认证失败      |
| 403 | 鉴权失败      |
| 429 | 请求过于频繁    |
| 500 | 系统错误      |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentarts/ErrorCode.html)。
