llm-app

開箱即用的 Docker 範本,用於建構 RAG 管線與企業搜尋應用程式,並與您的資料來源保持即時同步。

Jupyter NotebookMITSearch & RAG
⭐ GitHubhttps://github.com/pathwaycom/llm-app
58,947
Star 數
+0
Star 增速
2026年7月6日
最後更新
5
點擊數

1. 專案概覽

llm-app(由 Pathway 提供)是一系列開箱即用且對 Docker 友善的範本,用於建構生產級 RAG(檢索增強生成)管線與企業搜尋應用程式,這些應用程式能與 SharePoint、Google Drive、S3、Kafka 和 PostgreSQL 等即時資料來源保持持續同步——無需單獨的向量資料庫或索引服務。

2. 背景與定位

大多數 RAG 教學都假設文件集是靜態的、一次性載入的。然而,在真實的組織中,知識庫會不斷變化:新檔案被上傳、舊檔案被刪除、權限被更改。llm-appPathway 建構,該公司是 Rust 驅動的 Pathway 資料處理引擎背後的團隊,旨在填補這一缺口——每個範本都附帶了一個即時、增量的索引管線,能偵測底層資料來源中的新增、更新和刪除,並即時將其反映在檢索結果中,無需手動重新索引的步驟。

與純粹專注於提示/鏈邏輯的典型 RAG 範例儲存庫相比,llm-app 的不同之處在於:

  • 資料連接器、索引引擎和服務 API 打包到單一可部署單元中,而不是將單獨的向量資料庫、編排和排程服務拼湊在一起。
  • 提供記憶體內、帶有快取的索引(透過 usearchTantivy 進行向量、混合和全文檢索),可擴充至數百萬頁而無需外部基礎設施。
  • 範本驅動——每個使用案例都是一個完整、可執行的應用程式,而非文件片段。

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_indexingself-rag-agents 教學手冊作為基礎,以試驗檢索策略、分塊和代理自我修正。
  • 專案經理/企業搜尋負責人——部署 question_answering_ragslides_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. 快速連結

12. 總結

llm-app 將 Pathway 的即時資料引擎打包成一組可立即部署的 RAG 和企業搜尋範本,這些範本會自動與不斷變化的文件來源保持同步,消除了對單獨索引基礎設施的需求。它最適合希望快速從 RAG 原型轉向生產管線的開發者和團隊——無論目標是文件問答、多模態搜尋、成本最佳化檢索,還是完全私密的本地部署。