阿里云内容安全2.0服务demo,支持对视频、图片和文字进行内容安全审核。
.vscode | ||
cmd | ||
conf | ||
internal | ||
.gitignore | ||
examples.md | ||
go.mod | ||
go.sum | ||
README.md | ||
run.bat | ||
run.sh |
阿里云内容安全2.0 Demo
这是一个使用Go语言编写的阿里云内容安全2.0服务演示程序,支持对视频、图片和文字进行内容安全审核。
功能特性
-
🖼️ 图片内容安全审核
- 支持通过URL或本地文件进行图片审核
- 支持多种图片格式:JPG、PNG、BMP、GIF、WEBP
- 检测场景:色情、暴恐、广告、直播、Logo等
-
📝 文本内容安全审核
- 支持单条文本和批量文本审核
- 检测场景:反垃圾信息
- 提供详细的违规内容定位信息
-
🎥 视频内容安全审核
- 支持异步和同步视频审核
- 自动截帧分析
- 提供帧级别的违规内容定位
环境要求
- Go 1.21 或更高版本
- 阿里云账号并开通内容安全2.0服务
- 有效的阿里云AccessKey
安装和配置
1. 克隆项目
git clone <your-repo-url>
cd content-security-demo
2. 安装依赖
go mod tidy
3. 配置阿里云AccessKey
有两种方式配置AccessKey:
方式一:使用环境变量
export ALIBABA_CLOUD_ACCESS_KEY_ID="your_access_key_id"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="your_access_key_secret"
方式二:使用.env文件
- 复制配置文件:
cp env.example .env
- 编辑
.env
文件,填入您的AccessKey信息:
ALIBABA_CLOUD_ACCESS_KEY_ID=your_access_key_id_here
ALIBABA_CLOUD_ACCESS_KEY_SECRET=your_access_key_secret_here
ALIBABA_CLOUD_REGION=cn-shanghai
ALIBABA_CLOUD_ENDPOINT=green.cn-shanghai.aliyuncs.com
4. 运行程序
go run .
使用说明
运行程序后,会显示交互式菜单:
=== 阿里云内容安全2.0 Demo ===
支持视频、图片、文字内容安全审核
请选择要测试的功能:
1. 图片内容安全审核
2. 文本内容安全审核
3. 视频内容安全审核
4. 退出
图片审核
- 通过URL审核:输入图片的公开URL地址
- 通过文件审核:输入本地图片文件的完整路径
支持的图片格式:JPG、JPEG、PNG、BMP、GIF、WEBP 文件大小限制:最大9MB
文本审核
- 单条文本:输入一段文本进行审核
- 批量文本:输入多行文本,每行一条,空行结束
视频审核
- 异步扫描:提交任务后立即返回任务ID,可稍后查询结果
- 同步扫描:等待审核完成并返回结果(可能需要几分钟)
审核结果说明
建议类型
pass
:通过review
:需要人工审核block
:拒绝
检测场景
porn
:色情内容terrorism
:暴恐内容ad
:广告内容live
:直播内容logo
:Logo识别antispam
:反垃圾信息
项目结构
.
├── main.go # 主程序入口
├── config.go # 配置管理
├── image_scanner.go # 图片审核功能
├── text_scanner.go # 文本审核功能
├── video_scanner.go # 视频审核功能
├── go.mod # Go模块文件
├── env.example # 环境变量示例
└── README.md # 项目说明
注意事项
-
费用说明:阿里云内容安全服务按调用次数计费,请查看官方定价
-
权限配置:建议为RAM用户创建AccessKey,并授予
AliyunYundunGreenWebFullAccess
权限 -
文件限制:
- 图片:最大9MB,建议分辨率大于256×256像素
- 视频:支持多种格式,建议使用异步审核
-
网络要求:需要能够访问阿里云服务端点
错误处理
程序包含完善的错误处理机制:
- 配置验证
- 网络请求错误处理
- 文件格式和大小验证
- API响应解析错误处理
扩展功能
可以根据需要扩展以下功能:
- 添加更多检测场景
- 实现结果缓存机制
- 添加批量处理功能
- 集成到Web服务中
技术支持
如有问题,请参考:
许可证
MIT License