
# 盘古时序异常检测大模型-V2
#### 功能介绍
基于盘古时序异常检测基模型（V2）实现零样本推理，兼容单变量与多变量时序数据，针对点异常、区间异常、趋势异常、周期异常等常见时序异常场景，提供时间点级异常概率评分。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/productdesc-pangulm/pangulm_01_0020.html)。
#### URI
POST /
获取URI方式请参见[请求URI](https://support.huaweicloud.com/api-pangulm/pangulm_05_0004.html)。
#### 请求参数
使用[Token认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section94702116509)方式的请求Header参数见[表1]。
 表1请求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参数见[表2] 。
 表2请求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                                                                                                                                                                                |
   
表3请求Body参数 
| 参数                 | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| data               | 是    | Array  | **参数解释：** 时序异常检测批处理数据。 **约束限制：** 盘古时序预测分类任务的输入数据内容，用字典承载。输入数据字典中，键对应特征列名，值为列表承载的序列数据具体内容，单条时序数据窗口长度区间为\[2, 10000\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| mode               | 否    | String | **参数解释：** 模型选择策略指定，可选择模式包括\["auto"，"uni", "multi"\]，默认启用auto： 1. "auto"：自动匹配------单变量任务用单变量模型，多变量任务用多变量模型。 2. "uni"：强制单变量------多变量数据拆分为独立通道，逐通道处理。 3. "multi"：强制多变量------单变量数据仍走单变量模型，多变量数据走多变量模型。 **约束限制：** 无 **取值范围：** {"auto", "uni", "multi"} **默认取值：** "auto"                                                                                                         |
| use_scaler         | 否    | bool   | **参数解释：** 是否启用归一化： 1. true：服务内部对输入数据进行标准化处理。 2. false：跳过归一化，适用于数据已在外部完成预处理的场景。 **约束限制：** 无 **取值范围：** true/false **默认取值：** true                                                                                                                                                                                                                                                                 |
| batch_size         | 否    | int    | **参数解释：** 批处理大小：单次推理的样本数量。若设置过大导致内存不足(OOM)，服务内有防呆设计，会自动清空缓存并将batch_size减半重试，最低降至1。 **约束限制：** 无 **取值范围：** 该模型推理规格受显存上限影响，受到batch_size/context_length/num_cols影响： 1) 与batch_size的关系：成正比。 2) 与context_length的关系：成平方关系。 3) 与num_cols的关系：成平方关系。 对于单卡310P，需满足batch_size \* (num_cols)\^2 \* (context_length)\^2 \< 5\^2\*2\^30。 **默认取值：** 32 |
| get_logit          | 否    | bool   | **参数解释：** 是否返回异常原始得分： 1. false：仅返回异常概率(0\~1)。 2. true：同时返回原始logits，用于精细分析（返回数据量较大，为防止返回体过大默认置为false）。 **约束限制：** 无 **取值范围：** true/false **默认取值：** false                                                                                                                                                                                                                                               |
| get_reconstruction | 否    | bool   | **参数解释：** 是否返回重构值： 1. false：不返回重构序列。 2. true：返回模型重构的时序数据，用于对比原始值与重构值的差异（返回数据量较大，为防止返回体过大默认置为false）。 **约束限制：** 无 **取值范围：** true/false **默认取值：** false                                                                                                                                                                                                                                            |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数        | 参数类型               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| data      | LIST\<OutputMeta\> | **参数解释：** 盘古时序异常检测预置/预训练大模型返回结果。 1. "anomaly_prob": 异常概率，每个时间点的异常置信度(0\~1) 1) 单变量任务或多变量任务mode≠"uni"时返回List\[Float\]。 2) 多变量任务且mode="uni"时返回Dict（按通道分别输出）。 2. "anomaly_logit": 异常原始得分，softmax前的logits差值（仅当get_logit=true时返回） 1) 单变量任务或多变量任务mode≠"uni"时返回List\[Float\]。 2) 多变量任务且mode="uni"时返回Dict（按通道分别输出）。 3. "reconstruction"：重构序列，模型重建的时序数据（仅当get_reconstruction=true时返回），key为通道名。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| time_cost | JSON               | **参数解释：** 当启动服务时，本次请求服务各阶段耗时情况。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
**状态码： 400**
表5响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误信息。 |
   
#### 请求示例
```
{
  "mode": "auto", #可选模式包括["auto"，"uni", "multi"]
  "use_scaler": true, #是否启用归一化,默认为true开启归一化
  "batch_size": 32, #批处理大小指定
  "get_logit": false, #是否返回异常logit(原始得分)
  "get_reconstruction": false, #是否返回重构值
  "data": [
    {
      "context": {
        "feature_0": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...],
        "feature_1": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...],
        "feature_2": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...],
        "feature_3": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...]   
      }
    },
    {
      "context": {
        "feature_0": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...],
        "feature_1": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...],
        "feature_2": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...],
        "feature_3": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...]
      }
    },
    {...},
    {...}
  ]
}
```
#### 响应示例
```
## 若指定计算模式为返回异常分（option∈["重构误差"，"重构方差", "重构误差+方差"]）
{
  "data": [
    {
        ## 异常概率
        # 默认返回List[Float]，对应每个时间点的异常概率
        "anomaly_prob":[ 0.0123, 0.0234, 0.9765, ...],
        # 若为多通道任务却开启了单通道预测模式（mode=uni）,每个通道的异常概率单独返回。
        "anomaly_prob":{
            "feature_0": [ 0.0123, 0.0234, 0.9765, ...],
            "feature_1": [ 0.0123, 0.0234, 0.9765, ...],
            "feature_2": [ 0.0123, 0.0234, 0.9765, ...],
            "feature_3": [ 0.0123, 0.0234, 0.9765, ...],
        },
        ## 异常logits(原始得分):当get_logit为true时返回
        # 默认返回List[Float]，对应每个时间点的异常logits(原始得分)
        "anomaly_logit":[ -10.32, -9.329, 9.234, ...]，
        # 若为多通道任务却开启了单通道预测模式（mode=uni）,每个通道的异常logits(原始概率)单独返回。
        "anomaly_logit":{
            "feature_0": [ -10.32, -9.329, 9.234, ...],
            "feature_1": [ -10.32, -9.329, 9.234, ...],
            "feature_2": [ -10.32, -9.329, 9.234, ...],
            "feature_3": [ -10.32, -9.329, 9.234, ...],
        },
        # 重构结果：当get_reconstruction为true时返回，每个通道的重构值
        "reconstruction":{
            "feature_0": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...],
            "feature_1": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...],
            "feature_2": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...],
            "feature_3": [ 864.1618041992188, 493.91827392578125, 252.7724151611328, ...]   
        },
    },
    {...},
    {...},
    {...}
  ],
  "time_cost": {
    "infer_cost_time": "82.609 ms",
    "postprocess_cost_time": "0.29 ms",
    "preprocess_cost_time": "0.1332 ms",
    "service_cost_total_time": "84.965 ms"
  }
}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-pangulm/pangulm_05_0019.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-pangulm/pangulm_05_0020.html)。
