讲师中心 微信公众号

工具推荐

视频效率加速
立刻MV
立刻MV

低成本歌曲 MV、视频生成

Laper
Laper

剧本策划到成片协作

AniShort
AniShort

AI短剧协同制作平台

updream

一键生成高质量推广成片

Superwise Drift Detection Skill

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 Superwise Compare Distribution 策略(Jensen‑Shannon 散度用于分类列)检测表格机器学习模型中的特征漂移。处理所有...

超智能的 Drift 检测技能

功能概述

超智能的 Drift 检测技能是一项面向实际任务的技能,主要用于当用户想要为模型设置漂移检测时, 引导它们通过;下面的步骤按顺序排列;

核心要点

  • 在移动到下一个步骤前完成每个步骤;
  • What you to between the model。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Superwise 漂移检测技能

当用户希望为其模型配置漂移检测时,请按以下顺序引导其完成各步骤。必须完整执行当前步骤后,再进入下一步。

您需要向用户提供哪些信息

开始前,请用户提前提供以下内容:

  1. Superwise 凭据 — SUPERWISE_CLIENT_ID 和 SUPERWISE_SECRET_TOKEN(可在其 Superwise 账户的「设置 → API 密钥」中找到)
  2. 训练 CSV 文件 — 其模型所基于训练的 CSV 文件(仅需特征列;系统将自动添加 row_id 列)
  3. 模型名称 — 一个不含空格的简短标识符(例如:my_churn_model);该名称将用于在 Superwise 中命名数据集
  4. 推理端点(Inference endpoint) — 以下两种选项之一:
    • 选项 A:用户已部署运行中的模型端点。请其提供 URL。该端点必须返回 JSON 格式响应,结构为 {"records": [{...}, ...]},其中每个 record 包含与训练 CSV 完全一致的列名。
    • 选项 B:用户尚无可用端点,需自行部署。可参考 examples/dc-bikeshare-drift/app.py 中的 dc-bikeshare 示例作为模板。指导用户适配其自身的 predict.py,然后本地运行 python app.py。本地测试时,请设置 INFERENCE_ENDPOINT_URL=http://localhost:5001/predict。

步骤 1 — 安装依赖项

pip install -r requirements.txt

在技能根目录下创建一个 .env 文件,内容如下,并填入用户提供的对应值:

SUPERWISE_CLIENT_ID=<来自用户>
SUPERWISE_SECRET_TOKEN=<来自用户>
MODEL_NAME=<模型名称>
INFERENCE_ENDPOINT_URL=<来自用户对第 4 项问题的回答>
SUPERWISE_AUTO_TRIGGER=true
SUPERWISE_TRAINING_DATASET_ID=
SUPERWISE_TRAINING_DATASET_NAME=
SUPERWISE_TRAINING_CUBE_NAME=
SUPERWISE_INFERENCE_DATASET_ID=
SUPERWISE_INFERENCE_DATASET_NAME=
SUPERWISE_INFERENCE_CUBE_NAME=
SUPERWISE_DRIFT_POLICY_ID=
# 针对各列的独立策略配置 — 每行对应 setup_drift_policy.py 输出的一列:
# SUPERWISE_DRIFT_POLICY_ID_<列名>=<策略 ID>
SCHEDULE_HOUR_UTC=6
SCHEDULE_MINUTE_UTC=0
PORT=5000

数据集 ID 和策略 ID 字段将在步骤 2 和步骤 3 执行完成后填入。

步骤 2 — 创建 Superwise 数据集并上传训练数据

python setup_dataset.py 
    --training-csv path/to/training.csv 
    --model-name their_model_name

该命令将在 Superwise 中创建一个训练数据集和一个推理数据集,逐行上传训练 CSV 文件,并打印出数据集 ID 和 Cube 名称。

请将打印出的值复制到 .env 文件中:

SUPERWISE_TRAINING_DATASET_ID=<打印值>
SUPERWISE_TRAINING_DATASET_NAME=<打印值>
SUPERWISE_TRAINING_CUBE_NAME=<打印值>
SUPERWISE_INFERENCE_DATASET_ID=<打印值>
SUPERWISE_INFERENCE_DATASET_NAME=<打印值>
SUPERWISE_INFERENCE_CUBE_NAME=<打印值>

注意:训练 CSV 的列名只能包含字母、数字和下划线,且必须以字母开头。若发现任何列名违反此规则,请提醒用户修正。

步骤 3 — 创建漂移策略

python setup_drift_policy.py 
    --training-csv path/to/training.csv 
    --policy-name their_model_drift

该命令将为训练 CSV 中每一个分类型(字符串/布尔型)列,创建一条 Jensen-Shannon 散度(JSD)策略,用于比对训练数据集与推理数据集。数值型列会被跳过并输出警告 —— 这是当前 Superwise 平台的已知限制(暂不支持对数值型列使用 Wasserstein 距离进行漂移检测)。

请将主策略 ID(即首行打印出的策略 ID)复制到 .env 中:

