1. 用途和受众
1.1 预期用途
- 指导华为云上聊天频道图片内容自动审核系统的设计和开发。
- 为售前、解决方案设计、实施和审查提供可重用的架构模式。
- 作为解决方案手册、交付包或实际部署的架构基础。
- 定义安全性、可靠性、性能、成本、运营和合规性护栏。
1.2 目标受众
- 华为云 FunctionGraph 用户和 Serverless 应用开发者;
- 需要为大型企业聊天工作区或在线社区构建自动化内容审核机制的平台运维团队;
- 关注聊天频道内容合规、希望利用 AI 图像审核自动检测并清除色情/暴力等敏感图片的安全治理人员;
- 需要以事件驱动 + 全托管 Serverless 方式实现毫秒级图片审核、弹性应对大规模消息流量的应用架构师;
- 负责教育平台、公共社交频道等场景内容安全保护、希望降低人工审核成本并实现 7×24 自动值守的 IT 管理者。
2. 参考架构概述
2.1 架构描述
本架构是一个聊天频道图片内容自动审核系统,用于自动检测并删除聊天应用频道中用户发送的不当图片(含色情、暴力等敏感内容)。当用户在 Slack 频道发布图片消息时,系统自动调用 AI 图像审核服务检测图片内容,一旦发现不当内容,立即从频道删除该图片并由机器人发布删除说明消息。架构采用全 Serverless 设计,通过 API 网关接收事件回调,函数工作流编排审核流程,ModelArts 执行 AI 推理,实现事件驱动 + 自动决策 + 闭环治理三位一体的内容安全控制。
2.2 业务背景
| 项目 |
描述 |
| 业务问题 |
大型聊天频道中用户可能发布不当图片(色情、暴力等),人工审核滞后且无法 7×24 值守,不当图片可能已被大量用户看到后才删除 |
| 期望的结果 |
图片发布后秒级自动审核,发现不当内容即刻删除并通知,全程无需人工干预,弹性应对流量高峰 |
| 主要用户 |
大型企业 Slack 工作区管理员、在线社区运营团队、教育平台聊天频道管理员 |
| 关键制约因素 |
需兼容 Slack Event Subscription 机制、审核延迟需在秒级以内、全 Serverless 架构按需计费、需支持大规模频道(数千条消息/天) |
| 成功指标 |
不当图片检测覆盖率 ≥ 99%、从图片发布到审核完成耗时 < 5 秒、误删率 < 1%、无人值守 7×24 运行 |
2.3 架构优点
| 优点 |
描述 |
| 全 Serverless |
APIG + FunctionGraph + ModelArts 全部为托管服务,无需预置或管理服务器,按实际调用量计费,天然弹性伸缩 |
| 事件驱动 |
Slack 事件回调 → APIG → FunctionGraph,整个流程由事件触发,无轮询开销,图片发布后即刻审核 |
| AI 自动决策 |
ModelArts 图像审核自动判断图片是否包含不当内容,支持分层标签与置信度分数,可精细配置审核策略 |
| 闭环治理 |
检测 → 删除 → 通知三步自动完成,不当图片被秒级清除,同时发布说明消息保持透明度 |
| 安全可控 |
IAM 统一管控 API 调用权限,CES 全链路监控,确保架构安全可观测 |
2.4 设计关注点
| 效益 |
架构如何实现它 |
测量 |
| 安全与合规 |
IAM 统一身份认证管控 API 调用权限;ModelArts 基于深度学习检测敏感内容;审核策略可按置信度阈值精细配置 |
不当图片检测覆盖率 ≥ 99%;误删率 < 1% |
| 可靠性和弹性 |
全 Serverless 架构,函数自动弹性伸缩,无单点故障;OBS 提供高可靠图片临时存储 |
服务可用性 ≥ 99.95% |
| 性能和可扩展性 |
事件驱动无轮询开销;FunctionGraph 毫秒级冷启动;按需弹性应对流量高峰 |
从图片发布到审核完成 < 5 秒 |
| 成本效益 |
全托管服务按实际调用量计费,无闲置资源成本;无需专职审核人员 |
相比人工审核成本降低 90%+ |
| 卓越运营 |
CES 监控函数运行指标(调用次数、执行时长、错误率),收集日志,支持告警通知 |
监控覆盖率 100% |
| 交付敏捷性 |
架构模式可复用,通过 Slack Event Subscription 配置即可接入新频道 |
新频道接入 < 30 分钟 |
2.5 典型架构
典型架构图
架构采用 6 层布局:
| 层级 |
名称 |
包含服务 |
| 外部系统 |
聊天应用平台 |
Slack 用户、Slack API |
| 接入层 |
API 网关层 |
API 网关 APIG |
| 计算层 |
函数编排层 |
函数工作流 FunctionGraph |
| AI 推理层 |
图像审核层 |
AI 开发平台 ModelArts |
| 数据层 |
临时存储层 |
对象存储 OBS |
| 公共服务 |
横跨各层 |
统一身份认证 IAM、云监控 CES |
2.6 流程描述
架构按编号标注了完整的事件处理流程:
| 步骤 |
描述 |
| ① |
Slack 用户在频道发布含图片的消息 |
| ② |
Slack 通过 Event Subscription 将事件回调发送至 API 网关 |
| ③ |
API 网关触发 FunctionGraph 函数,函数验证事件并下载图片至 OBS |
| ④ |
函数调用 ModelArts 图像内容审核,检测是否包含色情/暴力/敏感内容 |
| ⑤ |
若检测到不当内容,函数通过 Slack API 删除频道中的不当图片 |
| ⑥ |
机器人通过 Slack API 发布图片删除说明消息至频道 |
[Slack用户] ──①──> [Slack API] ──②──> [APIG] ──③──> [FunctionGraph]
├──> [OBS] (下载/存储图片)
├──④──> [ModelArts] (图像审核)
└──⑥──> [Slack API] (删除+发消息)
2.7 云服务产品清单
| 分类 |
服务或产品 |
推荐配置 |
| 接入 |
API 网关 APIG |
接收 Slack Event Subscription 回调,配置请求验证与路由转发 |
| 计算 |
函数工作流 FunctionGraph |
Serverless 函数:验证事件 token、下载图片、调用审核、执行删除与通知 |
| AI 推理 |
AI 开发平台 ModelArts |
图像内容审核,检测色情/暴力/敏感内容,返回标签与置信度分数 |
| 数据 |
对象存储 OBS |
图片临时存储,供函数下载和分析,处理完成后自动清理 |
| 安全 |
统一身份认证 IAM |
管理 API 网关调用权限、函数执行权限,按最小权限原则配置 |
| 运维 |
云监控服务 CES |
监控函数运行指标(调用次数、执行时长、错误率),日志采集与告警 |
3. 参考链接
- 产品文档:https://support.huaweicloud.com/productdesc-apig/zh-cn_topic_0080100778.html
- 实施指南:https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0001.html
- 源代码或 IaC:
- 操作手册:
- 源参考架构:
4. 使用限制
- Slack Event Subscription 要求回调 URL 必须在 3 秒内返回 HTTP 200,函数冷启动可能超时,建议预留预热实例。
- ModelArts 图像审核模型的检测精度依赖于训练数据,特定场景(如卡通、艺术作品)可能产生误判,需调优置信度阈值。
- OBS 临时存储的图片需配置生命周期策略自动清理,避免长期占用存储空间。
- 架构当前仅支持 Slack 平台,扩展至其他聊天平台(如飞书、钉钉)需适配各自的事件回调机制。
附录 A. 术语和缩略语
| 术语 |
定义 |
| APIG |
API 网关(API Gateway),接收外部 HTTP 请求并路由到后端服务 |
| FunctionGraph |
函数工作流,华为云 Serverless 计算服务,事件驱动的函数执行平台 |
| ModelArts |
AI 开发平台,提供模型训练、推理和图像内容审核能力 |
| OBS |
对象存储服务(Object Storage Service),提供高可靠、低成本的云存储 |
| IAM |
统一身份认证与权限管理(Identity and Access Management) |
| CES |
云监控服务(Cloud Eye Service),监控云资源指标与告警 |
| Event Subscription |
Slack 事件订阅机制,将频道事件通过 HTTP 回调推送至指定 URL |
| SNAT |
源网络地址转换(Source NAT),转换数据包的源 IP 地址 |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
评论(0)