Azure AI 内容安全 Java 技能
帮助 Java 应用分析文本和图像中的有害内容并管理词表。
证据显示凭据通过环境变量或 Azure 身份凭据提供,未见恶意行为或隐蔽外传;但 URL 图片会将数据交给外部 Azure 服务,示例会输出可能敏感的匹配文本,并且创建、修改、删除 blocklist 没有确认、权限边界或回滚说明,因此扣分。
证据显示涵盖客户端创建、文本/图像分析、blocklist 和异常处理,并提供同步与异步模式;但主文档使用 1.1.0-beta.1、参考文档使用 1.0.16,示例存在未展示导入或变量定义问题,且没有该技能专属的可复现测试,因此按静态上限保守扣分。
证据显示目标用户、Java SDK 场景和触发短语较明确,覆盖文本、图像和 blocklist;但未声明不适用范围、输入输出契约、语义边界、中文内容处理或中国大陆网络可达性,触发条件仍较粗略,因此扣分。
证据显示有 front matter、MIT 许可、版本字段、安装说明、分层章节和独立 examples.md;但两个文件的依赖版本不一致,缺少变更日志、维护责任与更新路径、故障排查和已知限制说明,因此扣分。
证据显示提供可直接改编的 Java 代码,覆盖核心分析和 blocklist 管理,具有明显的手写替代价值;但代码未经执行验证,版本/API 一致性和生产级决策(如阈值、重试、隐私处理)仍需用户复核,因此未给满分。
证据主要是技能自身的代码片段、元数据和仓库文档;仓库虽有通用测试与 CI 文件,但未显示覆盖该技能关键路径的专属测试或第三方执行结果,故仅给有限的静态可审计分数。
- 先统一主文档与 references/examples.md 的 SDK 依赖版本,并在目标版本上编译验证所有示例。
- 对 API key、输入文本、图像 URL 和 blocklist 匹配文本补充最小权限、隐私、日志脱敏和数据流说明。
- 删除 blocklist 是不可逆或高影响操作,示例应增加明确确认、备份或恢复流程。
- 补充中国大陆网络可达性、中文内容处理能力及服务区域限制说明。
它能做什么 & 适用场景
该技能面向使用 Azure AI Content Safety Java SDK 构建内容审核应用的开发者。它覆盖文本和图像分析、仇恨、色情、暴力及自残内容检测,以及文本阻止词表管理。技能提供 API 密钥和 DefaultAzureCredential 两种客户端认证示例。它适合已经使用 Azure、需要在 Java 服务中加入内容安全判断的团队,但 SDK 示例使用 beta 版本,且源材料没有提供该技能的专属测试结果。
指导开发者安装 com.azure:azure-ai-contentsafety:1.1.0-beta.1,创建 ContentSafetyClient 和 BlocklistClient,分析文本或本地图像、图像 URL,读取类别和严重程度结果,按需选择检测类别和严重程度级别,使用阻止词表匹配文本,并创建、更新、查询、列出、添加、删除阻止词表及词表项。还说明了 HttpResponseException 处理、必要环境变量和批处理、缓存、严重程度阈值等实践。
- Java Web 服务需要在用户提交文本时检测仇恨、暴力、色情或自残内容。
- 图像上传应用需要在保存或展示图片前调用 Azure AI Content Safety 进行审核。
- 社区或客服系统需要维护自定义阻止词表,并在命中时停止继续处理。
- 使用 Azure 托管身份的生产 Java 应用需要通过 DefaultAzureCredential 访问内容安全资源。
优缺点一览
- 覆盖文本、图像和自定义阻止词表管理。
- 同时给出 API 密钥和 DefaultAzureCredential 认证模式。
- 包含严重程度、异常处理、环境变量和常见操作示例。
- MIT 许可,适合纳入 Java/Azure 开发工作流。
- 示例依赖版本为 1.1.0-beta.1,稳定性或 API 变化风险未在源材料中说明。
- 必须连接 Azure AI Content Safety 服务并配置 endpoint。
- 源材料未提供该单项技能的专属测试覆盖或验收结果。
- 成本、区域可用性和服务配额信息未提供。
如何安装
将以下依赖加入 Java 项目的 Maven 配置:com.azure:azure-ai-contentsafety:1.1.0-beta.1。源材料未提供完整项目文件或其他构建命令。整个技能集合可通过 npx skills add microsoft/skills 安装,并在向导中选择需要的技能。
如何使用
向编码代理提出“content safety Java”“content moderation Azure”“analyze text safety”“image moderation Java”或“blocklist management”等请求。实现时设置 CONTENT_SAFETY_ENDPOINT;使用 AzureKeyCredential 时再设置 CONTENT_SAFETY_KEY,生产环境使用 DefaultAzureCredential 时设置 AZURE_TOKEN_CREDENTIALS。然后创建客户端并调用 analyzeText、analyzeImage 或阻止词表管理方法。