Mem0 Self-Hosted Model Evaluation Report
日期: 2026-03-10
目的: 評估 self-hosted Mem0 的 LLM extraction 與 Embedding retrieval 最佳組合
約束: 不儲存任何資料到 Mem0 Cloud,純 API 呼叫測試
經過兩輪 LLM 萃取測試(Phase 1 v1: 2 模型, Phase 1 v2: 4 模型 × 15 對話)和兩輪 Embedding 檢索測試(Phase 2 v1: 2 模型 × 20 查詢, Phase 2 v2: 4 模型 × 28 查詢),最終決策如下:
角色
首選
備選
LLM Extraction
Gemini 3.1 Flash-Lite($0.25/$1.50 per 1M tokens)
Claude Haiku 4.5($1.00/$5.00)
Embedding
OpenAI text-embedding-3-large($0.13 per 1M tokens)
Gemini embedding-001
預估月費(首選組合):~$1.70/月 (vs Haiku + 3-small 的 ~$6.20)
15 段模擬對話,涵蓋所有實際工作領域:
ID
主題
特性
1
公司治理 + 人事
法律條文、人事變動
2
財務建模
數字密集(EBITDA、噸數、FOB 價)
3
基礎設施 + 網路
技術術語、設定值
4
法規 + 環保
許可證號碼、日期、流程
5
AI 平台 + 模型選擇
模型名稱、技術比較
6
HR + 薪資結構
職等、金額、百分比
7
跨國業務
人名(日文)、品質標準
8
寒暄 + 雜訊
有用資訊混雜閒聊(媽祖廟、天氣)
9
Docker + 容器管理
worker ID、指令
10
資金 + 增資
股數、面額、認購價
11
憑證管理
路徑、權限值
12
OPNsense + 防火牆
IP、端口、MTU
13
記憶系統決策
架構選型、設定參數
14
UniFi + 網路設備
硬體型號、VLAN
15
混合語境
多客戶比價、協商底線
LLM Extraction: 人工評估 5 維度
完整性:是否遺漏重要事實
正確性:數字、名稱是否準確
精簡程度:是否避免冗餘
中文語感:是否自然流暢
關係保留:人事變動、因果關聯是否完整
Embedding Retrieval: 28 題自動評估
Precision@1(P@1):第一筆結果是否命中
Recall@5(R@5):前五筆覆蓋多少期望主題
6 個題型分類分析
日均訊息量:~108 則/天(來自 Gateway 日誌 Mar 4-9 平均)
預估萃取呼叫:50-80 次/天
每次 token 量:~1,500 input + ~500 output
2. Phase 1: LLM Extraction 評估
模型
Input/1M
Output/1M
特性
Claude Haiku 4.5
$1.00
$5.00
Non-thinking, stable
Gemini 2.5 Flash-Lite
$0.10
$0.40
Non-thinking, cheapest
Gemini 3.1 Flash-Lite
$0.25
$1.50
Non-thinking, preview (3/3 發布)
Gemini 3 Flash
~$0.30
~$2.50
Built-in thinking, preview
GPT-5 Nano
$0.05
$0.40
Reasoning model
GPT-5 Mini
$0.25
$2.00
Reasoning model
GPT-4.1 Nano
$0.10
$0.40
Non-thinking
2.2 早期淘汰(Phase 1 v1 + 延遲測試)
GPT-5 Nano / GPT-5 Mini — 淘汰
延遲:14.20s / 15.06s(8-10 倍慢於替代方案)
原因:Reasoning model,max_completion_tokens 包含 reasoning tokens,無法關閉 thinking
設 max_completion_tokens=1000 時 content 為空(reasoning 吃掉全部額度),需 8000+
結論:reasoning model 根本不適合 fact extraction
Gemini 2.0 Flash — 淘汰
所有變體(gemini-2.0-flash、-001、-exp)均回傳 404
已 deprecated,被 2.5 系列取代
Claude Haiku 4.5 (thinking mode) — 不採用
延遲:3.92s(比 non-thinking 的 1.86s 慢一倍)
品質無明顯提升,不值得額外延遲
模型
延遲
Reasoning Tokens
Gemini 2.5 Flash-Lite
1.46s
0
GPT-4.1 Nano
1.62s
0
Claude Haiku 4.5
1.86s
0
Haiku 4.5 (thinking)
3.92s
yes
Gemini 2.5 Flash
3.96s
yes (built-in)
GPT-5 Nano
14.20s
1,600
GPT-5 Mini
15.06s
960
2.4 Phase 1 v2 完整測試(4 模型 × 15 對話)
模型
平均
最快
最慢
σ
穩定性
G2.5 Flash-Lite
1.10s
0.72s
3.24s
0.63s
⚠️ 有異常
Claude Haiku 4.5
1.36s
0.83s
1.66s
0.22s
✅ 穩定
G3.1 Flash-Lite
1.46s
1.05s
1.72s
0.20s
✅ 很穩定
Gemini 3 Flash
4.00s
3.16s
5.51s
0.66s
❌ thinking 拖累
對話 7(跨國業務 — 人事變動追蹤):
項目
Haiku 4.5
G2.5 Flash-Lite
G3.1 Flash-Lite
田中→山本
✅ 一行帶變更
⚠️ 拆成兩行,漏了田中
✅ 一行帶變更
Haiku:「XXX Steel 的窗口負責人從田中部長換成山本課長」
G2.5L:「XXX Steel 的窗口負責人換了。新的…是山本課長。」(丟失前任資訊)
G3.1L:「XXX Steel 的負責人已由田中部長更換為山本課長。」
對話 8(寒暄雜訊 — 關鍵決策過濾):
項目
Haiku 4.5
G2.5 Flash-Lite
G3.1 Flash-Lite
媽祖廟不宜簽約
✅ 保留
❌ 漏掉
✅ 保留
天氣雜訊
⚠️ 保留
⚠️ 保留
⚠️ 保留
G2.5 Flash-Lite 把「媽祖廟建議這個月不宜簽約」當雜訊過濾掉,但這是 MOU 延期的決策原因
這是最嚴重的品質缺陷:過度過濾導致因果關係斷裂
對話 15(混合語境 — 多客戶數據完整度):
項目
Haiku
G2.5L
G3 Flash
G3.1L
條數
11
9
10(截斷)
11
大園汽電共生價格
✅ 有
❌ 漏
—
✅ 有
G3.1 Flash-Lite 是唯一與 Haiku 一樣完整保留全部 11 條 fact 的模型。
Haiku 4.5: 偏口語、簡潔(「改成」「沒問題」),但資訊完整
G2.5 Flash-Lite: 簡潔但有遺漏風險,用句點結尾
G3 Flash: 正式但冗長,每行帶完整主語重複
G3.1 Flash-Lite: 最佳平衡 — 正式、精簡、帶實體前綴(「公司名」「XXX Steel」),句點結尾,結構化
模型
完整性
精簡度
速度
月費
判定
G3.1 Flash-Lite
⭐⭐⭐
⭐⭐⭐(最精簡)
1.46s
~$1.50
🥇 首選
Claude Haiku 4.5
⭐⭐⭐
⭐⭐
1.36s
~$6.00
🥈 備選
Gemini 2.5 Flash-Lite
⭐⭐(遺漏)
⭐⭐⭐
1.10s
~$0.53
❌ 品質不足
Gemini 3 Flash
⭐⭐⭐
⭐(冗長)
4.00s
—
❌ thinking 拖慢
3. Phase 2: Embedding Retrieval 評估
模型
維度
價格/1M tokens
來源
OpenAI text-embedding-3-small
1,536
$0.02
OpenAI API
OpenAI text-embedding-3-large
3,072
$0.13
OpenAI API
Gemini gemini-embedding-001
3,072
免費(AI Studio)
Google API
Qwen3-Embedding-8B
4,096
$0.10
Fireworks AI
排除的模型:
text-embedding-004(Gemini)— 404,已被 gemini-embedding-001 取代
Nomic nomic-embed-text-v1.5(Fireworks)— 不可用
Qwen3-Embedding-0.6B — 在 Phase 2 v1 中已證實中文品質不足
Qwen3-Embedding-4B — 無 serverless API 可用
3.2 查詢設計(Phase 2 v2 — 28 題)
類別
題數
測試目標
直接查詢 (1-5)
5
精確匹配:「固污許可證到期日」
同義詞改寫 (6-10)
5
語義泛化:「公司賺多少錢」→ EBITDA
關聯查詢 (11-14)
4
跨主題關聯:「誰負責 SRF 出口品質」
跨語言 (15-18)
4
中英/簡繁混用:「董事长是谁」「container stuck」
時序查詢 (19-24)
6
時間相關:「最近換了什麼」「下週要做什麼」
複雜推理 (25-28)
4
多步推理:「產能跟客戶量能不能匹配」
所有查詢使用 G3.1 Flash-Lite 萃取的 100 條 facts 作為語料庫。
排名
模型
P@1
Recall@5
🥇
OpenAI text-embedding-3-large
82.1%
240.5%
🥈
Gemini gemini-embedding-001
75.0%
240.2%
🥉
OpenAI text-embedding-3-small
71.4%
212.2%
❌
Qwen3-Embedding-8B (Fireworks)
53.6%
179.8%
題型
3-large
Gemini
3-small
Qwen3
直接查詢
100%
80%
80%
80%
同義詞
100%
100%
80%
40%
關聯查詢
100%
100%
100%
25%
跨語言
100%
100%
100%
100%
時序
33%
17%
17%
50%
推理
75%
75%
75%
25%
text-embedding-3-large 全方位最強: 直接/同義詞/關聯/跨語言全部 100%,比 small 有系統性提升
Gemini embedding-001 是合格備選: Recall 與 large 幾乎相同(240.2% vs 240.5%),P@1 差 7 個百分點
Qwen3-Embedding-8B 有 embedding 退化問題: 「申請流程需於 EMS 系統同步登錄」這條 fact 與大量不相關查詢 sim > 0.6,嚴重干擾排序。8B 已是 Qwen3 Embedding 系列最大尺寸(系列只有 0.6B / 4B / 8B),品質問題是訓練層面的
時序查詢是純 vector search 的天花板: 所有模型在「最近換了什麼」「下週要做什麼」這類查詢上 P@1 ≤ 33%。Vector similarity 無法理解時間語義,需要 Graph Memory 或 metadata filtering 才能解決
模型
P@1
月費估算
判定
OpenAI text-embedding-3-large
82.1%
~$0.20
🥇 首選
Gemini embedding-001
75.0%
免費
🥈 備選
OpenAI text-embedding-3-small
71.4%
~$0.03
⚠️ 可用但弱
Qwen3-Embedding-8B
53.6%
~$0.15
❌ 品質不足
元件
首選
備選
備註
LLM Extraction
Gemini 3.1 Flash-Lite
Claude Haiku 4.5
G3.1L 品質 ≈ Haiku,成本 1/4
Embedding
OpenAI text-embedding-3-large
Gemini embedding-001
large 比 small 僅貴 $0.17/月
Graph Memory
Neo4j
—
解決時序/關聯查詢的必要元件
Reranker
bge-reranker-v2-m3
—
Shiro TEI 已有
Vector DB
PostgreSQL + pgvector
—
避免額外 infra
組合
LLM
Embedding
總計/月
首選
G3.1 Flash-Lite ~$1.50
3-large ~$0.20
~$1.70
備選
Haiku 4.5 ~$6.00
Gemini embedding ~$0
~$6.00
全 Haiku(舊方案)
Haiku 4.5 ~$6.00
3-small ~$0.03
~$6.03
繼續使用 Mem0 Cloud(enableGraph=true)觀察 2-4 週
確認 G3.1 Flash-Lite 從 preview 轉 GA(穩定性確認)
在 Docker VM (10.10.10.100) 部署:FastAPI + PostgreSQL pgvector + Neo4j
並行運行 Cloud + Self-hosted,品質對齊後切換
風險
影響
緩解
G3.1 Flash-Lite 是 preview,可能下架或改價
LLM 萃取中斷
已測試 Haiku 備選,可即時切換
Gemini embedding-001 pricing 未定
成本可能增加
已測試 3-large 備選
時序查詢 ceiling
記憶檢索品質
需 Neo4j Graph Memory 才能突破
Qwen3 embedding 品質差
無法用開源本地 embedding
接受外部 API 依賴
模型
淘汰原因
階段
GPT-5 Nano
Reasoning model, 14.2s 延遲, max_completion_tokens 包含 reasoning
Phase 1 v1
GPT-5 Mini
同上, 15.1s 延遲
Phase 1 v1
Gemini 2.0 Flash
所有變體 404, deprecated
Phase 1 延遲測試
Haiku 4.5 (thinking)
3.92s 延遲, 品質無提升
Phase 1 延遲測試
Gemini 2.5 Flash-Lite
漏掉決策資訊(媽祖廟)+ 人事前任
Phase 1 v2
Gemini 3 Flash
4.0s 延遲 (built-in thinking)
Phase 1 v2
Qwen3-Embedding-8B
P@1=53.6%, embedding 退化 bug
Phase 2 v2
Qwen3-Embedding-0.6B
中文品質不足
Phase 2 v1(Shiro TEI 測試)
text-embedding-004
404, deprecated
Phase 2 v2 模型偵測
Reasoning models 不適合 fact extraction — thinking overhead 10 倍延遲,無品質提升
便宜不等於差 — G3.1 Flash-Lite 是 Haiku 1/4 價,品質幾乎相同
便宜也不等於好 — G2.5 Flash-Lite 最便宜但會漏重要資訊,不可接受
永遠保留測試過的 fallback — 避免 primary 故障時重跑整套評測
Vector search 有天花板 — 時序和因果查詢需要 Graph Memory,不是 embedding 品質的問題
開源 embedding 仍落後 — Qwen3 8B(系列最大)P@1=53.6%,商用 API 82.1%,差距巨大
用途
路徑
Phase 1 v1 腳本
artifacts/reports/mem0-eval/eval_llm_extraction.py
Phase 2 v1 腳本
artifacts/reports/mem0-eval/eval_embedding.py
Phase 2 v2 腳本
artifacts/reports/mem0-eval/eval_embedding_v2.py
Phase 1 v1 結果
artifacts/reports/mem0-eval/phase1_results.json
Phase 1 v2 結果
artifacts/reports/mem0-eval/phase1_results_v2.json
Phase 2 v2 結果
artifacts/reports/mem0-eval/phase2_results_v2.json
延遲測試腳本
/tmp/latency_test.py, /tmp/latency_test2.py, /tmp/latency_test3.py
服務
端點
金鑰位置
OpenAI
https://api.openai.com/v1
Anthropic
https://api.anthropic.com
Gemini
https://generativelanguage.googleapis.com/v1beta/openai/
Fireworks AI
https://api.fireworks.ai/inference/v1
OpenRouter
https://openrouter.ai
C. 模型定價參考(per 1M tokens, 2026-03-10)
模型
Input
Output
Claude Haiku 4.5
$1.00
$5.00
Gemini 3.1 Flash-Lite
$0.25
$1.50
Gemini 2.5 Flash-Lite
$0.10
$0.40
Gemini 2.5 Flash
$0.30
$2.50
GPT-5 Nano
$0.05
$0.40
GPT-5 Mini
$0.25
$2.00
GPT-4.1 Nano
$0.10
$0.40
text-embedding-3-small
$0.02
—
text-embedding-3-large
$0.13
—
Qwen3-Embedding-8B (Fireworks)
$0.10
—
Qwen3-Embedding-8B (OpenRouter)
$0.01
—