替代方案評估報告

2026-03-19




# AI Agent 後端替代方案評估報告

 

| 欄位 | 內容 |

|---|---|

| **評估日期** | 2026-03-19 |

| **對照文件** | AI_Agent系統_SA文件.md v2 |

| **評估目標** | 尋找比 AnythingLLM 更輕量的開源方案,替代 SA 文件中的後端技術棧 |

 

---

 

## 1. 現有 SA 文件後端架構摘要

 

| 元件 | 技術 | 說明 |

|---|---|---|

| API 框架 | FastAPI + Uvicorn | 自建 REST / SSE 串流 API |

| Agent 引擎 | LangGraph + LangChain | 狀態機管理多步 Agent 流程 |

| LLM 推理 | llama.cpp server | 本機離線推理,Qwen2.5-VL 7B |

| Embedding | nomic-embed-text | 768 維向量 |

| 向量資料庫 | PostgreSQL 16 + pgvector | 部署於 Remote Server |

| 本機儲存 | SQLite | 對話紀錄、稽核日誌 |

| MCP 工具 | langchain-mcp-adapters + mcp SDK | CAD 指令查詢 |

| 文件解析 | pymupdf4llm + Tesseract OCR | PDF / Word / 圖片 |

| 前端 | React + Vite + TailwindCSS | 獨立前端 |

 

---

 

## 2. 評估準則(依 SA 需求優先排序)

 

| # | 準則 | 權重 | 說明 |

|---|---|---|---|

| C1 | **RAG 知識檢索** | 必要 | 支援向量搜尋、Rerank、引用來源 |

| C2 | **MCP 工具整合** | 必要 | 透過 MCP 協議呼叫自訂工具(CAD 指令查詢) |

| C3 | **llama.cpp / 本地 LLM** | 必要 | 離線環境,需本機推理引擎 |

| C4 | **pgvector 支援** | 必要 | 向量資料庫部署於 Remote Server |

| C5 | **離線部署(無 Docker)** | 必要 | 研發筆電無 Docker,需 pip/原生安裝 |

| C6 | **Python 技術棧** | 高 | 維護人員具 Python 基礎 |

| C7 | **多模態(圖片分析)** | 高 | Qwen2.5-VL 視覺語言模型 |

| C8 | **SSE 串流輸出** | 高 | 逐字回應降低等待感 |

| C9 | **活躍開發 / 週更** | 中 | 持續維護降低技術債風險 |

| C10 | **輕量(比 AnythingLLM 小)** | 中 | 部署在 OA 筆電,資源有限 |

 

---

 

## 3. 各方案逐項評估

 

### 3.1 Kotaemon(★★★★★ 推薦)

 

| 項目 | 內容 |

|---|---|

