主要观点:随着 AI 应用融入生活,确保其安全交互至关重要,Microsoft 的 Azure Content Safety 服务可用于自动分类和评估文本及图像内容的危害类别,本文介绍了将其集成到 Spring Boot 应用中以实时过滤用户消息的方法,包括 Azure Content Safety 的部署、依赖设置、聊天客户端设置、危害类别及消息过滤等内容。
关键信息:
- Azure Content Safety 可自动分类评估内容,避免有害信息传播,防止法律和伦理问题。
- 需部署 Azure Content Safety 服务到 Azure 订阅,可使用 Terraform 自动化设置,包括创建资源组和实例等。
- 集成时需添加 Spring Milestone 仓库和相关依赖,如 spring-ai-bom 等。
- 配置 OpenAI ChatClient 需提供 API 密钥,可注册 Advisors 自定义聊天请求和响应处理逻辑。
- Azure Content Safety 有四种内置危害类别(Hate、Sexual、Violence、Self-harm)及 severity 级别,可配置客户端进行过滤。
- ContentSafetyAdvisor 用于检查用户消息并返回拒绝消息,提供解释时使用单独的 ChatClient。
重要细节:
- Terraform 部署时需安装 Azure CLI 和 Terraform,通过服务主体认证,可使用示例 terraform.tfvars 部署到免费层。
- Maven 配置中添加 Spring Milestone 仓库和依赖管理的相关代码。
- ChatClient 配置可默认使用 gpt-4o-mini 模型,可通过属性覆盖。
- ContentSafetyAdvisor 中的 analyzeText 方法用于分析文本,isMessageSafe 方法判断消息是否安全,provideRejectExplanation 方法生成拒绝解释。
- 示例中设置默认类别阈值为 1 以演示接受和拒绝的消息。
- 完整源代码可在GitHub获取,还可训练和使用自定义危害类别。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。