新增文件:
- docs/PIPELINE_PROGRESS_UPDATE_FOR_CORE.md
目的:
說明 Momentry Studio 前端對 Pipeline 進度顯示的實現和需求,供 Core Team 參考實現後端 API。
文件內容:
1. 四階段架構說明
- 階段 1: 處理器 (30%) - ASR、ASRX、FACE、Face Tracing、OCR、CUT
- 階段 2: 知識圖譜 (35%) - TKG Nodes、TKG Edges
- 階段 3: 片段提取 (6%) - VLM Summary、Scene VLM、Moment Chunks
- 階段 4: 資料整合 (29%) - Rule1、Rule2、Face Dedup
2. 關鍵更新說明
- ASRX 處理器: 說話人向量化 (VOD)
- Face Tracing: 從階段 4 移至階段 1
- 向量入庫: 文字、說話人、人臉
3. 進度計算方式
- 總體進度 = 加權平均
- 計算範例
4. 需要的 API 端點
- GET /api/v1/pipeline/phases (主要)
- GET /api/v1/file/{uuid}/progress (快速輪詢)
- GET /api/v1/file/{uuid}/scene-vlm-stats (已實現)
5. API 回應格式
- 完整的 JSON 結構
- 狀態值定義
- 進度範例
6. 前端實現說明
- 顯示位置
- 顯示內容
- 更新機制
7. 處理器完整列表
- 名稱、功能、輸出
8. 建議實現順序
- Phase 1-4 實現步驟
9. 驗收標準
- API 驗收
- 進度更新驗收
- 前端顯示驗收
用途:
- Core Team 實現後端 API 的參考文件
- 前後端協作規範
- 測試驗收標準
9.7 KiB
9.7 KiB
Pipeline 四階段進度更新說明 - Core Team 參考
文件: Pipeline Progress Update for Core Team
日期: 2026-10-15
版本: v0.1.0
作者: Momentry Studio Team
📌 目的
說明 Momentry Studio 前端對 Pipeline 進度顯示的實現和需求,供 Core Team 參考實現後端 API。
🎯 四階段架構
階段總覽
Momentry Studio 將 Pipeline 分為四個主要階段:
| 階段 | 名稱 | 權重 | 功能 |
|---|---|---|---|
| 1 | 處理器 (Processors) | 30% | 原始媒體分析 |
| 2 | 知識圖譜 (Knowledge Graph) | 35% | 關係網路建構 |
| 3 | 片段提取 (Moment Extraction) | 6% | AI 內容理解 |
| 4 | 資料整合 (Integration) | 29% | 資料入庫儲存 |
階段 1: 處理器 (Processors)
權重: 30%
包含的處理器:
- ASR: 語音識別 - 轉換語音為文字
- ASRX: 說話人向量化 (VOD) - 建立說話人身分
- FACE: 人臉檢測 - 檢測人臉位置和特徵
- Face Tracing: 人臉追蹤 - 追蹤人臉在視訊中的軌跡
- OCR: 文字識別 - 識別畫面文字
- CUT: 鏡頭切換 - 識別場景切換點
說明:
- ASRX 使用 VOD 技術將說話人語音特徵向量化
- Face Tracing 已從階段 4 移至階段 1,作為處理器執行
- 所有處理器並行執行
階段 2: 知識圖譜 (Knowledge Graph)
權重: 35%
包含的步驟:
- TKG Nodes: 人物/物品/對話節點建構
- TKG Edges: 人物關係/共現關係建構
階段 3: 片段提取 (Moment Extraction)
權重: 6%
包含的步驟:
- VLM Summary: 視訊總結
- Scene VLM: 場景理解
- Moment Chunks: 片段分割
階段 4: 資料整合 (Integration)
權重: 29%
包含的步驟:
Rule1 Ingestion (PostgreSQL 入庫)
- 句子區塊 (sentence_chunks)
- 關係資料 (relationship_chunks)
- 追蹤區塊 (trace_chunks)
Rule2 Ingestion (向量入庫 - Qdrant)
- 文字向量入庫: 句子嵌入向量,支援語意搜尋
- 說話人語音向量入庫: 由 ASRX 處理器生成,VOD 實現
- 人臉向量入庫: 人臉嵌入向量,支援人臉識別
Face Dedup (人臉去重)
- 去除重複的人臉檢測結果
- 合併同一人的多次檢測
🔍 關鍵更新說明
1. ASRX 處理器 (說話人向量化)
名稱: ASRX (非 VSRX)
功能:
- 使用 VOD 技術
- 將說話人語音特徵轉換為向量
- 建立說話人身分
位置: 階段 1 (處理器)
輸出:
- 說話人嵌入向量
- 用於後續的說話人向量入庫 (階段 4)
2. Face Tracing 處理器
位置變更: 階段 4 → 階段 1
原因:
- Face Tracing 是基於人臉檢測結果的追蹤
- 屬於原始媒體分析的一部分
- 應該在處理器階段完成
功能:
- 追蹤人臉在視訊中的軌跡
- 建立人臉出現序列
- 關聯同一人的多次出現
3. 向量入庫說明
文字向量入庫:
- 句子嵌入向量
- 支援語意搜尋和相似度匹配
說話人語音向量入庫 (VOD):
- 由 ASRX 處理器生成
- 說話人嵌入向量
- 支援說話人識別和跨視訊追蹤
人臉向量入庫:
- 人臉嵌入向量
- 支援人臉相似度搜尋和身分識別
📊 進度計算方式
總體進度公式
總體進度 = (階段1進度 × 30%) + (階段2進度 × 35%) + (階段3進度 × 6%) + (階段4進度 × 29%)
計算範例
範例 1: 處理器階段完成
Processors: 100% × 30% = 30%
Knowledge Graph: 0% × 35% = 0%
Moment Extraction: 0% × 6% = 0%
Integration: 0% × 29% = 0%
總體進度 = 30%
範例 2: 知識圖譜階段完成
Processors: 100% × 30% = 30%
Knowledge Graph: 100% × 35% = 35%
Moment Extraction: 0% × 6% = 0%
Integration: 0% × 29% = 0%
總體進度 = 65%
範例 3: 全部完成
Processors: 100% × 30% = 30%
Knowledge Graph: 100% × 35% = 35%
Moment Extraction: 100% × 6% = 6%
Integration: 100% × 29% = 29%
總體進度 = 100%
🔌 需要的 API 端點
1. Pipeline Phases API
端點: GET /api/v1/pipeline/phases
用途: 獲取檔案的 Pipeline 四階段進度
請求參數:
{
"file_uuid": "string"
}
回應格式:
{
"file_uuid": "abc-123",
"phases": [
{
"name": "processors",
"weight": 30,
"progress": 0.75,
"status": "processing",
"processors": [
{
"name": "asr",
"progress": 1.0,
"status": "completed"
},
{
"name": "asrx",
"progress": 0.8,
"status": "processing"
},
{
"name": "face",
"progress": 1.0,
"status": "completed"
},
{
"name": "face_tracing",
"progress": 0.5,
"status": "processing"
},
{
"name": "ocr",
"progress": 0.0,
"status": "pending"
},
{
"name": "cut",
"progress": 0.0,
"status": "pending"
}
]
},
{
"name": "knowledge_graph",
"weight": 35,
"progress": 0.0,
"status": "pending",
"steps": [
{
"name": "tkg_nodes",
"progress": 0.0,
"status": "pending"
},
{
"name": "tkg_edges",
"progress": 0.0,
"status": "pending"
}
]
},
{
"name": "moment_extraction",
"weight": 6,
"progress": 0.0,
"status": "pending",
"steps": [
{
"name": "vlm_summary",
"progress": 0.0,
"status": "pending"
},
{
"name": "scene_vlm",
"progress": 0.0,
"status": "pending"
},
{
"name": "moment_chunks",
"progress": 0.0,
"status": "pending"
}
]
},
{
"name": "integration",
"weight": 29,
"progress": 0.0,
"status": "pending",
"steps": [
{
"name": "rule1_ingestion",
"progress": 0.0,
"status": "pending"
},
{
"name": "rule2_ingestion",
"progress": 0.0,
"status": "pending"
},
{
"name": "face_dedup",
"progress": 0.0,
"status": "pending"
}
]
}
],
"overall_progress": 0.225
}
狀態值:
pending: 等待中processing: 處理中completed: 已完成failed: 失敗
2. File Progress API (可選,用於快速輪詢)
端點: GET /api/v1/file/{uuid}/progress
用途: 快速獲取檔案的總體進度(不包含詳細階段資訊)
回應格式:
{
"file_uuid": "abc-123",
"overall_progress": 0.65,
"status": "processing",
"phases": {
"processors": 100,
"knowledge_graph": 100,
"moment_extraction": 50,
"integration": 0
}
}
3. Scene VLM Stats API (已實現)
端點: GET /api/v1/file/{uuid}/scene-vlm-stats
用途: 獲取 Scene VLM 處理統計
回應格式:
{
"file_uuid": "abc-123",
"total_scenes": 10,
"processed_scenes": 8,
"progress": 0.8,
"status": "processing"
}
🎨 前端實現說明
顯示位置
Library 頁面 → 右鍵選單 → Pipeline Progress
顯示內容
-
四階段進度條
- 各階段進度百分比
- 狀態圖標 (✓ ○ ✗)
- 階段權重標示
-
處理器/步驟詳情
- 階段 1: 6 個處理器進度
- 階段 2: TKG Nodes + TKG Edges
- 階段 3: VLM Summary + Scene VLM + Moment Chunks
- 階段 4: Rule1 + Rule2 + Face Dedup
-
總體進度
- 四階段加權平均
- 整體處理狀態
更新機制
- 輪詢間隔: 2 秒
- 更新條件: 檔案狀態為
scanning - 停止條件: 檔案狀態為
agent_ready或失敗
📋 處理器完整列表
階段 1: 處理器 (Processors)
| 處理器名稱 | 功能 | 輸出 |
|---|---|---|
| ASR | 語音識別 | 文字稿 |
| ASRX | 說話人向量化 (VOD) | 說話人嵌入向量 |
| FACE | 人臉檢測 | 人臉位置、特徵 |
| Face Tracing | 人臉追蹤 | 人臉軌跡、出現序列 |
| OCR | 文字識別 | 畫面文字內容 |
| CUT | 鏡頭切換 | 場景切換點 |
🚀 建議實現順序
Phase 1: 基礎進度 API
- 實現
GET /api/v1/pipeline/phases端點 - 在 Redis 中儲存進度資訊
- Worker 更新進度
Phase 2: 階段劃分
- 將處理器分為四個階段
- ASRX 作為處理器 (階段 1)
- Face Tracing 作為處理器 (階段 1)
Phase 3: 進度計算
- 實現加權進度計算
- 計算各階段進度
- 計算總體進度
Phase 4: 前端整合
- 前端調用 API
- 顯示四階段進度
- 即時更新
🔗 相關文件
- 前端實現:
src/store.ts-loadPipelinePhases(),loadFileProgress() - UI 顯示:
src/views/LibraryView.vue- Pipeline Progress 對話框 - 用戶說明:
docs/PIPELINE_STAGES_EXPLANATION.md - 快速參考:
docs/PIPELINE_STAGES_QUICK_REF.md
✅ 驗收標準
API 驗收
GET /api/v1/pipeline/phases返回正確的四階段資料- 各階段進度準確
- 處理器列表包含 ASRX 和 Face Tracing
- 總體進度計算正確
進度更新驗收
- Worker 在各階段完成時更新進度
- 進度儲存在 Redis
- 前端可正確獲取進度
前端顯示驗收
- Library 頁面顯示四階段進度
- 各階段權重正確顯示
- 總體進度計算正確
- 狀態圖標正確顯示
📞 聯絡資訊
如有問題或需要討論,請聯繫:
Momentry Studio Team
最後更新: 2026-10-15
版本: v0.1.0