根据 Reviewer 技术修正意见更新 DevelopmentPlan.md V1.2
关键修正: 1. Logo 检测:废弃 YOLOv8,改为 Embedding-based Retrieval (Grounding DINO + Vector DB) - 支持 SaaS 模式动态添加竞品 Logo,无需重训练 2. Brief 解析:增加 Layout Analysis + VLM,支持提取 PDF 中的参考图片 3. GPU 资源:单一 T4 改为弹性 GPU 集群 (PAI-EAS/veFaaS),支持自动扩缩容 4. H5 防锁屏:增加 Wake Lock API 策略,解决 iOS Safari 上传中断问题 5. 排期调整:Phase 2 从 3 周延长至 4 周,总周期 10→11 周 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
4b8be74cb7
commit
e8e4edfd66
@ -11,7 +11,7 @@
|
||||
| 文档类型 | **Development Plan (技术架构与实施计划)** |
|
||||
| --- | --- |
|
||||
| **项目名称** | SmartAudit (AI 营销内容合规审核平台) |
|
||||
| **版本号** | V1.1 |
|
||||
| **版本号** | V1.2 |
|
||||
| **日期** | 2026-02-03 |
|
||||
| **依据** | FeatureSummary V1.2, PRD V1.0, RequirementsDoc V1.0 |
|
||||
| **侧重** | 技术选型、架构设计、MVP 范围、开发排期、验收标准 |
|
||||
@ -24,6 +24,7 @@
|
||||
| --- | --- | --- | --- |
|
||||
| V1.0 | 2026-02-03 | Gemini | 初稿:技术架构、选型、排期 |
|
||||
| V1.1 | 2026-02-03 | Claude | 审阅修订:补充 F-05-A/F-45 技术方案、验收标准、数据模型、测试策略 |
|
||||
| V1.2 | 2026-02-03 | Claude | Reviewer 修正:Logo检测改向量检索、Brief解析增VLM、弹性GPU、H5防锁屏、排期调整 |
|
||||
|
||||
---
|
||||
|
||||
@ -56,9 +57,10 @@ graph TD
|
||||
end
|
||||
|
||||
subgraph AI_Engine [AI 引擎集群]
|
||||
Svc_Parser[Brief 解析服务 (LangChain)]
|
||||
Svc_Parser[Brief 解析服务 (Layout+VLM+LLM)]
|
||||
Svc_NLP[脚本/语义分析 (LLM)]
|
||||
Svc_Video[视频多模态流水线]
|
||||
Svc_Logo[Logo 向量检索服务]
|
||||
end
|
||||
|
||||
subgraph Storage
|
||||
@ -88,7 +90,7 @@ graph TD
|
||||
| 模块 | 选型建议 | 理由 (Why) |
|
||||
| --- | --- | --- |
|
||||
| **前端框架** | **Next.js (React)** + Tailwind CSS | 统一 PC 和 H5 代码库;Next.js 的 SSR 对 SEO 和首屏渲染友好;适合构建复杂的审核 Dashboard。 |
|
||||
| **移动端** | **Responsive H5** | 达人端无需开发原生 App,通过 Next.js 响应式布局覆盖 iOS/Android 浏览器及微信内嵌浏览器。 |
|
||||
| **移动端** | **Responsive H5 + Wake Lock API** | 达人端无需开发原生 App,通过 Next.js 响应式布局覆盖 iOS/Android 浏览器及微信内嵌浏览器。⭐ V1.2 增加防锁屏策略。 |
|
||||
| **后端 API** | **Python (FastAPI)** | Python 是 AI 原生语言,FastAPI 具有极高的并发性能(AsyncIO),方便集成 AI 模型 SDK。 |
|
||||
| **异步队列** | **Celery + Redis** | 视频审核是典型长耗时任务(3-5分钟),必须异步处理。Celery 成熟稳定。 |
|
||||
| **实时通讯** | **WebSocket (Socket.io)** | 必须实现(F-17),用于向前端实时推送“正在检测 Logo...”等细粒度进度。 |
|
||||
@ -101,10 +103,25 @@ graph TD
|
||||
| 任务 | 模型/服务选型 | 备注 |
|
||||
| --- | --- | --- |
|
||||
| **通用语义 (NLP)** | **豆包 Pro / Qwen-Max / DeepSeek** | 处理 Brief 解析、反讽识别、情感分析 |
|
||||
| **视觉理解 (VLM)** | **Qwen-VL / 豆包视觉** | 处理复杂场景理解(如:环境脏乱差、具体动作判定) |
|
||||
| **视觉理解 (VLM)** | **Qwen-VL / 豆包视觉** | 处理复杂场景理解(如:环境脏乱差、具体动作判定);**Brief 图片解析** |
|
||||
| **语音识别 (ASR)** | **Paraformer (阿里) / SenseVoice** | 高精度中文语音转写,支持时间戳对齐 |
|
||||
| **文字识别 (OCR)** | **PaddleOCR v4** | 针对中文视频字幕优化,开源免费,轻量级 |
|
||||
| **物体检测 (CV)** | **YOLOv8 (Fine-tuned)** | 需针对特定"竞品 Logo"进行微调训练,保证高召回率 |
|
||||
| **版面分析 (Layout)** | **PaddleOCR Layout / LayoutLMv3** | Brief PDF 版面分析,提取图文混排结构 |
|
||||
| **竞品 Logo 检测** | **Grounding DINO + Vector DB** | ⭐ V1.2 修正:改为向量检索方案,见下方说明 |
|
||||
|
||||
> ⚠️ **V1.2 重要修正 - Logo 检测架构变更:**
|
||||
>
|
||||
> **废弃方案:** ~~YOLOv8 Fine-tuning~~
|
||||
>
|
||||
> **新方案:Embedding-based Retrieval (向量检索)**
|
||||
> ```
|
||||
> 1. 品牌方上传竞品 Logo 图片
|
||||
> 2. Grounding DINO 提取 Logo 区域 → CLIP/DINOv2 生成 Embedding
|
||||
> 3. 存入 Vector DB (pgvector/Milvus)
|
||||
> 4. 视频帧检测时:提取候选区域 → 生成 Embedding → 向量相似度匹配
|
||||
> ```
|
||||
>
|
||||
> **优势:** 支持 SaaS 模式下品牌**动态添加竞品 Logo**,无需重新训练模型,**即刻生效**。
|
||||
|
||||
> ⚠️ **国内数据合规说明:** 根据 PRD 第 10 章"数据本地化"要求,国内客户数据必须存储于中国大陆境内服务器。因此:
|
||||
> - **生产环境必须使用国内 LLM**(豆包/Qwen/DeepSeek),不可调用 GPT-4o/Claude 等海外 API
|
||||
@ -123,6 +140,18 @@ graph TD
|
||||
2. **分片上传:** 使用 Tus 协议,将 100MB 视频切分为 5MB 的 chunk 上传,服务端合并。
|
||||
3. **直传 OSS:** 前端获取签名直传云存储,不经过应用服务器,节省带宽。
|
||||
|
||||
### 2.1.1 难点:H5 移动端上传中断 ⭐ V1.2 新增
|
||||
|
||||
* **风险:** iOS Safari 在屏幕锁定或切换后台时会杀死网络请求进程,导致大文件上传中断。
|
||||
* **方案:**
|
||||
1. **Wake Lock API:** 在上传期间请求屏幕常亮锁,防止系统休眠。
|
||||
```javascript
|
||||
const wakeLock = await navigator.wakeLock.request('screen');
|
||||
```
|
||||
2. **UI 防锁屏提示:** 上传开始时显示醒目提示:"⚠️ 上传中请保持屏幕常亮,切勿锁屏或切换应用"
|
||||
3. **断点续传兜底:** Tus 协议支持断点续传,即使中断也可从断点恢复。
|
||||
4. **兼容性处理:** Wake Lock API 在部分旧浏览器不支持,需做 Feature Detection 并提供降级提示。
|
||||
|
||||
|
||||
|
||||
### 2.2 难点:长时任务的用户焦虑 (F-17)
|
||||
@ -205,34 +234,37 @@ graph TD
|
||||
## 4. 开发周期规划 (Roadmap)
|
||||
|
||||
假设配置:1 PM, 1 UI/UX, 2 Frontend, 2 Backend, 1 AI Engineer, 1 QA。
|
||||
**总周期:约 10 周 (2.5 个月)**
|
||||
**总周期:约 11 周 (2.75 个月)** ⭐ V1.2 调整:Phase 2 延长 1 周
|
||||
|
||||
### Phase 1: 基础设施与 Brief 引擎 (Weeks 1-2)
|
||||
|
||||
* **Backend:** 搭建 FastAPI 框架,PG 数据库设计,接入 OSS。
|
||||
* **AI:** 调试 Brief 解析 Prompt,搭建竞品 Logo 向量库。
|
||||
* **AI:** 调试 Brief 解析 Prompt (Layout + VLM + LLM),搭建竞品 Logo 向量库。
|
||||
* **Frontend:** 完成 PC 端框架搭建,Brief 上传与解析交互。
|
||||
* **交付物:** 能够上传 PDF 并提取出 JSON 规则。
|
||||
* **交付物:** 能够上传 PDF(含图片)并提取出 JSON 规则。
|
||||
|
||||
### Phase 2: 核心 AI 流水线 (Weeks 3-5) ⭐ *攻坚期*
|
||||
### Phase 2: 核心 AI 流水线 (Weeks 3-6) ⭐ *攻坚期* (V1.2: 3周→4周)
|
||||
|
||||
* **Backend:** 实现 Celery 异步队列,集成 Tus 上传协议。
|
||||
* **Backend:** 实现 Celery 异步队列,集成 Tus 上传协议,对接弹性 GPU 集群。
|
||||
* **AI:** 串联 ASR -> OCR -> NLP -> CV 模型;实现 F-09 (语境) 和 F-45 (频次) 逻辑。
|
||||
* **Frontend:** 开发 WebSocket 进度组件,实现“透明思考”UI。
|
||||
* **交付物:** 后端可跑通“视频输入 -> 审核报告输出”的完整流程。
|
||||
* **AI:** 实现 Logo 向量检索流水线 (Grounding DINO + Vector DB)。
|
||||
* **Frontend:** 开发 WebSocket 进度组件,实现"透明思考"UI。
|
||||
* **交付物:** 后端可跑通"视频输入 -> 审核报告输出"的完整流程。
|
||||
|
||||
### Phase 3: 达人端 H5 与 审核台 (Weeks 6-8)
|
||||
> ⚠️ **V1.2 排期调整说明:** Phase 2 从 3 周延长至 4 周,预留充足时间处理**多模态时间戳对齐**的工程难题(ASR/OCR/CV 的时间轴需要精确同步)。
|
||||
|
||||
* **Frontend (H5):** 开发达人手机端上传、查看报告、申诉页面 (响应式适配)。
|
||||
* **Frontend (PC):** 开发复杂的“审核决策台”(视频播放器与时间轴打点的联动)。
|
||||
### Phase 3: 达人端 H5 与 审核台 (Weeks 7-9)
|
||||
|
||||
* **Frontend (H5):** 开发达人手机端上传、查看报告、申诉页面 (响应式适配 + Wake Lock 防锁屏)。
|
||||
* **Frontend (PC):** 开发复杂的"审核决策台"(视频播放器与时间轴打点的联动)。
|
||||
* **Backend:** 实现申诉逻辑、审核状态流转 (State Machine)。
|
||||
* **交付物:** 达人可上传,代理商可审核,流程闭环。
|
||||
|
||||
### Phase 4: 联调与验收 (Weeks 9-10)
|
||||
### Phase 4: 联调与验收 (Weeks 10-11)
|
||||
|
||||
* **QA:** 全链路测试,重点测试大文件上传稳定性、AI 误报率。
|
||||
* **AI:** 根据测试数据微调 Prompt,优化“油腻/爹味”提示词。
|
||||
* **Ops:** 部署生产环境,配置 CDN,压力测试。
|
||||
* **QA:** 全链路测试,重点测试大文件上传稳定性、AI 误报率、H5 兼容性。
|
||||
* **AI:** 根据测试数据微调 Prompt,优化"油腻/爹味"提示词。
|
||||
* **Ops:** 部署生产环境,配置 CDN,弹性 GPU 集群压力测试。
|
||||
* **交付物:** v1.0 上线。
|
||||
|
||||
---
|
||||
@ -242,13 +274,24 @@ graph TD
|
||||
| 资源类型 | 规格/服务 | 预估成本 | 备注 |
|
||||
| --- | --- | --- | --- |
|
||||
| **应用服务器** | 8C 16G * 2 (Web/API) | Medium | 承载 API 和 Websocket |
|
||||
| **AI 推理服务器** | GPU T4/A10 * 1 | High | 用于跑本地 OCR/YOLO 模型 |
|
||||
| **LLM API** | GPT-4o / Doubao Pro | 按量计费 | 核心语义分析 |
|
||||
| **ASR 服务** | 阿里/腾讯云 API | 按量计费 | 语音转文字 |
|
||||
| **AI 推理集群** | **弹性 GPU 集群 / Serverless GPU** | High | ⭐ V1.2 修正,见下方说明 |
|
||||
| **LLM API** | 豆包 Pro / Qwen-Max | 按量计费 | 核心语义分析(国内合规) |
|
||||
| **ASR 服务** | 阿里云 Paraformer API | 按量计费 | 语音转文字 |
|
||||
| **存储 (OSS)** | 预留 5TB | Low | 视频与图片存储 |
|
||||
| **数据库** | RDS PostgreSQL (High Avail) | Medium | 业务数据 |
|
||||
| **数据库** | RDS PostgreSQL (High Avail) | Medium | 业务数据 + pgvector |
|
||||
| **缓存** | Redis Cluster | Medium | 队列与实时状态 |
|
||||
|
||||
> ⚠️ **V1.2 重要修正 - GPU 资源策略变更:**
|
||||
>
|
||||
> **废弃方案:** ~~单一 GPU T4/A10 * 1~~
|
||||
>
|
||||
> **新方案:弹性 GPU 集群 / Serverless GPU**
|
||||
> - **阿里云 PAI-EAS** / **火山引擎 veFaaS** / **AWS SageMaker Serverless**
|
||||
> - 按推理请求计费,支持自动扩缩容
|
||||
> - 高峰期自动扩容,空闲时缩容至 0
|
||||
>
|
||||
> **理由:** 单个 T4 无法支撑高并发下的视频处理 SLA(5分钟内)。弹性方案可应对突发流量,同时控制成本。
|
||||
|
||||
---
|
||||
|
||||
## 6. 风险管理 (Risk Management)
|
||||
@ -358,10 +401,12 @@ graph TD
|
||||
## 10. 下一步行动 (Next Steps)
|
||||
|
||||
1. **架构师:** 确认 `Database Schema` (特别是 Brief 规则与审核报告的 JSON 结构)。
|
||||
2. **UI 设计师:** 优先输出 **"达人端 H5 上传页"** 和 **"代理商 PC 审核台"** 的高保真原型。
|
||||
3. **AI 工程师:** 立即开始训练/微调 **"竞品 Logo 检测"** 的 YOLO 模型(需收集样本)。
|
||||
4. **后端工程师:** 搭建 FastAPI 框架骨架,集成 Celery 异步队列。
|
||||
5. **QA:** 准备 AI 模型测试集(违禁词、Logo、Brief 样本)。
|
||||
2. **UI 设计师:** 优先输出 **"达人端 H5 上传页"**(含防锁屏提示)和 **"代理商 PC 审核台"** 的高保真原型。
|
||||
3. **AI 工程师:** 搭建 **Logo 向量检索系统** (Grounding DINO + pgvector),验证相似度匹配效果。
|
||||
4. **AI 工程师:** 调试 **Brief 解析流水线** (Layout Analysis + VLM),确保能提取 PDF 中的参考图片。
|
||||
5. **后端工程师:** 搭建 FastAPI 框架骨架,集成 Celery 异步队列,对接弹性 GPU 服务。
|
||||
6. **前端工程师:** 验证 Wake Lock API 在 iOS Safari / 微信内置浏览器的兼容性。
|
||||
7. **QA:** 准备 AI 模型测试集(违禁词、Logo、Brief 样本)。
|
||||
|
||||
---
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user