document_type, service, title, date, version, status, owner, created_by, tags, ai_query_hints
| document_type |
service |
title |
date |
version |
status |
owner |
created_by |
tags |
ai_query_hints |
| architecture_design |
MOMENTRY_CORE |
Momentry Core 架構總覽 |
2026-04-22 |
V1.0 |
active |
Warren |
OpenCode |
|
| 查詢 Momentry Core 架構總覽 的內容 |
| Momentry Core 架構總覽 的主要目的是什麼? |
| 如何操作或實施 Momentry Core 架構總覽? |
|
Momentry Core 架構總覽
| 項目 |
內容 |
| 建立者 |
OpenCode |
| 建立時間 |
2026-04-22 |
| 文件版本 |
V1.2 |
| 最後更新 |
2026-04-22 |
版本歷史
| 版本 |
日期 |
目的 |
操作人 |
工具/模型 |
| V1.1 |
2026-04-22 |
更新文檔索引,整合新文檔 |
OpenCode |
OpenCode / deepseek-v3.2 |
| V1.0 |
2026-04-22 |
創建架構總覽文件 |
OpenCode |
OpenCode / Qwen3.6-Plus |
1. 系統概覽
Momentry Core 是一個基於 Rust 的數字資產管理系統,專注於視頻分析與多模態檢索能力。系統結合了語音識別(ASR/ASRX)、人臉識別(Face Recognition)、物體檢測(YOLO)、場景分類(Places365)等多種 AI 模型,實現全面的視頻內容理解。
核心設計理念
- 邊緣 AI 優先:在本地設備上運行,減少雲端依賴
- 多模態融合:結合視覺、聽覺、文本等多種信號
- 層級分片架構:將連續視頻轉化為結構化知識單元
- 實時處理能力:支持 on-the-fly 處理,縮短等待時間
2. 整體架構圖
3. 核心模塊
3.1 API 層 (src/api/)
- 技術棧: Axum + Tower + Serde
- 功能: RESTful API 接口,支持同步/異步處理
- 關鍵文件:
server.rs: 主 API 服務器
search.rs: 搜索相關 API
face_recognition.rs: 人臉識別 API
person_identity.rs: 人物身份管理 API
3.2 核心業務邏輯 (src/core/)
- 分片引擎 (
chunk/): 視頻分片與知識萃取
- 處理器註冊表 (
processor/): AI 模型執行管理
- 文本處理 (
text/): 同義詞擴展、分詞
- 嵌入引擎: 語義向量生成
3.3 數據訪問層 (src/core/db/)
- PostgreSQL: 主數據存儲,關係型數據
- Redis: 緩存和隊列管理
- MongoDB: 文檔緩存
- Qdrant: 向量數據庫,語義搜索
3.4 外部工具集成 (scripts/)
- Python 腳本: ASR、Face、YOLO、OCR、Scene 等處理器
- FFmpeg/FFprobe: 視頻處理與元數據提取
- AI 模型: WhisperX、InsightFace、YOLOv8 等
4. 數據流架構
4.1 視頻註冊流程
4.2 分片處理流程
4.3 搜索查詢流程
5. 技術棧
5.1 後端 (Rust)
- Web 框架: Axum + Tower
- 異步運行時: Tokio (full features)
- 序列化: Serde + Serde JSON
- 數據庫驅動: SQLx, Redis 1.0.x, MongoDB, Qdrant-client
- 錯誤處理: Anyhow + Thiserror
- 日誌: Tracing + Tracing-subscriber
5.2 數據存儲
- 主數據庫: PostgreSQL (SQLx)
- 緩存: Redis 1.0.x + MongoDB
- 向量數據庫: Qdrant
- 文件存儲: SFTPGo
5.3 AI 模型
- 語音識別: WhisperX (Python)
- 人臉識別: InsightFace (Python)
- 物體檢測: YOLOv8 (Python)
- 場景分類: Places365 (Python)
- 語義嵌入: Nomic-embed-text-v2-moe (Ollama)
- 文本生成: Gemma4 (llama.cpp)
5.4 基礎設施
- 反向代理: Caddy
- CI/CD: GitHub Actions
- 監控: 自定義指標 + 日誌聚合
- 配置管理: 環境變量 + 配置文件
6. 實現狀態
6.1 分片規則實現狀態
基於詳細的設計與實現差異分析(參見 DESIGN_IMPLEMENTATION_GAP.md):
| 分片規則 |
設計概念 |
實現狀態 |
實現對應 |
完成度 |
| Rule 1 |
句子級分片 (sentence) |
✅ 完整實現 |
ChunkType::Sentence |
95% |
| Rule 2 |
視覺物件級分片 (visual) |
❌ 未實現 |
無對應實現 |
0% |
| Rule 3 |
場景級分片 (scene) |
⚠️ 部分實現 |
ChunkType::Cut |
60% |
| Rule 4 |
摘要級分片 (summary) |
⚠️ 概念調整 |
ChunkType::Story |
40% |
| 附加規則 |
時間基準分片 (time) |
✅ 完整實現 |
ChunkType::TimeBased |
100% |
| 附加規則 |
軌跡追蹤分片 (trace) |
✅ 完整實現 |
ChunkType::Trace |
100% |
6.2 核心功能實現狀態
| 功能模塊 |
實現狀態 |
備註 |
| 視頻註冊 |
✅ 完整實現 |
支持多種視頻格式 |
| ASR 處理 |
✅ 完整實現 |
WhisperX 集成 |
| OCR 處理 |
✅ 完整實現 |
GPU 加速支持 |
| 人臉識別 |
✅ 完整實現 |
InsightFace 集成 |
| YOLO 檢測 |
✅ 完整實現 |
物件檢測與分類 |
| 場景分類 |
✅ 完整實現 |
Places365 模型 |
| 向量搜索 |
✅ 完整實現 |
Qdrant 集成 |
| 同義詞擴展 |
✅ 完整實現 |
在線+離線模式 |
6.3 近期開發重點
- 設計與實現一致性:統一術語,更新文檔
- 視覺分片框架:實現 Rule 2 基礎功能
- 場景語義增強:改進 Rule 3 質量
- LLM 集成:為 Rule 4 添加摘要生成
7. 部署架構
6.1 本地部署 (當前)
6.2 未來擴展架構
8. 擴展性設計
8.1 水平擴展
- 無狀態 API 服務器: 可通過負載均衡器擴展
- 處理器工作節點: 可動態添加/移除 AI 處理節點
- 數據庫分片: PostgreSQL 可配置讀寫分離
8.2 垂直擴展
- GPU 加速: 支持多種 AI 模型的 GPU 加速
- 內存優化: 支持大內存配置的視頻處理
- 存儲擴展: 支持 TB 級視頻文件存儲
8.3 模塊化設計
- 插件化處理器: 可熱插拔 AI 模型
- 可替換組件: 數據庫、緩存、向量存儲可替換
- API 擴展: 可添加新的 API 端點而不影響現有功能
9. 相關文件索引
8.1 核心架構文檔
| 文件 |
描述 |
位置 |
狀態 |
| ARCHITECTURE_OVERVIEW.md |
架構總覽 |
ARCHITECTURE/ |
✅ 最新版 |
| ARCHITECTURE_ROADMAP.md |
架構發展路線圖 |
ARCHITECTURE/ |
✅ 最新版 |
| TECHNICAL_DECISION_RECORDS.md |
技術決策記錄 |
ARCHITECTURE/ |
✅ 最新版 |
| DESIGN_IMPLEMENTATION_GAP.md |
設計與實現差異分析 |
ARCHITECTURE/ |
✅ 最新版 |
| ARCHITECTURE_DOCUMENTATION_MAP.md |
文檔關係圖與導航 |
ARCHITECTURE/ |
✅ 最新版 |
8.2 功能專題文檔
| 文件 |
描述 |
位置 |
狀態 |
| CHUNKING_ARCHITECTURE.md |
分片架構總綱 |
ARCHITECTURE/chunking/ |
🔄 部分更新 |
| CHUNK_RULE_1_SENTENCE.md |
Rule 1: 句子級檢索 |
ARCHITECTURE/chunking/ |
✅ 最新版 |
| CHUNK_RULE_2_VISUAL.md |
Rule 2: 視覺物件級檢索 |
ARCHITECTURE/chunking/ |
📋 設計階段 |
| CHUNK_RULE_3_SCENE.md |
Rule 3: 場景級檢索 |
ARCHITECTURE/chunking/ |
🔄 部分實現 |
| CHUNK_RULE_4_SUMMARY.md |
Rule 4: 摘要級檢索 |
ARCHITECTURE/chunking/ |
🔄 概念調整 |
8.3 質量與安全文檔
| 文件 |
描述 |
位置 |
狀態 |
| PERFORMANCE_AND_SCALABILITY.md |
效能與可擴展性架構 |
ARCHITECTURE/ |
✅ 最新版 |
| SECURITY_ARCHITECTURE.md |
安全架構設計 |
ARCHITECTURE/ |
✅ 最新版 |
| MONITORING_ARCHITECTURE.md |
監控架構設計 |
ARCHITECTURE/ |
✅ 最新版 |
| API_KEY_ARCHITECTURE.md |
API Key 管理系統 |
ARCHITECTURE/ |
✅ 最新版 |
8.4 服務與處理器文檔
| 文件 |
描述 |
位置 |
狀態 |
| SERVICE_REGISTRY_ARCHITECTURE.md |
服務資源管理架構 |
ARCHITECTURE/ |
✅ 最新版 |
| PROCESSOR_REGISTRY_ARCHITECTURE.md |
處理器資源管理架構 |
ARCHITECTURE/ |
✅ 最新版 |
| PROCESSOR_LIFECYCLE.md |
處理器生命週期管理 |
ARCHITECTURE/ |
✅ 最新版 |
| PROCESSING_PIPELINE.md |
處理流程文檔 |
ARCHITECTURE/ |
✅ 最新版 |
| MODULE_STANDARDIZATION_IMPLEMENTATION_PLAN.md |
模塊標準化計劃 |
ARCHITECTURE/ |
✅ 最新版 |
| 新增文件 |
|
|
|
| TERMINOLOGY_MAPPING.md |
術語對照表 |
ARCHITECTURE/ |
✅ 最新版 |
| DESIGN_IMPLEMENTATION_GAP.md |
設計與實現差異分析 |
ARCHITECTURE/ |
✅ 最新版 |
| ARCHITECTURE_DECISION_EXECUTION_PLAN.md |
架構決策執行計劃 |
ARCHITECTURE/ |
✅ 最新版 |
| PERFORMANCE_AND_SCALABILITY.md |
效能與可擴展性架構 |
ARCHITECTURE/ |
✅ 最新版 |
| SECURITY_ARCHITECTURE.md |
安全架構設計 |
ARCHITECTURE/ |
✅ 最新版 |
| MONITORING_ARCHITECTURE.md |
監控架構設計 |
ARCHITECTURE/ |
✅ 最新版 |
10. 更新記錄
| 日期 |
版本 |
變更內容 |
操作人 |
| 2026-04-22 |
V1.2 |
術語標準化:添加術語對照表索引 |
OpenCode |
| 2026-04-22 |
V1.1 |
更新文檔索引,添加新創建的架構文檔 |
OpenCode |
| 2026-04-22 |
V1.0 |
創建架構總覽文件 |
OpenCode |
最後更新: 2026-04-22 (V1.2)