📋 1. 合规背景与要求
根据中国《生成式人工智能服务管理暂行办法》(2023年8月15日施行)第十六条要求:
法规要求:「提供者应当按照《互联网信息服务深度合成管理规定》对生成的图片、视频内容进行标识。提供者应当对生成内容进行标注,提示用户该内容由人工智能生成。」
作为AI模型API代理平台,TOENK API虽然不是模型的直接训练方,但作为服务提供者,仍需对其平台生成的AI内容进行标注。本方案旨在以最小化开发成本实现合规标注。
角色定位
| 角色 | 说明 | 合规责任 |
|---|---|---|
| TOENK API | AI模型API代理平台(非模型训练方) | 标注AI生成内容的来源和模型信息 |
| 上游供应商 | DeepSeek / OpenAI / Claude / Gemini 等 | 模型侧的内容安全责任 |
| API用户 | 使用API的开发者/企业 | 最终使用场景的合规责任 |
💡 2. 技术方案
方案一:响应头标注 推荐 · 立即实施
在所有API响应中添加自定义HTTP响应头,标记AI生成内容。这是最轻量、最低延迟的标注方式。
HTTP 响应头示例
# 在 Nginx 或 New-API 中间件中添加 x-toenk-ai-generated: true x-toenk-model: deepseek-v4-flash x-toenk-content-source: ai-generated x-toenk-timestamp: 1715510400 # OpenAI 兼容格式(可选) x-request-id: req_a1b2c3d4 openai-organization: toenk-api
实施方式:在Nginx反向代理层通过 add_header 指令添加,或通过New-API中间件动态设置。不涉及业务代码改造。
优势:零性能损耗、不影响API响应体、立即可实施、对用户透明。
方案二:响应内容元数据标注 推荐 · 短期实施
在API响应体中的每个choice中增加 content_filter_metadata 字段,携带AI生成标注信息。
JSON 响应体标注示例
{
"choices": [{
"message": {
"role": "assistant",
"content": "这是AI生成的回答内容..."
},
"content_filter_metadata": {
"generated_by_ai": true,
"model": "deepseek-v4-flash",
"provider": "toenk-api",
"timestamp": 1715510400,
"disclaimer": "内容由AI生成,仅供参考"
}
}],
"usage": {
"prompt_tokens": 42,
"completion_tokens": 156
}
}
实施方式:在API网关层拦截响应体,注入metadata字段。兼容OpenAI协议扩展字段。
优势:客户端可直接读取标注信息、更细粒度的标注控制、可包含免责声明。
方案三:前端界面标注 可选 · 补充方案
在TOENK API控制台界面中显示AI生成内容标识。
- 在Dashboard/日志页面添加「🤖 AI Generated」标签
- 在API响应测试工具中增加内容类型提示
- 在用户设置页面展示AI内容标注说明
优势:增强用户感知、覆盖API调用查看场景。
推荐组合方案:方案一(响应头,立即实施)+ 方案二(响应体元数据,短期实施)。两个方案互补覆盖传输层和应用层的标注需求。方案一覆盖HTTP协议层面的标注,方案二覆盖应用业务层面的标注。
🛠️ 3. 实施方案与路线图
3.1 Nginx层实施(方案一)
Nginx 配置示例
# 在 nginx site config 中添加 location /v1/chat/completions { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; # AI 生成内容标注头 add_header X-TOENK-AI-Generated "true" always; add_header X-TOENK-Content-Source "ai-generated" always; add_header X-TOENK-Model "toenk-proxy" always; # 安全头 add_header X-Content-Type-Options "nosniff" always; add_header X-Frame-Options "DENY" always; }
3.2 API响应拦截实施(方案二)
通过New-API的响应拦截机制,在返回给用户之前注入metadata字段。需开发一个轻量级中间件:
中间件逻辑(伪代码)
// 响应拦截中间件 function aiLabelingMiddleware(req, res, next) { // 保存原始send/res.json const originalJson = res.json.bind(res); res.json = function(body) { // 仅标注 chat completions 端点 if (body && body.choices) { body.choices = body.choices.map(choice => ({ ...choice, content_filter_metadata: { generated_by_ai: true, model: body.model || req.body.model, provider: "toenk-api", timestamp: Math.floor(Date.now() / 1000), disclaimer: "内容由AI生成,仅供参考" } })); } return originalJson(body); }; next(); }
3.3 实施路线图
| 阶段 | 时间 | 任务 | 状态 |
|---|---|---|---|
| Phase 1 | 第1天 | Nginx添加X-TOENK响应头标注 | 就绪可部署 |
| Phase 2 | 第3-5天 | 开发API响应拦截中间件 | 待开发 |
| Phase 3 | 第5-7天 | 部署中间件到测试环境验证 | 待测试 |
| Phase 4 | 第7-10天 | 生产部署 + 前端界面标注补充 | 待部署 |
📋 4. 算法备案准备材料
根据《互联网信息服务算法推荐管理规定》和《生成式人工智能服务管理暂行办法》,TOENK API作为AI服务提供方建议准备以下算法备案材料:
⚠️ 重要说明:TOENK API为API代理平台,非模型训练方或深度合成服务提供者。是否需要进行算法备案取决于监管机构的解释。建议在业务规模扩大后主动咨询网信办确认。
4.1 算法备案材料清单
- 算法安全自评估报告 — 对算法的安全性、公平性、透明性进行自我评估。对于代理平台,重点评估内容安全管控能力(不传播违法违规内容)、用户数据保护措施、算法透明度(清晰标注AI生成内容)。
- 算法备案申请表 — 填写《互联网信息服务算法备案申请表》,包含算法名称、算法类型、应用场景、服务提供者基本信息。TOENK API的算法类型应归类为「生成合成类」或「其他类」。需提供企业营业执照等信息。
- 算法说明文档 — 详细描述算法的名称、类型、基本原理、应用场景、输入输出数据类型。TOENK API需说明其作为代理/路由机制的架构,说明不涉及模型训练,仅提供API接口服务。
- 算法安全责任人信息 — 明确算法安全负责人、安全管理部门及其联系方式。一般由企业CTO或信息安全负责人担任。需提供姓名、职务、电话、邮箱等。
- 算法透明度和安全保障措施 — 说明算法的可解释性、可追溯性。对于TOENK API:提供API调用日志(脱敏)、模型来源追溯、用户协议中的透明度说明、内容审核机制(如有)。
- 用户权益保障机制 — 说明用户在使用AI服务过程中的权利保障:知情权(标注AI生成内容)、隐私保护(不存储对话内容)、投诉渠道、账号注销流程等。
- 投诉处理机制 — 建立用户投诉的接收、处理、反馈流程。提供投诉渠道(邮箱412828197@qq.com、在线反馈表单)、处理时限(建议72小时内回复)、处理结果反馈机制。
4.2 建议的合规自评检查表
| 检查项 | 状态 | 备注 |
|---|---|---|
| AI生成内容标注(响应头标注) | 可立即实施 | Nginx add_header |
| AI生成内容标注(响应体标注) | 待开发 | 中间件开发中 |
| 服务协议中的AI使用说明 | ✔️ 已发布 | privacy-policy.html |
| 投诉处理渠道 | ✔️ 已建立 | 邮箱 + 工单 |
| 内容安全审核机制 | 部分覆盖 | 上游模型已有限制 |
| 未成年人保护机制 | 需补充 | 建议在注册协议中补充 |
| 算法备案材料 | 待准备 | 按上述清单整理 |
📌 下一步行动:优先实施Nginx响应头标注(可当天完成),同时启动API响应拦截中间件的开发。算法备案材料可在本周内完成草稿编制,建议在业务达到一定规模时正式提交备案申请。