Azure AI 异常检测 Java 技能
帮助 Java 开发者使用 Azure AI Anomaly Detector 构建单变量和多变量时间序列异常检测应用。
示例使用环境变量承载端点和密钥,并展示基于 SAS URL 的 Blob 数据流,具备基本的凭据与数据流意识;但未明确最小权限、用户确认、敏感数据保护、外部服务风险、删除操作的确认或回滚,因此扣分。
覆盖客户端创建、检测、训练、轮询和异常处理,正常路径较完整;但未提供针对该技能的测试、编译验证、输入边界、超时/轮询上限或可诊断的失败恢复,且部分示例可能受 beta SDK API 细节影响,因此按静态证据保守评分。
目标用户、Java SDK 场景、单变量/多变量检测和触发短语较明确;但未声明不适用场景、服务限制、成本或区域可用性,也没有中文使用指导;核心功能依赖 Azure 外部服务,部分网络环境可能受可达性影响,因此扣分。
具备名称、描述、MIT 许可、作者、版本、Maven 依赖、分层章节和较丰富示例,并提供 references/examples.md;但缺少变更日志、维护责任与更新路径、版本兼容矩阵、FAQ、限制说明和完整安装前置条件,因此扣分。
提供从认证、单变量检测到多变量训练、推理和模型管理的可直接参考代码,能覆盖核心任务;但示例缺少完整可运行项目、依赖与 API 兼容验证,轮询、错误恢复和生产化安全仍需用户补充,静态评估不超过7分。
文件中有具体 API 调用、环境变量和代码样例,仓库还提供通用 CI 与测试基础设施;但未见该技能专属测试、编译结果、第三方执行证据或多源交叉验证,因此仅给予有限静态可验证性。
- 示例包含 API 密钥、客户端凭据和 SAS URL 的环境变量模式,但未说明轮换、泄露防护、日志脱敏或最小权限配置。
- 多变量训练和批量推理依赖 Azure Blob Storage 及长轮询;未定义超时、重试上限、取消和失败后的清理策略。
- 技能版本标为 3.0.0-beta.6,未提供兼容性矩阵或更新记录;使用前应自行核对 SDK API。
- 删除模型示例没有确认、权限检查或恢复说明。
- 未提供中文文档或大陆网络可达性说明。
它能做什么 & 适用场景
该技能面向使用 Azure AI Anomaly Detector Java SDK 的开发者。它涵盖 SDK 安装、同步与异步客户端创建、API 密钥和 DefaultAzureCredential 身份验证,以及单变量和多变量异常检测。内容包括批量检测、流式检测、变点检测、多变量模型训练、推理、结果查询和模型管理。适合需要将时间序列监控或异常分析集成到 Java 应用中的团队。
指导开发者添加 Maven 依赖,读取 Azure Anomaly Detector 端点和凭据环境变量,创建单变量或多变量客户端,并调用 Azure 服务。它展示如何分析单变量时间序列、检测最新数据点和变点,训练多变量模型,对批量或最新数据执行推理,查询和删除模型,并处理 HttpResponseException。输出包括异常标记、期望值、上下边界、严重性、置信度和贡献变量等结果。
- Java 开发者需要对单变量业务时间序列执行批量异常检测时。
- 监控系统需要对最新数据点进行流式异常判断时。
- 分析团队需要识别时间序列趋势变化和变点时。
- 工程团队需要在最多 300 个以上相关信号之间进行多变量异常分析时。
- 后端团队需要训练、查询、列出或删除多变量异常检测模型时。
优缺点一览
- 覆盖单变量和多变量时间序列检测。
- 提供 Java 客户端创建、身份验证和核心 API 示例。
- 包含模型训练、批量推理、最新点推理及模型生命周期管理模式。
- 明确列出最少数据点、粒度、敏感度和滑动窗口等实践建议。
- 依赖 Azure Anomaly Detector 服务、端点和相应凭据。
- 单变量检测至少需要 12 个数据点。
- SKILL.md 展示的是 `3.0.0-beta.6` 版本依赖,且未提供版本兼容范围。
- 提供的材料没有证明该特定技能拥有独立测试覆盖或完整异步 API 示例。
如何安装
在 Agent Skills 兼容客户端中安装该仓库的技能集合:运行 npx skills add microsoft/skills,然后在向导中选择所需技能。仓库说明技能会安装到所选 Agent 的目录,例如 GitHub Copilot 使用 .github/skills/。该技能源文件位于 .github/plugins/azure-sdk-java/skills/azure-ai-anomalydetector-java/SKILL.md。Java 项目还需添加 com.azure:azure-ai-anomalydetector:3.0.0-beta.6 依赖。
如何使用
在编码请求中明确说明需求,例如:使用 Azure AI Anomaly Detector Java SDK 对时间序列执行单变量流式异常检测。也可以使用触发短语“anomaly detection Java”“multivariate anomaly Java”或“change point detection”。配置 AZURE_ANOMALY_DETECTOR_ENDPOINT;使用 AzureKeyCredential 时配置 AZURE_ANOMALY_DETECTOR_API_KEY,使用生产环境 DefaultAzureCredential 时配置 AZURE_TOKEN_CREDENTIALS=prod。