SUPERWISE_DRIFT_POLICY_ID=<主策略 ID>
SUPERWISE_DRIFT_POLICY_ID_=<策略 ID>
SUPERWISE_DRIFT_POLICY_ID_=<策略 ID>
# ... 每条由 setup_drift_policy.py 打印出的额外列策略均需单独添加一行

请复制所有打印出的策略行(不仅限于第一行)—— _check_drift() 函数会自动识别并触发所有以 SUPERWISE_DRIFT_POLICY_ID* 开头的环境变量所对应的策略检查。

若用户仅希望监控特定若干列,可在命令中添加参数:--columns col1 col2 col3。

步骤 4 — 执行端到端漂移检测

python -c "
import os; os.chdir('.')
from dotenv import load_dotenv; load_dotenv()
from skill import run
result = run()
print(result)
"

该操作将执行以下流程:

  1. 从 INFERENCE_ENDPOINT_URL 获取推理记录
  2. 将这些记录写入 Superwise 推理数据集
  3. 触发所有已配置的漂移策略评估任务
  4. 轮询等待每项评估任务完成
  5. 若检测到漂移,则通过 OpenClaw 已有的 Telegram 连接发送告警
  6. 最终打印汇总结果

注意:一次完整检测耗时约 5–10 分钟(含推理请求、数据写入及全量列策略轮询)。为避免 exec 超时,请在后台或 PTY 会话中运行:

nohup python -c "..." &> drift_check.log &

步骤 5 — 设置周期性漂移检测

使用 skill.py 中定义的元数据,在 OpenClaw 中注册该技能:

  • 触发命令: /drift_check
  • 调度表达式: 0 6 * * *(每日 UTC 时间 06:00 执行 —— 可根据用户的推理频率调整)
  • 告警通道: 复用 OpenClaw 当前已配置的 Telegram 连接

如需生产环境部署,请指导用户使用随附的 render.yaml 将 scheduler.py 部署至 Render 平台,并将全部 .env 中的变量配置为 Render 的环境变量。

Telegram 告警

本技能复用 OpenClaw 已建立的 Telegram 连接,无需单独配置 Bot。技能中 skill.py 内的 _send_telegram() 函数将直接读取用户 OpenClaw 环境下的 TELEGRAM_BOT_TOKEN 和 TELEGRAM_CHAT_ID。若用户尚未在 OpenClaw 中配置 Telegram,请指引其查阅 OpenClaw 官方 Telegram 配置文档。

漂移告警格式如下:

  • Unhealthy(异常):列出漂移程度较高(得分 > 0.2)的特征,并提示预测结果可能不可靠
  • Healthy(正常):确认未检测到显著漂移,并展示各特征的具体漂移得分

参考示例:DC Bikeshare

examples/dc-bikeshare-drift/ 是一个完整的可运行示例,用户可在接入自身模型前,先运行该示例验证整套技能流程是否正常工作:

cd examples/dc-bikeshare-drift
pip install -r requirements.txt
python collect_training_data.py   # 获取真实站点数据,生成模拟历史数据
python train.py                   # 训练 RandomForest 分类器
python app.py                     # 启动本地 Flask 推理服务(端口 5001)

随后,在技能根目录下执行漂移检测,并指定:

INFERENCE_ENDPOINT_URL=http://localhost:5001/predict

该示例仅使用分类型特征(站点规模、是否配备电助力自行车、小时、日期类型、季节)来预测单车可用性 —— 所有特征均适用于 JSD 漂移检测。

模型重训练

当用户对其模型进行重训练时,请执行:

python setup_dataset.py 
    --training-csv path/to/new_training.csv 
    --model-name their_model_name 
    --retrain

该命令将创建一个带版本号的新训练数据集,同时保留原有推理数据历史。请更新 .env 中的训练数据集 ID 和 Cube 名称,然后重新运行 setup_drift_policy.py,以生成指向新基线数据集的漂移策略。

故障排查

  • 策略状态长期停留在 pending:请确认推理记录已在触发策略前成功写入推理数据集。若推理数据集为空,策略无法启动评估。
  • 首次运行即返回 unhealthy:若推理记录仅为单一时段快照(如全部记录均属同一小时/同一天/同一季节),该现象属预期行为。建议积累更长时间跨度的推理记录,以构建更具代表性的分布。
  • 数值型列被跳过:数值维度的 Wasserstein 距离计算是 Superwise 平台当前已知缺陷。临时解决方案包括:对数值列进行分桶(categorical bucketing)转为分类型,或等待 Superwise 平台后续修复。
  • 上传后 CubeJS Cube 未找到:新建数据集需数分钟才能在 Superwise 的 CubeJS 层完成注册。请等待 2–3 分钟后重试验证步骤。
  • 漂移检测被终止 / 无输出(收到 SIGTERM):完整检测耗时 5–10 分钟,易因环境 exec 超时而被强制中断。请改用后台会话运行:nohup python -c "from skill import run; run()" &> drift_check.log &,随后通过 tail -f drift_check.log 实时跟踪执行进度。
目录

热门AI工具

更多
蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

0

2026.11.06

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

0

2026.11.06

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

0

2026.11.06

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

0

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn