时序异常检测微调工作流
功能介绍
在时序异常检测大模型基础上引入多种下游适配器,支持基于历史数据的阈值优化或基于标注正异常数据的二分类识别。通过此方式,将原始问题转化为针对特定时间点的二分类任务,判断其状态为正常或异常。
若为微调工作流产物(正异常数据分类)模型,默认返回时序点正异常类别+重构值。同时支持自定义阈值以及具体具体异常分,便于后续异常样本的推理可解释以及可视化分析。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。 用于获取操作API的权限。如图4中响应消息头中X-Subject-Token的值即为Token。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
Content-Type |
是 |
String |
参数解释: 发送的实体的MIME类型。 约束限制: 不涉及 取值范围: 不涉及 默认取值: application/json |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Apig-AppCode |
是 |
String |
参数解释: API Key值。 用于获取操作API的权限。API Key认证响应消息头中X-Apig-AppCode的值即为API Key。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
Content-Type |
是 |
String |
参数解释: 发送的实体的MIME类型。 约束限制: 不涉及 取值范围: 不涉及 默认取值: application/json |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
data |
是 |
Array |
参数解释: 时序异常检测批处理数据。 约束限制: 盘古时序预测分类任务的输入数据内容,用字典承载。输入数据字典中,键对应特征列名,值为列表承载的序列数据具体内容,单条时序数据窗口长度需大于等于100。 取值范围: 输入数据中的一组数据。 默认取值: 预测大模型在训练完成后,可以在训练日志页面,“模型训练”日志节点中获取推理api所用的示例数据。填写请求Body时可以参考该示例填写。
|
|
get_details |
否 |
Bool |
参数解释: 指定推理服务是否返回推理详细信息。如果传入True开启,将返回异常分详细信息以键值anomaly_score承载;若下游适配器为阈值算法3-sigma, IQR+3-sigma, SPOT,将额外返回每个通道的标签值,以"label_channel"承载。 取值范围: true或false。 默认取值: false,默认关闭不返回详细信息。 |
|
thresholds |
否 |
Dict[Float] |
参数解释: 当下游适配器为3-Sigma, IQR+3-Sigma或者SPOT时,支持自定义推理服务的异常分阈值。默认为空。若不传入自定义阈值保留微调产物的阈值。 约束限制: 仅当训练下游适配器为3-Sigma, IQR+3-Sigma和SPOT时生效。 取值范围: 以JSON字典承载各个列的异常分阈值,例: {"feature_0": 0.12345, "feature_1": 0.12345, ..., "feature_n":0.12345} 其中键值为微调时使用的列名,阈值为浮点型数值。 默认取值: 默认取空值None,使用微调产物的异常分阈值。 |
响应参数
状态码: 200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
data |
LIST<OutputMeta> |
参数解释: 时序预测结果的列表。同时返回各个时间点的正异常类别以及各个特征的重构值,分别以"label"以及"reconstruction"两个键值承载。若请求体get_details为true,则返回体包含推理详细信息:
约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
|
time_cost |
JSON |
参数解释: 当启动服务时,本次请求服务各阶段耗时情况。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
状态码: 400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
error_code |
String |
错误码。 |
|
error_msg |
String |
错误信息。 |
请求示例
{
"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,...]
}
},
{...},
{...}
],
# get_details字段非必选
"get_details": true,
"thresholds": {
feature_0": 0.1234,
"feature_1": 0.1234,
"feature_2": 0.1234,
"feature_3": 0.1234
}
}
响应示例
{
"data": [
{
# 正异常类别
"label":[ 0, 1, 0, 0, ...],
# 重构结果
"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,...]
}
# 异常分,仅当get_details为True时返回
"anomaly_scores":{
"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,...]
},
# 异常分,仅当get_details为True且微调下游适配器为3-Sigma, IQR+3-Sigma或SPOT时返回
"label_channel":{
"feature_0": [ 0, 1, 0, 0, ...],
"feature_1": [ 0, 1, 0, 0, ...],
"feature_2": [ 0, 1, 0, 0, ...],
"feature_3": [ 0, 1, 0, 0, ...]
},
},
{...},
{...},
{...}
],
"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"
}
}
状态码
请参见状态码。
错误码
请参见错误码。
