# 更新评估器内置模型类型 - UpdateOpsEvaluatorModelType
#### 功能介绍
该接口用于更新评估器使用的内置模型类型，支持在系统内置模型（builtin）与自定义模型（custom_model）之间切换。
适用场景：
- 当需要在自定义模型和系统模型之前进行切换时调用该接口。
  
 
#### 调用方法
请参见[如何调用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:updateOpsEvaluatorModelType | Write | customModelProvider | g:ResourceTag/\<tag-key\>                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | -  | -      |
| agentarts:evaluator:updateOpsEvaluatorModelType | Write | -                   | - agentarts:AllowEgressPublicAccess   - agentarts:ModelProviderType    | -  | -      |
   
#### URI
PUT /v1/ops/evaluators/model-type
#### 请求参数
表1请求Body参数 
| 参数           | 是否必选 | 参数类型                                                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| model_type   | 是    | String                                                                                                      | **参数解释：** 评估器使用的模型类型。 **约束限制：** 不涉及。 **取值范围：** - builtin：原有系统模型   - custom_model：自定义模型    **默认取值：** 不涉及。 |
| custom_model | 否    | [OpsEvaluatorCustomModelConfig] object | **参数解释：** 自定义模型的详细配置。 **约束限制：** 当model_type取值为custom_model时，model_provider_id、model_id、model_proxy_id、security_group_ids、vpc_id、subnet_id为必填字段，model_provider_name、gateway_name、model_name为可选字段。security_group_ids可为空集合，数量0\~5。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                        |
   
 表2OpsEvaluatorCustomModelConfig 
| 参数                  | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| model_provider_id   | 是    | String           | **参数解释：** 模型提供商ID。可通过McpGateway控制台或调用查询模型提供商列表接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                     |
| model_id            | 是    | String           | **参数解释：** McpGateway上注册的模型ID。可通过McpGateway控制台或调用查询模型列表接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                             |
| model_proxy_id      | 是    | String           | **参数解释：** McpGateway上model_proxy网关ID，即调用GET /v1/core/custom-model-providers/{custom_model_provider_id}接口返回的gateways中agent_gateway_id字段的值，表示客户选择的模型代理ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| security_group_ids  | 是    | Array of strings | **参数解释：** 安全组ID列表，用于sandbox-proxy私网访问。可通过VPC控制台或调用查询安全组列表接口获取。 **约束限制：** 可为空集合，数量0\~5。数组内每个元素（安全组ID）为长度0\~64个字符的字符串。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                   |
| vpc_id              | 是    | String           | **参数解释：** 模型代理使用的具体VPC信息。可通过VPC服务查询VPC列表获取VPC ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                       |
| subnet_id           | 是    | String           | **参数解释：** 模型代理使用的具体VPC子网信息。可通过VPC服务查询子网列表获取子网ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                        |
| model_provider_name | 否    | String           | **参数解释：** 自定义模型提供商名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                   |
| gateway_name        | 否    | String           | **参数解释：** 自定义模型代理（网关）名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                |
| model_name          | 否    | String           | **参数解释：** 自定义模型名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                      |
   
#### 响应参数
**状态码：204**
无
**状态码：400**
表3响应Body参数 
| 参数                            | 参数类型                                                                                     | 描述                                                                                                                                                                                                            |
|:---|:---|:---|
| error_code                    | String                                                                                   | **参数解释：** 系统定义的标准化错误代码。 **取值范围：** 业务异常编码字符串。                     |
| error_msg                     | String                                                                                   | **参数解释：** 对错误的详细描述，包含异常原因或解决建议。 **取值范围：** 字符长度2-512，任意文本内容。      |
| encoded_authorization_message | String                                                                                   | **参数解释：** 编码后的授权信息，用于客户端解析权限问题。 **取值范围：** Base64编码的字符串。          |
| details                       | Array of [OpsErrorDetail] objects | **参数解释：** 错误详情列表，包含多个子错误的详细信息。 **取值范围：** 不涉及。                    |
| request_id                    | String                                                                                   | **参数解释：** 请求的唯一标识符，用于问题排查和链路追踪。 **取值范围：** 符合通用唯一识别码(UUID)标准的字符串。 |
   
 表4OpsErrorDetail 
| 参数         | 参数类型   | 描述                                                                                                                                                                                            |
|:---|:---|:---|
| error_code | String | **参数解释：** 子错误的标准化错误代码。 **取值范围：** 业务异常编码字符串。      |
| error_msg  | String | **参数解释：** 对子错误的详细描述。 **取值范围：** 字符长度2-512，任意文本内容。 |
   
**状态码：401**
表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 | **参数解释：** 对子错误的详细描述。 **取值范围：** 字符长度2-512，任意文本内容。 |
   
**状态码：403**
表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 | **参数解释：** 对子错误的详细描述。 **取值范围：** 字符长度2-512，任意文本内容。 |
   
**状态码：429**
表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 | **参数解释：** 对子错误的详细描述。 **取值范围：** 字符长度2-512，任意文本内容。 |
   
**状态码：500**
表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 | **参数解释：** 对子错误的详细描述。 **取值范围：** 字符长度2-512，任意文本内容。 |
   
#### 请求示例
将评估器使用的模型类型更新为自定义模型
```
PUT https://api.example.com/v1/ops/evaluators/model-type
{
  "model_type" : "custom_model",
  "custom_model" : {
    "model_provider_id" : "provider-123456",
    "model_id" : "model-123456",
    "model_proxy_id" : "gateway-123456",
    "security_group_ids" : [ "ade111ca-843f-4e20-a9a4-01a9aa22a3f9" ],
    "vpc_id" : "vpc-123456",
    "subnet_id" : "subnet-123456"
  }
}
```
#### 响应示例
**状态码：204**
```
无
```
**状态码：400**
```
{
  "error_code" : "AgentArts.03400001",
  "error_msg" : "请求错误"
}
```
**状态码：401**
```
{
  "error_code" : "AgentArts.100004010",
  "error_msg" : "unauthorized"
}
```
**状态码：403**
```
{
  "error_code" : "AgentArts.100004030",
  "error_msg" : "forbidden",
  "encoded_authorization_message" : "",
  "details" : [ {
    "error_code" : "AgentArts.100004030",
    "error_msg" : "forbidden"
  } ],
  "request_id" : "a3f5e2b1-4c6d-4e8f-9a2b-1c3d5e7f9a2b"
}
```
**状态码：429**
```
{
  "error_code" : "AgentArts.100004290",
  "error_msg" : "请求过于频繁"
}
```
**状态码：500**
```
{
  "error_code" : "AgentArts.03500001",
  "error_msg" : "internal error"
}
```
#### 状态码
| 状态码 | 描述        |
|:---|:---|
| 204 | 更新成功，无返回体 |
| 400 | 请求参数错误    |
| 401 | 认证失败      |
| 403 | 鉴权失败      |
| 429 | 请求过于频繁    |
| 500 | 系统错误      |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentarts/ErrorCode.html)。
