
# 创建推理作业
#### 功能介绍
支持调用科学计算大模型创建气象/降水模型的推理作业。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/productdesc-pangulm/pangulm_01_0020.html)。
#### URI
POST /v1/{project_id}/infer-api/proxy/service/{deployment_id}/v2/{deployment_id}/tasks
获取URI方式请参见[请求URI](https://support.huaweicloud.com/api-pangulm/pangulm_05_0004.html)。
表1推理接口路径参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| project_id    | 是    | String | **参数解释：** 项目ID，获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-pangulm/pangulm_05_0021.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及               |
| deployment_id | 是    | String | **参数解释：** 模型的部署ID，获取方法请参见[获取模型部署ID](https://support.huaweicloud.com/api-pangulm/pangulm_05_0023.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 请求参数
使用[Token认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section94702116509)方式的请求Header参数见[表2]。
 表2请求Header参数（Token认证） 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 用于获取操作API的权限。如[图4](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__fig10797003103)中响应消息头中X-Subject-Token的值即为Token。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| Content-Type | 是    | String | **参数解释：** 发送的实体的MIME类型。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** application/json                                                                                                                                                                       |
   
使用[API Key认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section148602501261)方式的请求Header参数见[表3]。
 表3请求Header参数（API Key认证） 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| X-Apig-AppCode | 是    | String | **参数解释：** API Key值。 用于获取操作API的权限。[API Key认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section148602501261)响应消息头中X-Apig-AppCode的值即为API Key。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| Content-Type   | 是    | String | **参数解释：** 发送的实体的MIME类型。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** application/json                                                                                                                                                                                |
   
表4请求body参数 
| 参数                  | 是否必选 | 参数类型                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| models              | 否    | Array                                                            | **参数解释：** 选择用来推理的模型子集列表。可通过配置model_tag的方式，指定参与推理的模型子集。例如：\["global-weather"\], 如不传则默认使用全部模型进行推理。model_tag与模型的对应关系请见[表9 模型资产与model tag对应关系]。 **约束限制：** 字符串列表，指定的model tag需要在已部署的模型范围内。 **取值范围：** 不涉及 **默认取值：** 不涉及                     |
| data_dirs           | 是    | Map\<string, string\>                                            | **参数解释：** 根据不同模型指定输入数据的路径。格式为{model_tag: shema://dataset_path}，例如{"global-weather": "obs://path/to/data/"}，model_tag与模型的对应关系请见[表9 模型资产与model tag对应关系]。 **约束限制：** shema参数在线服务仅支持obs，边缘服务支持file（本地路径）。 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| output_dir          | 是    | String                                                           | **参数解释：** 推理结果输出路径。格式为shema://dataset_path，例如file:///path/to/data/。 **约束限制：** shema参数在线服务仅支持obs，边缘服务支持file（本地路径）。 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                               |
| start_times         | 是    | Array                                                            | **参数解释：** 起报时间点列表，若不传入start_time_interval，则列表中的每个时间均作为起报时，若传入start_time_interval，则start_times必须只包含两个时间，分别作为起报时间的起点和终点，根据start_time_interval最终插值出所有起报时间点（总起报时间点数量不能超过列表长度上限）。 **约束限制：** 起报时间点字符串格式为YYYYMMDDHH时间戳。 **取值范围：** 不涉及 **默认取值：** 不涉及                     |
| start_time_interval | 否    | String                                                           | **参数解释：** 起报时间间隔时长。仅数字代表小时数，支持数字+单位表示，例如1d，3h。 **约束限制：** 不涉及 **取值范围：** (0h, 24h\] **默认取值：** 6h                                                                                                                                                                        |
| forecast_lead_time  | 否    | String                                                           | **参数解释：** 预报时效。仅数字代表小时数，支持数字+单位表示，例如6d **约束限制：** 不涉及 **取值范围：** \[1h, 720h\] **默认取值：** 168h                                                                                                                                                                           |
| draw_figures        | 否    | Bool                                                             | **参数解释：** 是否输出结果图片。 **约束限制：** 不涉及 **取值范围：** true/false **默认取值：** true                                                                                                                                                                                             |
| clipping_geo_ranges | 否    | [ClippingGeoRanges] object | **参数解释：** 指定对结果文件剪裁的地理范围，在结果文件中仅会输出指定范围内的区域。如不指定，则默认输出原结果范围。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                     |
| ensemble            | 否    | [EnsembleDto] object        | **参数解释：** 集合预报信息 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                          |
   
 表5ClippingGeoRanges 
| 参数        | 是否必选 | 参数类型  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| latitude  | 否    | Array | **参数解释：** 指定对结果文件进行剪裁的纬度范围，长度为2的定长数组，左端小于右端，例如：\[45, 70\]。如指定longitude，不指定latitude，默认补全为全球范围\[-90, 90\]。 **约束限制：** 长度为2的定长小数数组，左端小于右端。 **取值范围：** \[-90, 90\] **默认取值：** \[-90, 90\] |
| longitude | 否    | Array | **参数解释：** 指定对结果文件进行剪裁的经度范围，例如：\[110, 130\]。如指定latitude，不指定longitude，默认补全为全球范围\[0, 360\]。 **约束限制：** 长度为2的定长小数数组，左端小于右端。 **取值范围：** \[0, 360\] **默认取值：** \[0, 360\]                              |
   
 表6EnsembleDto 
| 参数            | 是否必选 | 参数类型                                                            | 描述                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| num_ensembles | 否    | Long                                                            | **参数解释：** 集合数量。在气象预报中，集合预报是指对初始场加入一定程序的扰动，使其生成一组由不同初始场预报的天气预报结果，从而提供对未来天气状态的概率信息。这种方法可以更好地表达预报的不确定性，从而提高预报的准确性和可靠性。 **约束限制：** 不涉及 **取值范围：** \[2, 10\] **默认取值：** 不涉及 |
| noise         | 否    | [EnsembleNoiseDto] object | **参数解释：** 集合预报的噪声信息 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                      |
   
 表7EnsembleNoiseDto 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| method        | 否    | String | **参数解释：** 集合预报的加噪方式。可选：{"perlin"}。 - perlin噪音通过对输入数据（比如空间坐标）进行随机扰动，让模拟出的天气接近真实世界中的变化。   **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| perlin_scale  | 否    | Double | **参数解释：** 集合预报的Perlin加噪scale。 **约束限制：** 不涉及 **取值范围：** (0, 0.5) **默认取值：** 不涉及                                                                                                                                                                |
| perlin_octave | 否    | Long   | **参数解释：** 用于选择集合预报的Perlin加噪octave。Perlin噪音的octave指的是噪音的频率，在生成Perlin噪音时，可以将多个不同频率的噪音叠加在一起，以增加噪音的复杂度和细节。每个频率的噪音称为一个octave，而叠加的octave数越多，噪音的复杂度也就越高。 **约束限制：** 不涉及 **取值范围：** \[1, 10) **默认取值：** 不涉及                                              |
| perlin_x      | 否    | Double | **参数解释：** 用于选择集合预报的Perlin加噪x经度方向的尺度。 **约束限制：** 不涉及 **取值范围：** \[0, 1) **默认取值：** 不涉及                                                                                                                                                              |
| perlin_y      | 否    | Double | **参数解释：** 用于选择集合预报的Perlin加噪y纬度方向的尺度。 **约束限制：** 不涉及 **取值范围：** \[0, 1) **默认取值：** 不涉及                                                                                                                                                              |
   
 表8模型资产与model tag对应关系 
| 模型资产名称                            | model tag              |
|:---|:---|
| Pangu-AI4S-Global-Weather         | global-weather         |
| Pangu-AI4S-Global-Precip          | global-precip          |
| Pangu-AI4S-Global-Wind            | global-wind            |
| Pangu-AI4S-Regional-Photovoltaics | regional-photovoltaics |
| Pangu-AI4S-Regional-Wind          | regional-wind          |
| Pangu-AI4S-Regional-Weather       | regional-weather       |
| Pangu-AI4S-Regional-Precip        | regional-precip        |
   
表9全球中期天气要素预测模型、降水模型信息表 
| 模型           | 预报层次                                                                                            | 预报高空变量                                                                                                                                                          | 预报表面变量                                                                                                                                                  | 降水                                                                      | 时间分辨率       | 水平分辨率        | 区域范围 |
|:---|:---|:---|:---|:---|:---|:---|:---|
| 全球中期天气要素预测模型 | 13层（1000hpa，925hpa，850hpa，700hpa，600hpa，500hpa，400hpa，300hpa，250hpa，200hpa，150hpa，100hpa，50hpa） | T：温度 Q：比湿 Z：重力位势 U：U风 V：V风    | MLSP：海平面气压。 U10：10米U风，经度方向。 V10：10米V风，纬度方向。 T2M：2米温度。 | -                                                                       | 1、3、6、24小时。 | 0.25°\*0.25° | 全球   |
| 降水基模型        | 13层（1000hpa，925hpa，850hpa，700hpa，600hpa，500hpa，400hpa，300hpa，250hpa，200hpa，150hpa，100hpa，50hpa） | T：温度 Q：比湿 Z：重力位势 U：U风 V：V风 | MLSP：海平面气压。 U10：10米U风，经度方向。 V10：10米V风，纬度方向。 T2M：2米温度。    | PRECIP6：过去6h累计降水。 PRECIP24：过去24h累计降水。 | 1、3、6、24小时。 | 0.25°\*0.25° | 全球   |
   
#### 响应参数
**状态码： 201**
表10响应Body参数 
| 参数      | 参数类型   | 描述                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| task_id | String | **参数解释：** 创建的作业ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 请求示例
```
{
    "data_dirs": {
        "global-weather": "obs://path/to/data/"
    },
    "output_dir": "obs://path/to/data/",
    "start_times": ["2024010100", "2024010112","2024010118"],
    "forecast_lead_time": "7d",
    "draw_figures": true,
    "ensemble": {
        "num_ensembles": 2,
        "noise": {
            "method": "perlin",
            "perlin_scale": 0.1,
            "perlin_octave": 3.0,
            "perlin_x": 0.5,
            "perlin_y": 0.5
        }
    }
}
```
#### 响应示例
**状态码： 200**
创建作业成功
```
{
    "task_id": "bd915122-600d-4045-b13e-dd038d2c61e7"
}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-pangulm/pangulm_05_0019.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-pangulm/pangulm_05_0020.html)。
