1. 專案概覽
llm-app(由 Pathway 提供)是一系列開箱即用且對 Docker 友善的範本,用於建構生產級 RAG(檢索增強生成)管線與企業搜尋應用程式,這些應用程式能與 SharePoint、Google Drive、S3、Kafka 和 PostgreSQL 等即時資料來源保持持續同步——無需單獨的向量資料庫或索引服務。
2. 背景與定位
大多數 RAG 教學都假設文件集是靜態的、一次性載入的。然而,在真實的組織中,知識庫會不斷變化:新檔案被上傳、舊檔案被刪除、權限被更改。llm-app 由 Pathway 建構,該公司是 Rust 驅動的 Pathway 資料處理引擎背後的團隊,旨在填補這一缺口——每個範本都附帶了一個即時、增量的索引管線,能偵測底層資料來源中的新增、更新和刪除,並即時將其反映在檢索結果中,無需手動重新索引的步驟。
與純粹專注於提示/鏈邏輯的典型 RAG 範例儲存庫相比,llm-app 的不同之處在於:
- 將資料連接器、索引引擎和服務 API 打包到單一可部署單元中,而不是將單獨的向量資料庫、編排和排程服務拼湊在一起。
- 提供記憶體內、帶有快取的索引(透過
usearch和Tantivy進行向量、混合和全文檢索),可擴充至數百萬頁而無需外部基礎設施。 - 範本驅動——每個使用案例都是一個完整、可執行的應用程式,而非文件片段。
3. 功能分類
-
📄 問答與搜尋(4 個範本)——用於以自然語言查詢文件集的端到端 RAG 應用程式。
question_answering_rag——帶有 LLM 的基準文件問答管線。document_indexing——可由任何下游應用程式使用的獨立即時向量儲存/索引服務。slides_ai_search——對 PowerPoint/PDF 簡報進行多模態搜尋。document_store_mcp_server——將文件儲存公開為 MCP 伺服器,供代理工具使用。
-
🖼️ 多模態 RAG(2 個範本)——超越純文字的管線。
multimodal_rag——使用 GPT-4o 解析內嵌圖表、表格和圖片的 PDF。video_rag_twelvelabs——透過 TwelveLabs API 對影片內容進行問答。
-
⚡ 成本與隱私最佳化 RAG(2 個範本)——針對成本或資料駐留限制進行調整的變體。
adaptive_rag——動態調整檢索到的上下文區塊數量,將 token 用量減少高達 4 倍。private_rag——使用 Mistral 和 Ollama 進行完全本地/離線部署,資料不離開本地環境。
-
🗄️ 結構化資料與自動化(2 個範本)——將非結構化輸入轉換為結構化輸出或觸發動作的管線。
unstructured_to_sql_on_the_fly——將非結構化財務文件即時轉換為可查詢的 SQL 資料庫。drive_alert——監控即時資料來源並對相關變更發出警示。
-
🧠 代理模式(1 個合集)——用於進階推理迴圈的參考筆記本。
cookbooks/self-rag-agents——Self-RAG 風格的代理,能批判並精煉自身檢索到的上下文。
4. 核心亮點
- 即時資料同步——管線監控 SharePoint、Google Drive、S3、Kafka、PostgreSQL 和即時 API,自動反映新增、編輯和刪除,無需重建步驟。
- 無需額外基礎設施——向量、混合和全文檢索內建於 Pathway 引擎(
usearch+Tantivy)並在帶有快取的記憶體中執行,無需獨立的向量資料庫。 - Docker 優先部署——每個範本都作為帶有 HTTP API 的容器執行,且大多數包含一個可選的 Streamlit UI,以便快速進行手動測試。
- 框架互通性——與 LangChain 和 LlamaIndex 的原生整合讓團隊能在 Pathway 的即時索引之上重用現有的鏈和代理。
- 成本感知檢索——Adaptive RAG 範本展示了僅檢索所需的上下文,將 LLM token 開銷減少高達 4 倍。
- 經過規模測試——設計為從單一管線索引並服務數百萬個文件頁面。
5. 各角色的使用案例
- 一般開發者——複製一個符合您使用案例(問答、多模態、SQL 提取)的範本,並調整資料連接器和提示以適應您的產品。
- 資料/研究科學家——使用
document_indexing或self-rag-agents教學手冊作為基礎,以試驗檢索策略、分塊和代理自我修正。 - 專案經理/企業搜尋負責人——部署
question_answering_rag或slides_ai_search作為內部知識庫搜尋工具,無需維護索引管線即可保持最新狀態。 - 注重安全/合規的團隊——使用
private_rag透過 Mistral/Ollama 將文件內容和模型推理完全保留在本地環境。
6. 入門指南
找到您需要的內容——瀏覽 GitHub 上的 templates/ 目錄,或 Pathway Templates 頁面上的策劃清單,挑選最符合您使用案例的範本。
安裝並執行範本
git clone https://github.com/pathwaycom/llm-app.git
cd llm-app/templates/question_answering_rag
docker compose up
每個範本資料夾都包含自己的 README.md,其中列出了該管線所需的確切環境變數(例如 API 金鑰)和執行說明。
貢獻——閱讀 CONTRIBUTING.md;對於小修補以外的任何內容,請先在 Pathway Discord 的 #get-help 頻道中進行協調。
7. 專案結構
llm-app/
├── templates/ # 開箱即用的應用程式範本
│ ├── question_answering_rag/
│ ├── document_indexing/
│ ├── multimodal_rag/
│ ├── adaptive_rag/
│ ├── private_rag/
│ ├── slides_ai_search/
│ ├── unstructured_to_sql_on_the_fly/
│ ├── video_rag_twelvelabs/
│ ├── document_store_mcp_server/
│ └── drive_alert/
├── cookbooks/
│ └── self-rag-agents/ # Self-RAG 代理筆記本
├── assets/ # 圖表與示範媒體
├── pyproject.toml / setup.cfg # Python 打包設定
└── README.md
templates/ 下的每個子資料夾都是一個獨立的應用程式,擁有自己的 Dockerfile/docker compose 設定和設定檔,因此範本可以彼此獨立執行。
8. 相關生態系
- Pathway——底層由 Rust 驅動的 Python 資料處理引擎,提供此儲存庫所依賴的串流 ETL、即時索引和增量計算。
- LangChain / LlamaIndex——作為 Pathway 即時向量索引之上的可選編排層受到支援。
- usearch / Tantivy——分別為向量搜尋和全文/混合搜尋提供支援的內嵌函式庫。
- Ollama / Mistral——由
private_rag範本用於完全本地的 LLM 推理。 - TwelveLabs——由
video_rag_twelvelabs範本使用的影片理解 API。
9. 授權
本專案在 MIT License 下發布。
- ✅ 免費使用、複製、修改、合併、發布和散布,包括用於商業產品。
- ✅ 可嵌入專有/閉源應用程式中。
- ❌ 不提供任何擔保;作者對因其使用而產生的損害不承擔責任。
- ℹ️ 軟體的副本或實質部分必須保留 MIT 授權文字和版權聲明。
10. 常見問題
問:我需要在這些範本之外執行單獨的向量資料庫嗎?
答:不需要——索引(向量、混合和全文檢索)內建於 Pathway 引擎中,並在帶有磁碟快取的記憶體中執行,因此不需要外部向量儲存。
問:我可以在完全離線、不將資料發送給第三方 LLM API 的情況下使用嗎?
答:可以——private_rag 範本在本地使用 Mistral 和 Ollama 執行,將文件和推理保留在本地環境中。
問:這些管線可以監控哪些資料來源以進行即時更新?
答:SharePoint、Google Drive、S3、Kafka、PostgreSQL、本地檔案系統和通用即時資料 API 都是開箱即用支援的。
問:在擴充檢索規模時,如何減少 LLM token 成本?
答:請參閱 adaptive_rag 範本,它會動態調整檢索到的上下文大小,並報告 token 用量減少高達 4 倍。
問:如何尋求協助或提出更大的貢獻?
答:對於錯誤,請在 GitHub 上回報問題,或在開始實質性工作之前加入 Pathway Discord 的 #get-help 頻道。
11. 快速連結
- 儲存庫:https://github.com/pathwaycom/llm-app
- 官方文件/範本目錄:https://pathway.com/developers/templates/
- 貢獻指南:https://github.com/pathwaycom/llm-app/blob/main/CONTRIBUTING.md
- 社群:https://discord.gg/pathway
12. 總結
llm-app 將 Pathway 的即時資料引擎打包成一組可立即部署的 RAG 和企業搜尋範本,這些範本會自動與不斷變化的文件來源保持同步,消除了對單獨索引基礎設施的需求。它最適合希望快速從 RAG 原型轉向生產管線的開發者和團隊——無論目標是文件問答、多模態搜尋、成本最佳化檢索,還是完全私密的本地部署。