rag-stack
在自有VPC中部署私有ChatGPT,支持GPT4All/Falcon/Llama2接企业知识库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
在自有VPC中部署私有ChatGPT,支持GPT4All/Falcon/Llama2接企业知识库
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用过 ChatGPT 的朋友可能都有一个困惑:为什么它能讲量子物理,却对我公司内部的技术文档一无所知?原因很简单——通用大模型的训练数据有截止日期,且不包含你的私有知识。企业级 AI 应用的核心矛盾就在这里:既想要大模型的强大生成能力,又必须依赖内部数据给出准确答案。
RAGstack 正是为解决这个矛盾而生的开源项目。它的核心思路是:不让 AI 凭空编造,而是让它在回答前先去"查资料"。通过检索增强生成(RAG)技术,把企业文档注入 AI 的思考链路,让 AI 拥有"即时查阅公司资料"的能力——就像一个永不疲倦、记忆力完美的资深员工。
这个项目最初来自 psychic-api,后更名为 finic-ai 继续维护,已在 GitHub 积累超过 1500 颗星,是 RAG 领域的老牌开源项目。
项目 README 开篇就抛出了一个关键判断:RAG 优于微调(Fine-tuning),理由三条:
这三条判断在业界已有广泛共识。对于企业来说,RAG 方案还有一个额外优势:更新知识库不需要重新训练模型,只需更新向量数据库即可。合同到期、新产品上线、政策调整——这些变化在 RAG 架构下可以当天生效。
RAGstack 的架构清晰分为三大层:
| 模型 | 运行位置 | 特点 |
|---|---|---|
| GPT4All | 本地 CPU | 零云成本,完全离线,适合个人/小团队 |
| Falcon-7B | 云端 GPU(GCP GKE) | 性能更强,需要 NVIDIA GPU |
| Llama 2 7B | 云端 GPU | Meta 开源,商用友好 |
LLM 层通过 containerize-llms/ 目录下的配置实现容器化,其中 falcon7b/ 和 llama2-7b/ 目录提供了 Kubernetes 部署 YAML,可一键部署到 GKE 集群。本地运行则通过 scripts/local/run-dev 脚本,GPT4All 模型会自动下载到 server/llm/local/。
项目选用 Qdrant 作为向量数据库,这是 Rust 编写的开源向量相似度搜索引擎,支持实时过滤和混合搜索。相较于 FAISS 的纯内存方案,Qdrant 支持持久化存储和远程部署;相较于 Pinecone 的云托管,Qdrant 可以完全私有化部署,数据不出企业防火墙。
Qdrant 客户端版本 qdrant-client ^1.3.1 在 server/pyproject.toml 中明确声明。
后端(server/):Python 技术栈,核心依赖包括:
^0.92.0) + Uvicorn:server/main:start 是应用入口,提供 REST API;^0.0.233):编排 LLM 与向量数据库的交互,是 RAG 链路的核心编排框架;^2.2.2):将文本编码为向量,是 embedding 模型;^1.22.5):解析 PDF 文档,提取文本内容;^1.0.5):本地 LLM 推理客户端;^1.0.3):用户认证和数据库,支持 GitHub/Google OAuth 登录。后端 Dockerfile 使用 python:3.10 基础镜像,通过 Poetry 管理依赖,多阶段构建优化了镜像体积。
前端(ragstack-ui/):TypeScript + React 18 + Vite + Tailwind CSS 现代化前端栈,主要依赖包括:
^10.2.3):专业级 PDF 渲染组件;^1.75.2):产品分析,追踪用户行为。项目提供三套云平台部署脚本:
scripts/gcp/deploy-gcp.sh — Terraform 脚本部署到 GKE,自动安装 NVIDIA GPU 驱动;scripts/aws/deploy-aws.sh — 部署到 ECS(Elastic Container Service);scripts/azure/deploy-aks.sh — 部署到 AKS(Azure Kubernetes Service)。云端部署的统一入口是 Falcon-7B on GPU,配合 Terraform 实现基础设施即代码,环境一致性有保障。
整个 RAG 工作流在用户侧极度简洁:
ragstack-ui),通过 Supabase Auth 登录;server/connectors/ 中定义);这个链路在 server/vectorstore/ 和 server/functionalsample.pdf 中有具体实现。
本地运行的门槛相对较低:只需 Python 3.10+、Node.js 14+、Docker,安装完依赖后运行 ./scripts/local/run-dev 即可。GPT4All 模型会自动下载(约 3-4GB),整个过程约 30 分钟能跑起来一台本地 RAG 服务。
云端部署的门槛则明显更高:
因此项目标注部署难度为"中等",适合有云基础设施经验的团队。
RAGstack 作为一个早期开源项目,也存在一些值得关注的局限:
^0.0.233,这是 LangChain 0.0.x 时代的旧版本。LangChain 在 2023-2024 年经历了大量 breaking changes,升级到新版 LangChain/LangGraph 可能需要较大工作量;RAG 是企业 AI 应用的主流范式,根据市场研究,RAG 市场规模预计从 2024 年的 12 亿美元增长到 2030 年的 110 亿美元,年复合增长率高达 49.1%。RAGstack 作为该领域的先驱开源项目之一,在 2023 年就已完整实现了"文档上传→向量检索→RAG 问答"的全链路,技术方向极具前瞻性。
项目 Roadmap 显示已支持 GPT4All、Falcon-7B 和三大云平台部署,下一步是 Llama 2 40B 的支持——更大的模型意味着更强的推理能力。
对于想在企业内部私有化部署 AI 知识库的开发团队,RAGstack 提供了一套经过实际验证的参考架构。其代码结构清晰、文档完善,是学习 RAG 工程实践的优秀范例。
本报告基于 GitHub 最新仓库数据生成。分析时间:2026-07-20。