基于 Google AI Agent 和 Model Context Protocol (MCP) 的 AI 内容审核系统
一个利用 OpenAI 的审核 API,通过 Google 的 Agent Development Kit (ADK) 和 Model Context Protocol (MCP) 实现的内容审核系统。
问题背景:当 AI 对话失控时
想象一下:你刚刚发布了一款令人兴奋的新 AI 聊天机器人。用户蜂拥而至,对话不断发生,一切似乎都很完美——直到问题出现。
一位用户询问你的 AI 如何制作爆炸装置。另一位用户试图获取不当内容。还有人用有害语言测试系统的边界。突然间,你的创新 AI 工具变成了潜在的责任。
这是许多 AI 开发者今天面临的现实。
如果没有适当的内容审核,AI 系统可能会:
- 生成有害、危险或非法的内容
- 使组织面临法律和声誉风险
- 为用户创造不安全的体验
- 将本有前途的应用变成公关噩梦
解决方案:集成内容审核
这就是我们的 AI 内容审核系统的用武之地。我们构建了一个生产就绪的解决方案,能够:
- 通过 OpenAI 的审核 API 无缝检查每个用户输入
- 在内容到达你的 AI 之前过滤掉有害内容
- 提供关于为何内容被阻止的详细反馈
- 与 Google ADK 框架平滑集成
最棒的部分?OpenAI 的审核 API 免费使用,使得强大的内容安全功能适用于各种规模的项目。
实际应用场景
这个系统不仅仅是一个技术演示,它专为实际生产用例设计:
- 教育平台:确保学生与 AI 导师的互动保持适当和安全
- 客服机器人:在保持服务帮助性的同时防止滥用
- 内容生成工具:过滤不适当的创意内容请求
- 企业内部工具:在工作场所 AI 使用中保持专业标准
- 医疗聊天机器人:防止请求有害的医疗建议
- 社交应用:在 AI 驱动的社交功能中筛选用户生成的提示
商业价值
- 免费内容审核:利用 OpenAI 的审核 API 免费过滤有害内容。
- 保护用户和平台:自动识别并阻止危险、有害或不适当的内容。
- 法规合规:帮助满足数字平台内容监控的法律要求。
- 自信扩展:无需手动审核瓶颈,轻松扩展审核能力。
技术价值
- 跨供应商实现:通过 MCP 和 Google ADK 代理与 OpenAI 服务通信的实际演示,并在同一流程中使用 Llama。
- 双重传输选项:支持 Server-Sent Events (SSE) 和 Standard I/O (STDIO) 传输。
- 模块化架构:易于扩展以支持更多审核提供商或功能。
- 生产就绪设计:错误处理、日志记录和关注点分离,适用于实际使用。
架构
本项目实现了两种内容审核流程的变体:
SSE 传输架构
STDIO 传输架构
安装说明
先决条件
- Python 3.9 或更高版本
- OpenAI API 密钥
- Ollama(用于本地 LLM 服务,可选)
安装步骤
- 克隆仓库:
- 创建虚拟环境并激活:
- 安装依赖:
- 设置你的 OpenAI API 密钥:
运行系统
SSE 传输版本
- 启动审核服务器:
- 在新终端中启动审核代理:
STDIO 传输版本
- 运行审核代理(它将自动启动服务器):
测试
运行综合测试脚本以检查所有组件:
或单独测试组件:
生产就绪优化
- 认证:为 MCP 服务器添加适当的认证。
- 容器化:将应用程序打包为 Docker 容器以便于一致部署。
- 监控:实现健康检查、指标收集和告警。
- 日志记录:增强日志记录以便更好地观察和故障排除。
- 速率限制:实施速率限制以防止 API 滥用。
- 缓存:为重复的审核请求添加缓存。
- 故障转移机制:实现重试逻辑和备用选项。
- 安全加固:审查并解决安全问题。
MCP 服务器的部署选项
云部署选项
1. 容器化服务
使用 Docker 和 Kubernetes 进行容器化是云环境中部署 MCP 服务器的流行方法。这提供了:
- 可扩展性:根据需求轻松扩展
- 可移植性:跨不同云提供商部署
- 隔离性:每个 MCP 服务器在其自己的容器中运行
- 编排:Kubernetes 处理服务发现、负载均衡和故障转移
2. 无服务器部署
对于不需要持久连接的 MCP 服务器,可以使用 AWS Lambda、Google Cloud Functions 或 Azure Functions 等无服务器选项。优点包括:
- 按使用付费的定价模式
- 自动扩展
- 无需基础设施管理
- 适用于事件驱动的 MCP 实现
3. 云托管服务
主要云提供商提供托管服务,可以托管 MCP 服务器:
- AWS App Runner 或 Elastic Beanstalk
- Google Cloud Run
- Azure App Service
- Digital Ocean App Platform
这些服务处理基础设施扩展,而你专注于应用逻辑。
自托管部署选项
1. 本地服务器
传统的本地部署涉及将 MCP 服务器直接安装在数据中心的物理服务器上。这提供了:
- 完全控制硬件
- 数据驻留和合规性优势
- 不依赖外部云服务
- 可以针对特定工作负载进行优化
2. 私有云
使用 OpenStack 或 VMware vSphere 等技术在私有云基础设施上部署 MCP 服务器。这提供了:
- 虚拟化优势,同时将数据保留在内部
- 资源池和自动配置
- 增强的安全和隐私控制
- 比公共云更好的隔离性,适用于敏感实现
3. 边缘部署
对于延迟敏感的应用,可以将 MCP 服务器部署在边缘,更接近数据生成和消费的地方。优点包括:
- 减少实时应用的延迟
- 带宽优化
- 适用于分布式架构
- 可以在连接有限的环境中运行
混合方法
许多组织选择混合部署策略:
- 主要 MCP 服务器在云中,边缘部署用于延迟敏感的操作
- 关键组件自托管,辅助服务在云中
- 开发和测试在云中,生产在自托管环境中
实施考虑因素
选择部署选项时,请考虑以下因素:
- 可扩展性需求:你的 MCP 服务器需要处理多少并发连接?
- 数据隐私问题:是否有数据处理的法规要求?
- 延迟需求:实时通信对你的应用是否至关重要?
- 预算限制:云服务提供灵活性,但成本会随使用量增加
- 团队专业知识:自托管选项需要更多基础设施专业知识
传输方法比较
特性 | SSE | STDIO |
设置复杂性 | 需要单独的服务器进程 | 服务器嵌入在客户端进程中 |
网络需求 | 需要 HTTP 连接 | 在单个主机内工作 |
可扩展性 | 更适合分布式系统 | 更适合单主机部署 |
调试 | 更容易监控网络流量 | 更难检查通信 |
资源使用 | 更高的开销 | 更低的开销 |
安全性 | 需要网络安全考虑 | 更封闭的安全边界 |
后续想法
- 支持多个审核提供商:添加对其他审核 API 的支持。
- 自定义审核规则:允许配置自定义审核策略。
- 内容分类:扩展到二元审核之外的内容分类。
- 解释生成:提供人类可读的审核决策解释。
- Web 界面:添加用于测试和监控审核的 Web 界面。
- 反馈循环:实现从误报/漏报中学习的系统。
- 批量处理:添加高效审核批量内容的功能。
截图
SSE 传输版本
STDIO 传输版本
测试
致谢
- OpenAI 提供审核 API
- Google ADK 提供代理框架
- MCP 提供 Model Context Protocol
联系方式
许可证
- Author:waytomcp
- URL:https://www.waytomcp.com/article/alexey-tyurin/ai-agent-mcp
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!