
# 新增模型 - CreateModels
#### 功能介绍
新增配置模型，包括模型名称、模型描述、模型endpoint、模型配置。
**注意：配置第三方LLM服务时，请确保模型输出内容安全合规。**
embedding模型与缓存生成模型之间存在强关联关系。在创建embedding模型时，系统会配套生成对应的缓存生成模型，若模型配置信息因意外删除，需根据相同的配置参数进行重建。例如，若embedding模型的名称为pangu_embedding，则其对应的缓存生成模型名称为pangu_embedding_faq。
在创建知识库时，需要依赖embedding模型（pangu_embedding）与缓存生成模型（pangu_embedding_faq）。若缓存生成模型pangu_embedding_faq不存在或未授权，系统将抛出异常。此时，需由管理员检查pangu_embedding_faq模型是否存在或确认相关权限是否已授予知识库使用者。若模型缺失，需补充创建相应的pangu_embedding_faq模型；若权限不足，需为知识库使用者授予pangu_embedding_faq相关权限。
#### URI
POST /v1/{project_id}/applications/{application_id}/uni-search/models
表1路径参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| project_id     | 是    | String | **参数解释：** 项目ID，获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-koosearch/koosearch_06_0022.html)。 **约束限制：** 不涉及 **取值范围：** 1～64个字符，只能包含数字、字母、中划线和下划线，且必须以字母开头。 **默认取值：** 不涉及 |
| application_id | 是    | String | **参数解释：** 应用ID，获取方法请参见[获取应用ID](https://support.huaweicloud.com/api-koosearch/koosearch_06_0021.html)。 **约束限制：** 字符串 **取值范围：** 1～64个字符，只能包含数字、字母、中划线和下划线，且必须以字母开头。 **默认取值：** 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 接口鉴权使用的Token，Token获取方式参考：[获取IAM用户Token](https://support.huaweicloud.com/api-koosearch/koosearch_06_0009.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数             | 是否必选 | 参数类型                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| name           | 是    | String                                                               | **参数解释：** 模型名称。 **约束限制：** embedding模型长度限制为28位， 其他模型长度为32位 **取值范围：** 长度在1-32之间，且只能包含字母、数字、下划线和短横线，且必须以字母或数字开头。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| alias          | 否    | String                                                               | **参数解释：** 请求模型需要的name。 **约束限制：** 不涉及 **取值范围：** 不能为空，长度在1-32之间，且只能包含字母、数字、点、短横线、冒号和斜线，且必须以字母或数字开头。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| detail         | 是    | String                                                               | **参数解释：** 模型详情。 **约束限制：** 不涉及 **取值范围：** 不能为空，长度在1-256之间，且只能包含任何字符。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| endpoint       | 是    | String                                                               | **参数解释：** 模型端点。 **约束限制：** 不涉及 **取值范围：** 不能为空，长度在1-512之间，且只能包含任何字符。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| type           | 是    | String                                                               | **参数解释：** 模型类型。 **约束限制：** 不涉及 **取值范围：** - pangu_chat 盘古对话模型   - pangu_llm 盘古裸机模型   - embedding 向量模型   - query2query query2query模型   - rerank 精排模型   - search_plan 搜索规划模型   - llm 原生模型   - ai_engine 联网增强   - search_engine 搜索引擎   - mllm 多模态模型    **默认取值：** 不涉及 |
| interface_type | 否    | String                                                               | **参数解释：** 接口类型 **约束限制：** 不涉及 **取值范围：** - default：内置   - open_ai：openAi接口规范    **默认取值：** default                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| extend_config  | 是    | [ModelExtendConfig] object | **参数解释：** 模型的自定义配置，json格式。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| project_id     | 否    | String                                                               | **参数解释：** 项目ID。 **约束限制：** 不涉及 **取值范围：** 非必须，必须为1-64位的字母、数字、下划线或短横线。 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
 表4ModelExtendConfig 
| 参数                  | 是否必选 | 参数类型                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| iam_info            | 是    | [IamInfo] object           | **参数解释：** iam鉴权委托信息。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                    |
| custom_header       | 否    | map\<string, object\>                                      | **参数解释：** 扩展请求头。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                        |
| deployment_id       | 否    | String                                                     | **参数解释：** 模型的deployment_id信息。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                           |
| vector_config       | 否    | [VectorConfig] object | **参数解释：** 向量模型的相关配置。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                    |
| nlp_config          | 否    | [NlpConfig] object       | **参数解释：** NLP大模型相关配置。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                   |
| guard_enabled       | 否    | Boolean                                                    | **参数解释：** 是否开启审核。 **约束限制：** 不涉及 **取值范围：** - true: 开启内容审核   - false: 不开启内容审核    **默认取值：** true                 |
| query_key           | 否    | String                                                     | **参数解释：** query请求体的key值。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                |
| custom_param        | 否    | Map\<String,String\>                                       | **参数解释：** 请求参数。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                         |
| custom_enabled      | 否    | Boolean                                                    | **参数解释：** 自定义字段。 **约束限制：** 不涉及 **取值范围：** - true: 使用自定义字段   - false: 不使用自定义字段    **默认取值：** false               |
| custom_json_parse   | 否    | Map\<String,String\>                                       | **参数解释：** 结果解析。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                         |
| proxy_enabled       | 否    | Boolean                                                    | **参数解释：** 是否开启代理，web搜索引擎配置时启用。 **约束限制：** 不涉及 **取值范围：** - true: 开启代理模式   - false: 不开启代理模式    **默认取值：** false   |
| time_detect_enabled | 否    | Boolean                                                    | **参数解释：** 是否开启定时检测，web搜索引擎配置时启用。 **约束限制：** 不涉及 **取值范围：** - true: 开启定时检测   - false: 不开启定时检测    **默认取值：** false |
| agree_disclaimer    | 否    | String                                                     | **参数解释：** 已同意免责声明，传入AGREE，默认为空字符串。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                      |
   
 表5IamInfo 
| 参数             | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| iam_enabled    | 否    | Boolean | **参数解释：** 是否启用iam鉴权。 **约束限制：** 不涉及 **取值范围：** - true: 启用iam鉴权   - false: 不启用iam鉴权    **默认取值：** false          |
| agency_enabled | 否    | Boolean | **参数解释：** 是否使用委托账号进行鉴权。 **约束限制：** 不涉及 **取值范围：** - true: 使用委托账号进行鉴权   - false: 不使用委托账号进行鉴权    **默认取值：** false |
| project_id     | 否    | String  | **参数解释：** iam用户的project_id信息，iam_enable=true是为必填字段。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                    |
| domain_name    | 否    | String  | **参数解释：** 委托账号的账号名。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                    |
| agency_name    | 否    | String  | **参数解释：** 委托名。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                         |
   
 表6VectorConfig 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| embedding_url | 是    | String | **参数解释：** embedding或query2query模型的调用url。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| rerank_url    | 否    | String | **参数解释：** rerank模型的调用url。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                |
   
 表7NlpConfig 
| 参数             | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| context_length | 是    | Integer | **参数解释：** 上下文长度，即NLP大模型在进行一次特定的推理时可以考虑的最大令牌数。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 响应参数
**状态码：200**
新增成功。
**状态码：400**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释：** [错误码](https://support.huaweicloud.com/api-koosearch/ErrorCode.html)。 **取值范围：** 不涉及 |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及                                                                |
   
**状态码：500**
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释：** [错误码](https://support.huaweicloud.com/api-koosearch/ErrorCode.html)。 **取值范围：** 不涉及 |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及                                                                |
   
#### 请求示例
新增模型。
```
/v1/b25446daeb1a41a7953c5deba2b2677a/applications/cefb2a59-2f9e-4268-b56b-eab15dc0b9d6/uni-search/models
{
  "name" : "25-test-enbedding",
  "type" : "embedding",
  "endpoint" : "https://xxxxxx",
  "detail" : "test",
  "extend_config" : {
    "iam_info" : {
      "iam_enabled" : false,
      "agency_enabled" : false
    },
    "vector_config" : {
      "embedding_url" : "/app/search/v1/vector"
    },
    "time_detect_enabled" : true,
    "custom_enabled" : true,
    "custom_header" : { }
  }
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述     |
|:---|:---|
| 200 | 新增成功。  |
| 400 | 请求体错误。 |
| 500 | 内部异常。  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-koosearch/ErrorCode.html)。
