
# 智能生成G-Eval评估步骤 - GenerateOpsEvaluatorEvaluationSteps
#### 功能介绍
该接口用于根据用户提供的规则描述(criteria)，利用大模型自动生成结构化的评估步骤。
通过自适应的方式降低用户编写评估提示词的门槛，提升评估器配置效率。
**约束限制：**
- criteria长度必须在1到20000之间。
  
- criteria必须包含{{}}格式的变量。
  
- 变量需用双大括号包裹。
  
**典型应用场景：**
用户在创建自定义评估器时，只需输入自然语言描述的规则描述，系统即可自动生成规范的评估步骤。
#### 调用方法
请参见[如何调用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:generateOpsEvaluatorEvaluationSteps | Write | -           | -   | -  | -      |
   
#### URI
POST /v1/ops/evaluators/evaluation-steps/generate
#### 请求参数
表1请求Body参数 
| 参数           | 是否必选 | 参数类型                                                                                                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| criteria     | 是    | String                                                                                                                                                | **参数解释：** 评估标准描述，用于告知模型需要评估的维度和判断依据。 **约束限制：** 不涉及。 **取值范围：** 符合自然语言规范的文本，支持中英文。长度为10到2000个字符，必须包含至少一个用双大括号{{}}包裹的变量。 **默认取值：** 不涉及。 |
| model_config | 是    | [OpsGenerateEvaluatorEvaluationStepsModelConfig] object | **参数解释：** 模型配置对象，引用OpsGenerateEvaluatorEvaluationStepsModelConfig对象。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                              |
   
 表2OpsGenerateEvaluatorEvaluationStepsModelConfig 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| model_id    | 是    | String  | **参数解释：** 用于生成评估步骤的大模型标识符。可通过调用获取模型列表接口获取。 **约束限制：** 不涉及。 **取值范围：** 1到128个字符，支持英文、数字、点号（.）、下划线（_）、中划线（-）和冒号（:）。 **默认取值：** 不涉及。 |
| max_tokens  | 否    | Integer | **参数解释：** 模型生成的最大token数量，用于控制输出长度。 **约束限制：** 不涉及。 **取值范围：** 1到8192之间的整数。 **默认取值：** 1000。                                       |
| temperature | 否    | Double  | **参数解释：** 温度参数，控制模型输出的随机性和创造性。值越低输出越确定，值越高输出越多样。 **约束限制：** 不涉及。 **取值范围：** 0到1之间的浮点数。 **默认取值：** 0.1。                            |
| top_p       | 否    | Double  | **参数解释：** 核采样参数，控制模型从概率累积分布中采样的范围。 **约束限制：** 不涉及。 **取值范围：** 0到1之间的浮点数。 **默认取值：** 0.3。                                          |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数               | 参数类型             | 描述                                                                                                 |
|:---|:---|:---|
| evaluation_steps | Array of strings | **参数解释：** 生成的评估步骤列表，数组元素为String类型的评估步骤描述文本。 |
   
**状态码：400**
表4响应Body参数 
| 参数                            | 参数类型                                                                                             | 描述                                                                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                           | **参数解释：** 系统定义的标准化错误代码。 **取值范围：** 业务异常编码字符串。                     |
| error_msg                     | String                                                                                           | **参数解释：** 对错误的详细描述，包含异常原因或解决建议。 **取值范围：** 字符长度2-512，任意文本内容。      |
| encoded_authorization_message | String                                                                                           | **参数解释：** 编码后的授权信息，用于客户端解析权限问题。 **取值范围：** Base64编码的字符串。          |
| details                       | Array of [OpsErrorDetail] objects | **参数解释：** 错误详情列表，包含多个子错误的详细信息。 **取值范围：** 不涉及。                    |
| request_id                    | String                                                                                           | **参数解释：** 请求的唯一标识符，用于问题排查和链路追踪。 **取值范围：** 符合通用唯一识别码(UUID)标准的字符串。 |
   
 表5OpsErrorDetail 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                               |
|:---|:---|:---|
| error_code | String | **参数解释：** 子错误的标准化错误代码。 **取值范围：** 业务异常编码字符串。 |
| error_msg  | String | **参数解释：** 对子错误的详细描述。 **取值范围：** 任意文本内容。      |
   
**状态码：422**
表6响应Body参数 
| 参数                            | 参数类型                                                                                               | 描述                                                                                                                                                                                                                                    |
|:---|:---|:---|
| error_code                    | String                                                                                             | **参数解释：** 系统定义的标准化错误代码。 **取值范围：** 业务异常编码字符串。                     |
| error_msg                     | String                                                                                             | **参数解释：** 对错误的详细描述，包含异常原因或解决建议。 **取值范围：** 字符长度2-512，任意文本内容。      |
| encoded_authorization_message | String                                                                                             | **参数解释：** 编码后的授权信息，用于客户端解析权限问题。 **取值范围：** Base64编码的字符串。          |
| details                       | Array of [OpsErrorDetail] objects | **参数解释：** 错误详情列表，包含多个子错误的详细信息。 **取值范围：** 不涉及。                    |
| request_id                    | String                                                                                             | **参数解释：** 请求的唯一标识符，用于问题排查和链路追踪。 **取值范围：** 符合通用唯一识别码(UUID)标准的字符串。 |
   
 表7OpsErrorDetail 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                               |
|:---|:---|:---|
| error_code | String | **参数解释：** 子错误的标准化错误代码。 **取值范围：** 业务异常编码字符串。 |
| error_msg  | String | **参数解释：** 对子错误的详细描述。 **取值范围：** 任意文本内容。      |
   
#### 请求示例
```
POST https://api.example.com/v1/ops/evaluators/evaluation-steps/generate
{
  "criteria" : "评估{{actual_output}}是否准确回答了{{input}}，并与{{reference_output}}进行对比",
  "model_config" : {
    "model_id" : "deepseek-v3.2",
    "max_tokens" : 1000,
    "temperature" : 0.1,
    "top_p" : 0.3
  }
}
```
#### 响应示例
**状态码：200**
生成成功
```
{
  "evaluation_steps" : [ "阅读 input，明确用户提出的问题和期望回答范围。", "阅读 retrieval_context，提取可用于支持回答的关键事实。", "检查 actual_output 中的核心结论是否能被 retrieval_context 明确支持。" ]
}
```
**状态码：400**
请求参数错误
```
{
  "error_code" : "EVAL.40000001",
  "error_msg" : "criteria 长度必须在1到2000字符之间",
  "request_id" : "a3f5e2b1-4c6d-4e8f-9a2b-1c3d5e7f9a2b"
}
```
**状态码：422**
模型调用失败
```
{
  "error_code" : "EVAL.60000001",
  "error_msg" : "生成评估步骤失败",
  "request_id" : "b4f6e3c2-5d7e-4f9a-1b3c-2d4e6f8a1b3c"
}
```
#### 状态码
| 状态码 | 描述     |
|:---|:---|
| 200 | 生成成功   |
| 400 | 请求参数错误 |
| 422 | 模型调用失败 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentarts/ErrorCode.html)。
