autoflow
基于 TiDB Vector 的开源 Graph RAG 对话知识库,一键部署企业级 Perplex
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 TiDB Vector 的开源 Graph RAG 对话知识库,一键部署企业级 Perplex
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你管理着一个拥有数万份技术文档的团队,传统的关键词搜索早已无法满足需求——工程师们反复搜索却找不到正确答案,答案散落在不同的文档角落,需要人工拼凑。AutoFlow 正是为解决这类问题而生:它将知识图谱(Knowledge Graph)与 RAG(检索增强生成)深度融合,用图关系取代传统的平面向量检索,让 AI 在回答复杂问题时能够追溯源头,而不仅仅是从海量文档中捞取碎片。
AutoFlow 由 PingCAP —— 开源分布式数据库 TiDB 的缔造者 —— 孵化并维护。随着 TiDB Serverless 版本引入内置向量存储能力,PingCAP 将其定位为一站式 AI 数据库的战略延伸:一份数据,同时服务 OLTP(事务)、OLAP(分析)和 AI(向量检索)三类负载,无需引入独立的向量数据库。
AutoFlow 的开发团队在 README 中明确表达了项目愿景:下一步计划是将其打包为 Python 包(pip install autoflow-ai),将其从一套完整的 Web 应用转化为可嵌入的 RAG 解决方案。这意味着任何开发者都能在自己的 Python 应用中引入 AutoFlow 的 Graph RAG 能力,而不必部署整套服务。
AutoFlow 的技术架构分为三个相对独立的层次,每层都有明确职责边界:
**核心层(core/)**是整个系统的智能引擎,以 autoflow-ai Python 包的形式存在。它基于 LlamaIndex 提供统一的向量检索抽象,同时集成 DSPy(斯坦福 NLP 实验室出品)实现编程而非提示的 LLM 调用范式。DSPy 的引入是一大亮点:传统 RAG 需要手工编写 Prompt,AutoFlow 通过 DSPy 的签名(Signature)和编译器(Compiler)机制,将检索、生成流程声明化,大幅降低 Prompt 工程复杂度和脆弱性。
**后端层(backend/)**采用 FastAPI 构建 HTTP API 服务,负责用户认证、对话历史、文档上传、网站爬取等业务逻辑。数据存储同时依赖 TiDB(结构化数据 + 向量)和 Redis(缓存 + 消息队列)。后端还集成了 Celery + Flower 构建异步任务系统,用于处理文档解析、embedding 生成等耗时操作。Langfuse 和 Ragas 分别负责 LLM 调用追踪和 RAG 评估。
**前端层(frontend/)**基于 Next.js + Tailwind CSS + shadcn/ui,提供完整的 Web UI,包括对话搜索页面和可嵌入网站的 JavaScript Widget。backend 还提供了 local-embedding-reranker 服务,支持本地部署 embedding 模型和 reranker 模型,无需依赖 OpenAI 等商业 API,适合数据隐私敏感场景。
内置网站爬虫是 AutoFlow 的差异化能力之一。与传统 RAG 工具需要用户手动上传 PDF/Word 文档不同,AutoFlow 提供了一个 sitemap 感知型爬虫,能够自动发现并抓取文档类网站的完整内容。这对构建产品文档、API 文档的知识库尤为实用:用户只需提供网站 URL,AutoFlow 会自动解析 sitemap、遍历页面、提取正文内容并完成向量化。
JavaScript 可嵌入 Widget 允许将对话搜索能力以浮窗形式嵌入到任意网站。与传统的全站搜索框不同,这是一个上下文感知的 AI 助手,能够基于网站专属知识库回答访客问题,同时支持追问式多轮对话。这对于构建产品客服、文档助手场景非常有价值,无需用户离开当前页面即可获得精准答案。
多模型路由是另一个技术亮点。通过 litellm 库,AutoFlow 能够同时对接 OpenAI、Ollama(本地模型)、AWS Bedrock(Claude 等)、Azure OpenAI、Google Gemini 等多种 LLM 提供商,并支持在配置文件中自由切换。这种设计让用户在数据主权和成本之间有了灵活的选择空间。
AutoFlow 提供两种部署路径:Docker Compose 官方推荐(生产级)和本地开发环境(需手动配置 Python 3.10+ 环境 + uv 包管理器)。
Docker Compose 部署仅需 4 步:克隆仓库、复制 .env.example、修改 API Key 等配置、docker compose up -d。官方要求最低硬件配置为 4 核 CPU + 8GB 内存,磁盘约 5GB。如需加速 embedding/reranking 过程,可通过 docker compose --profile local-embedding-reranker up -d 启用本地模型服务,配合 NVIDIA GPU 可显著提升吞吐量。
特别值得一提的是官方提供了 docker-compose-cn.yml(中国区优化版),解决了国内访问 Docker Hub 镜像源不稳定的问题。TiDB Cloud Serverless 提供免费额度,新用户可直接使用云端向量存储,无需自建 TiDB 实例。
项目在 README 中坦承仍处于早期开发阶段(Early Stage),API 尚未稳定,breaking changes 可能频繁发生。对于追求生产稳定性的团队而言,这是一大顾虑。此外,虽然支持本地模型,但 local-embedding-reranker 依赖 Hugging Face 模型下载,国内网络环境首次部署可能面临下载超时问题。
另一个值得关注的点是:AutoFlow 对 TiDB 的深度绑定既是优势也是限制。向量存储 + 结构化数据共存于同一数据库简化了运维,但如果团队已有其他向量数据库投资,迁移成本不低。
AutoFlow 的出现代表了一个重要趋势:Graph RAG 从学术研究走向工程落地。2024 年以来,知识图谱驱动的 RAG 方案因微软的 GraphRAG 项目引发广泛关注,但大多数实现停留在 Notebook 原型阶段。AutoFlow 提供了从爬取、索引、检索到对话的全链路完整实现,加上 Docker 一键部署的工程友好性,降低了 Graph RAG 的落地门槛。
作为 PingCAP 在 AI 时代的关键布局,AutoFlow 也反映了数据库厂商的自我进化路径:从关系型数据库到向量数据库,再到 AI 应用平台,AutoFlow 正在用开源的方式验证这条路的可行性。