首页 / 开源榜单 / llm-app

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 模板 页面上的精选列表,以挑选最符合您用例的模板。

安装并运行模板

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 许可证下分发。

  • ✅ 可免费使用、复制、修改、合并、发布和分发,包括用于商业产品。
  • ✅ 可嵌入专有/闭源应用程序中。
  • ❌ 不提供任何担保;作者对其使用产生的损害不承担责任。
  • ℹ️ 软件的副本或实质部分必须保留 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 原型转向生产管道的开发者和团队——无论目标是文档问答、多模态搜索、成本优化检索,还是完全私有的本地部署。