| **GitHub** | [Cinnamon/kotaemon](https://github.com/Cinnamon/kotaemon) ★ 25.2k |

| **語言** | Python 91.5% |

| **授權** | Apache 2.0 |

| **最新版** | v0.11.2(2 週前) |

| **定位** | 開源 RAG UI,文件問答系統 |

 

**功能對照:**

 

| 準則 | 支援 | 說明 |

|---|---|---|

| C1 RAG | ✅ 完整 | Hybrid RAG(全文 + 向量)、Reranker、GraphRAG、NanoGraphRAG、LightRAG、進階引用(PDF 預覽高亮)|

| C2 MCP | ✅ 新增 | 2 週前剛加入 MCP tools 支援(commit: `feat: support MCP tools`)|

| C3 llama.cpp | ✅ 原生 | 明確支援 `llama-cpp-python` 與 Ollama |

| C4 pgvector | ⚠️ 需擴充 | 預設使用本機向量存儲(LanceDB),但架構可擴充自訂 vector store |

| C5 離線/無 Docker | ✅ | `pip install` 或 `uv` 安裝,明確提供 Without Docker 安裝方式 |

| C6 Python | ✅ | 91.5% Python,`flowsettings.py` 設定檔 |

| C7 多模態 | ✅ | 支援圖片表格問答、Docling OCR、Azure Document Intelligence |

| C8 SSE 串流 | ✅ | Gradio 原生支援串流輸出 |

| C9 活躍度 | ✅ | 67 個 releases,2 週前更新 |

| C10 輕量 | ✅ | 核心為 Python 套件,無需 Node.js/Docker |

 

**優勢:**

- 與 SA 文件需求**高度吻合**:RAG + MCP + llama-cpp-python + 離線 + Python

- 已內建多種 RAG 策略(Standard、GraphRAG、NanoGraphRAG、LightRAG),甚至超越 SA 設計

- 多模態文件解析(OCR、表格、圖片)已內建

- 多使用者登入、公私文件集合管理

- UI 基於 Gradio,可自訂但不需自建前端

- 安裝僅需 `python app.py`

 

**劣勢:**

- pgvector 需自行擴充(預設使用 LanceDB 本機向量庫)

- UI 為 Gradio(非 React),客製化彈性低於自建前端

- 無內建 FastAPI REST API(需自行包裝對外 API)

- MCP 支援剛加入,成熟度待觀察

 

**取代策略:**

Kotaemon 可取代 SA 文件中 **Agent + RAG + 文件解析 + 前端** 四大區塊。若需保留 pgvector,可在 `libs/ktem` 中擴充 PostgreSQL vector store。CAD MCP Server 仍需自行開發,但可直接透過 Kotaemon 的 MCP 整合呼叫。

 

---

 

### 3.2 LangFlow(★★★☆☆ 有條件推薦)

 

| 項目 | 內容 |

|---|---|

| **GitHub** | [langflow-ai/langflow](https://github.com/langflow-ai/langflow) ★ 146k |

| **語言** | Python 56.2% + TypeScript 25.9% |

| **授權** | MIT |

| **最新版** | v1.8.1(5 天前) |

| **定位** | 視覺化 AI Agent / Workflow 建構平台 |

 

**功能對照:**

 

| 準則 | 支援 | 說明 |

|---|---|---|

| C1 RAG | ✅ | 支援各種向量資料庫、Retrieval 節點 |

| C2 MCP | ✅ | MCP Client + Server 雙向支援,可將 Flow 發布為 MCP Server |

| C3 llama.cpp | ⚠️ | 透過 Ollama 或自訂 OpenAI-compatible endpoint 間接支援 |

| C4 pgvector | ✅ | 支援 PGVector 作為向量存儲 |

| C5 離線/無 Docker | ✅ | `uv pip install langflow` 即可安裝 |

| C6 Python | ✅ | 核心為 Python,元件以 Python 自訂 |

| C7 多模態 | ⚠️ | 可整合多模態模型,但非核心功能 |

| C8 SSE 串流 | ✅ | 內建串流支援 |

| C9 活躍度 | ✅ | 286 releases,每天更新,344 contributors |

| C10 輕量 | ❌ | **偏重**,完整安裝含前端 + SQLite + 多種整合,資源佔用較高 |

 

**優勢:**

- 功能最全面,視覺化拖拉建構 Agent 流程

- pgvector 原生支援

- MCP 雙向支援(Client + Server)

- 社群最龐大(146k stars)

- 有桌面版(Windows/macOS)

 

**劣勢:**

- **體量龐大**,不符合「比 AnythingLLM 小」的需求

- 視覺化建構器對離線環境的 OA 筆電可能過於沉重

- llama.cpp 僅間接支援(需 Ollama 中介或 OpenAI-compatible endpoint)

- 近期有多個 CVE 安全漏洞(CVE-2025-3248、CVE-2025-57760、CVE-2025-68477)

- 維護複雜度高,非 Python 基礎人員難以深入定制

 

**結論:** 功能強大但過於龐大,不適合 OA 筆電輕量部署場景。

 

---

 

### 3.3 LibreChat(★★★☆☆ 有條件推薦)

 

| 項目 | 內容 |

|---|---|

| **GitHub** | [danny-avila/LibreChat](https://github.com/danny-avila/LibreChat) ★ 34.8k |

| **語言** | TypeScript 69.9% + JavaScript 29.0% |

| **授權** | MIT |

| **最新版** | v0.8.4-rc1(昨天) |

| **定位** | 自託管 ChatGPT 替代品 |

 

**功能對照:**

 

| 準則 | 支援 | 說明 |

|---|---|---|

| C1 RAG | ✅ | 透過獨立的 `rag_api` 服務 |

| C2 MCP | ✅ | 完整 MCP 支援(已列入官方 MCP 客戶端清單)|

| C3 llama.cpp | ⚠️ | 透過 Custom Endpoints(OpenAI-compatible)間接支援 |

| C4 pgvector | ❌ | RAG API 使用自己的向量存儲方案,不直接用 pgvector |

| C5 離線/無 Docker | ⚠️ | 可不用 Docker,但需 Node.js + MongoDB,部署複雜 |

| C6 Python | ❌ | **TypeScript/JavaScript 技術棧**,非 Python |

| C7 多模態 | ✅ | 支援圖片分析(Claude 3、GPT-4o、Llama-Vision 等)|

| C8 SSE 串流 | ✅ | Resumable Streams,斷線自動重連 |

| C9 活躍度 | ✅ | 極度活躍,354 contributors |

| C10 輕量 | ❌ | 需 MongoDB + Redis + Node.js |

 

**優勢:**

- UI 最成熟美觀(ChatGPT 等級)

- MCP 支援完整且穩定

- 多使用者認證(OAuth2、LDAP)

- Artifacts、Code Interpreter 等進階功能

 

**劣勢:**

- **非 Python 技術棧**,與 SA 文件維護需求衝突

- **需要 MongoDB**,增加 Server 端部署複雜度

- RAG 是獨立微服務(`rag_api`),不是內建管道

- 不支援 pgvector

- 離線安裝 Node.js + MongoDB + Redis 困難度高

 

**結論:** 出色的聊天前端,但技術棧不匹配,離線部署困難。

 

---

 

### 3.4 Jan.ai(★★☆☆☆ 不推薦取代後端)

 

| 項目 | 內容 |

|---|---|

| **GitHub** | [janhq/jan](https://github.com/janhq/jan) ★ 41.1k |

| **語言** | TypeScript 72.1% + Rust 21.0% |

| **授權** | Apache 2.0 |

| **最新版** | v0.7.8(上週) |

| **定位** | 離線 ChatGPT 替代桌面應用 |

 

**功能對照:**

 

| 準則 | 支援 | 說明 |

|---|---|---|

| C1 RAG | ⚠️ | 基本文件對話,無進階 RAG pipeline |

| C2 MCP | ✅ | MCP integration for agentic capabilities |

| C3 llama.cpp | ✅ | 內建 llama.cpp |

| C4 pgvector | ❌ | 無 |

| C5 離線/無 Docker | ✅ | 桌面應用,完全離線 |

| C6 Python | ❌ | TypeScript + Rust |

| C7 多模態 | ⚠️ | 可載入多模態模型,但非核心功能 |

| C8 SSE 串流 | ✅ | OpenAI-compatible local API |

| C9 活躍度 | ✅ | 98 releases,每天更新 |

| C10 輕量 | ✅ | 桌面應用,輕量 |

 

**適合定位:** 可作為 **llama.cpp server 的替代方案**(提供 OpenAI-compatible API + 模型管理 UI),但**無法取代整個後端**。

 

**結論:** 桌面聊天應用而非後端框架。無 RAG pipeline、無 pgvector、非 Python。僅適合替代 LLM 推理層。

 

---

 

### 3.5 GPT4All(★★☆☆☆ 不推薦)

 

| 項目 | 內容 |

|---|---|

| **GitHub** | [nomic-ai/gpt4all](https://github.com/nomic-ai/gpt4all) ★ 77.2k |

| **語言** | C++ 52.0% + QML 30.3% |

| **授權** | MIT |

| **最新版** | v3.10.0(2025-02-25)|

| **定位** | 本機 LLM 桌面應用 |

 

**功能對照:**

 

| 準則 | 支援 | 說明 |

|---|---|---|

| C1 RAG | ⚠️ | LocalDocs 功能(基本文件對話),非完整 RAG |

| C2 MCP | ❌ | 無 MCP 支援 |

| C3 llama.cpp | ✅ | 基於 llama.cpp |

| C4 pgvector | ❌ | 本地向量存儲 |

| C5 離線/無 Docker | ✅ | 桌面安裝檔 |

| C6 Python | ⚠️ | 有 Python SDK,但核心是 C++/QML |

| C7 多模態 | ❌ | 不支援 |

| C8 SSE 串流 | ⚠️ | API server 支援 |

| C9 活躍度 | ❌ | **最後 commit 10 個月前,已停滯** |

| C10 輕量 | ✅ | 桌面應用 |

 

**結論:** 開發已停滯,無 MCP、無 pgvector、無多模態。不適合。

 

---

 

### 3.6 Budibase(★☆☆☆☆ 不適用)

 

| 項目 | 內容 |

|---|---|

| **GitHub** | [Budibase/budibase](https://github.com/Budibase/budibase) ★ 27.7k |

| **語言** | TypeScript 61.4% + Svelte 33.1% |

| **授權** | GPL v3 |

| **定位** | 低代碼應用建構平台 |

 

**結論:** 低代碼平台,定位為內部工具建構器。無原生 RAG、無 llama.cpp、無 pgvector。完全不匹配 SA 需求。

 

---

 

### 3.7 Quivr(★★☆☆☆ 不推薦)

 

| 項目 | 內容 |

|---|---|

| **GitHub** | [QuivrHQ/quivr](https://github.com/QuivrHQ/quivr) ★ 39k |

| **語言** | Python 99.3% |

| **授權** | Apache 2.0 |

| **最新版** | core v0.0.33(2025-02-04)|

| **定位** | RAG 框架 / 庫 |

 

**功能對照:**

 

| 準則 | 支援 | 說明 |

|---|---|---|

| C1 RAG | ✅ | 核心功能,opinionated RAG |

| C2 MCP | ❌ | 未提及 MCP 支援 |

| C3 llama.cpp | ⚠️ | 透過 Ollama 間接支援 |

| C4 pgvector | ⚠️ | 描述提及 PGVector,但使用者反映實際支援有問題 |

| C5 離線/無 Docker | ✅ | `pip install quivr-core` |

| C6 Python | ✅ | 99.3% Python |

| C7 多模態 | ❌ | 未提及 |

| C8 SSE 串流 | ⚠️ | 基本串流 |

| C9 活躍度 | ❌ | **最後 commit 9 個月前,已停滯** |

| C10 輕量 | ✅ | 純 Python 套件 |

 

**結論:** 純 RAG 庫但開發已停滯,無 MCP,pgvector 支援存疑。不推薦。

 

---

 

### 3.8 Deep Agents(★★☆☆☆ 不適用)

 

| 項目 | 內容 |

|---|---|

| **GitHub** | [langchain-ai/deepagents](https://github.com/langchain-ai/deepagents) ★ 15.1k |

| **語言** | Python 99.5% |

| **授權** | MIT |

| **定位** | 通用 Agent 框架(程式碼編寫導向)|

 

**結論:** 定位為 coding agent harness(類似 Claude Code),聚焦檔案系統操作與子代理。無內建 RAG、無 pgvector、非文件問答場景。Tool 數量少(使用者亦指出此問題)。不適合替代 SA 文件後端。

 

---

 

### 3.9 其他方案(編碼代理類,不適用)

 

| 方案 | Stars | 排除原因 |

|---|---|---|

| Cline | 59k | VS Code 編碼代理,非文件 QA |

| Aider | 42k | CLI 編碼輔助工具,非文件 QA |

| Nanobot / Nanoclaw / Picoclaw | 23-34k | OpenClaw 替代品,編碼代理,非文件 QA |

| OpenWork | 11.9k | 編碼工作流,非文件 QA |

 

---

 

## 4. 綜合比較矩陣

 

| 準則 | **Kotaemon** | LangFlow | LibreChat | Jan.ai | GPT4All | Quivr | Deep Agents |

|---|---|---|---|---|---|---|---|

| C1 RAG | ✅ 完整 | ✅ | ✅ | ⚠️ 基本 | ⚠️ 基本 | ✅ | ❌ |

| C2 MCP | ✅ 新增 | ✅ | ✅ | ✅ | ❌ | ❌ | ⚠️ |

| C3 llama.cpp | ✅ 原生 | ⚠️ 間接 | ⚠️ 間接 | ✅ | ✅ | ⚠️ 間接 | ⚠️ 間接 |

| C4 pgvector | ⚠️ 需擴充 | ✅ | ❌ | ❌ | ❌ | ⚠️ | ❌ |

| C5 離線/無 Docker | ✅ | ✅ | ⚠️ 複雜 | ✅ | ✅ | ✅ | ✅ |

| C6 Python | ✅ 91.5% | ✅ 56% | ❌ TS | ❌ TS | ⚠️ C++ | ✅ 99% | ✅ 99% |

| C7 多模態 | ✅ | ⚠️ | ✅ | ⚠️ | ❌ | ❌ | ❌ |

| C8 SSE 串流 | ✅ | ✅ | ✅ | ✅ | ⚠️ | ⚠️ | ⚠️ |

| C9 活躍度 | ✅ | ✅ | ✅ | ✅ | ❌ 停滯 | ❌ 停滯 | ✅ |

| C10 輕量 | ✅ | ❌ 重量 | ❌ 重量 | ✅ | ✅ | ✅ | ✅ |

| **總分** | **9/10** | **7/10** | **5/10** | **5/10** | **3/10** | **4/10** | **3/10** |

 

---

 

## 5. 推薦方案與取代策略

 

### 首選推薦:Kotaemon

 

**理由:**

1. **需求契合度最高**:RAG(含 Hybrid、GraphRAG、Rerank)、MCP、llama-cpp-python、離線部署、Python 技術棧——全部原生支援

2. **體量輕於 AnythingLLM**:核心為 Python 套件,無需 Electron / Docker

3. **安裝簡便**:`pip install` 或 `uv` 即可,符合無 Docker 需求

4. **RAG 功能超越 SA 設計**:已內建 Hybrid RAG + Rerank + GraphRAG + 進階引用(PDF 高亮預覽),比 SA 文件中計畫的 RAG pipeline 更完整

5. **多模態文件解析已內建**:支援 Docling(本地開源 OCR)、Azure Document Intelligence(可選)

 

### 取代對照表

 

| SA 文件元件 | 現有技術 | Kotaemon 取代方式 |

|---|---|---|

| FastAPI API 服務 | 自建 FastAPI | Kotaemon 內建 Gradio web server(若需 REST API 可再包裝) |

| LangGraph Agent | LangGraph 自建圖 | Kotaemon 已內建 ReAct / ReWOO Agent 推理 |

| RAG Pipeline | 自建 Retriever + Reranker | Kotaemon Hybrid RAG + Rerank + GraphRAG |

| 文件解析 | pymupdf4llm + Tesseract | Kotaemon 內建 Docling / pymupdf 解析 |

| 向量資料庫 | pgvector(Remote) | **需擴充**:預設 LanceDB → 自訂 pgvector adapter |

| MCP 工具 | langchain-mcp-adapters | Kotaemon MCP tools 整合 |

| 前端 UI | React + Vite | Kotaemon Gradio UI(免自建前端) |

| 稽核日誌 | 自建 audit_logs | **需自行擴充** |

 

### 需補充開發的部分

 

| 項目 | 工作量 | 說明 |

|---|---|---|

| pgvector vector store adapter | 中 | 在 `libs/ktem` 中新增 PGVector 向量存儲後端 |

| CAD Tools MCP Server | 小 | 不變,MCP Server 獨立於 Kotaemon |

| 稽核日誌 | 小 | 增加操作攔截器寫入 audit_logs |

| REST API 包裝 | 中 | 若需從其他系統呼叫,需包裝 FastAPI 層 |

 

### 備選方案:LangFlow

 

若團隊偏好**視覺化流程建構**且不在意體量,LangFlow 是功能最全面的選擇(原生 pgvector + MCP 雙向支援)。但其體量遠大於 AnythingLLM,且近期有安全漏洞紀錄,不符合「更輕量」的目標。

 

### 不建議的組合方式

 

| 方式 | 原因 |

|---|---|

| Jan.ai 替代整個後端 | Jan 是桌面聊天 App,無 RAG pipeline / pgvector |

| LibreChat 替代後端 | TypeScript 技術棧 + 需 MongoDB,離線部署困難 |

| GPT4All 替代後端 | 開發已停滯 10 個月,無 MCP |

| 僅用 Deep Agents | 編碼代理定位,非文件 QA |

 

---

 

## 6. 建議修改 SA 文件的具體變更

 

若採納 Kotaemon 方案,SA 文件需調整的章節:

 

| SA 章節 | 變更內容 |

|---|---|

| §2 系統架構 | 後端從自建 FastAPI+LangGraph 改為 Kotaemon + 自訂擴充 |

| §3 業務流程 | RAG 流程簡化(Kotaemon 已內建 Hybrid RAG + Rerank) |

| §4 技術選型 | 移除 React/Vite/TailwindCSS 前端棧,改為 Gradio |

| §5 資料庫 | 保留 pgvector(Remote),新增 pgvector adapter 開發項 |

| §8 前端設計 | 改為 Kotaemon Gradio UI 客製化方案 |

| §9 MCP 設計 | MCP Server 不變,Client 改用 Kotaemon MCP 整合 |

| §12 開發計畫 | 大幅縮短 M1-M4(Kotaemon 已涵蓋大部分功能) |

 

**預估開發時間節省:** 原計劃 18 週可壓縮至約 8-10 週(主要投入 pgvector adapter、CAD MCP Server、客製化 UI 調整)。

 







Login to like - 0 Likes



Comments...


No Comments Yet...



Add Comment...



shumin

A graduated biotechnology engineer. Now is a software engineer


Latest Posts



Footer with Icons