
PrivateGPT 由 Zylon AI(西班牙)团队开发,2023 年 5 月首发 ,是最早证明”文档问答可以完全离线运行、不向任何外部 API 发送数据”的开源项目之一 。
它的核心哲学写在名字里——Private(私有):当你向 /v1/chat/completions 发送关于已摄取文档的问题时,PrivateGPT 完全在本地构造检索增强提示——用处理文档时相同的模型嵌入查询,从向量库检索语义相似块,将其作为上下文注入 LLM 提示,再通过 FastAPI 的 StreamingResponse 流式返回响应,模仿 OpenAI 的 API 行为 。
整个过程——文档解析、嵌入、向量搜索、LLM 推理——每一步都在你控制的硬件上发生,没有 API Key、没有外部网络调用、没有数据离开你的边界 。
架构上,PrivateGPT 被设计为模块化、可扩展的系统:通过依赖注入解耦组件,通过 LlamaIndex 抽象接口(LLM、BaseEmbedding、VectorStore)允许切换实现,通过 YAML 配置文件(profiles)选择部署形态,而非修改代码 。
API 分为两层:高层 API 抽象了 RAG 管线全复杂度(文档摄取与上下文感知对话),低层 API 允许高级用户实现自己的复杂管线(嵌入生成、上下文块检索)。这种设计理念——”抽象优于实现,配置优于代码”——使 PrivateGPT 不仅是一个 RAG 应用,更是构建隐私优先 AI 管线的框架,每个基础组件都由你掌控 。
部署形态上,PrivateGPT 支持 Python Poetry 直接运行(PGPT_PROFILES=local make run)、Docker 容器化部署、docker-compose 生产部署,默认配置即 100% 本地运行,支持完全离线的 air-gapped 部署——通过 bulk model download 脚本提前下载所有模型,文档监视模式(watch mode)自动摄取目录下新增文件,Gradio UI 提供开箱即用的类 ChatGPT 交互界面 。
产品概述
PrivateGPT 当前版本由 Zylon AI 团队主导,GitHub 仓库 zylon-ai/private-gpt 采用 Apache 2.0 协议 ,全球累计 57K+ Stars,97+ 贡献者,是公认最成熟的隐私优先 RAG 开源项目之一 。技术架构上,PrivateGPT 的核心引擎包含 :
- LLM 组件:提供对语言模型的统一访问,支持本地(LlamaCPP、Ollama)和云端(OpenAI、Azure)选项
- 嵌入组件:从文本生成向量嵌入,支持多种嵌入模型(本地与云端)
- 向量存储组件:存储和检索嵌入,支持 Qdrant、Chroma、PostgreSQL/pgvector
- 节点存储组件:存储文档内容与元数据,支持基于文件的简单存储或 PostgreSQL 存储
- 摄取组件:管理文档处理管线,具有不同优化策略的多种实现
默认配置下,PrivateGPT v0.6.2 使用固定句子窗口解析器(SentenceWindowNodeParser,window_size=3)做文档分割,BAAI/bge-small-en-v1.5 紧凑嵌入模型生成向量,Qdrant 向量库做索引,纯语义向量检索(similarity_top_k=4),Mistral-7B-Instruct-v0.2 的 Q4_K_M 量化版本通过 LlamaCPP 做生成,默认禁用 Rerank 。
这套默认配置优先考虑简洁性与易安装性,适合通用文档问答;对于高度技术化、密集格式的文档,可通过切换解析策略、嵌入模型、启用 Rerank 等方式优化检索质量 。
商业模型上,PrivateGPT 采用 Apache 2.0 开源协议,完全免费自部署 ;Zylon AI 提供企业版(Zylon Enterprise)——面向金融、国防、政府、医疗等受监管行业的定制化部署、企业级安全与合规、专业技术支持 。
系统要求:Python 3.11+、Poetry、C++ 编译器、make;CPU 运行需 8GB+ RAM(处理速度较慢),推荐配置 NVIDIA GPU 加速(64% 的成功部署使用 GPU 加速,36% 仅 CPU 运行);本地模型权重通常在 4GB-20GB,量化版本可显著降低内存占用 。安全合规方面,PrivateGPT 的核心承诺是 100% 数据私有——默认配置下无任何外部 API 调用;支持完全离线 air-gapped 部署;API Key 仅在选用云端 LLM 时才需要;OpenAI 兼容 API 可部署在内网反向代理后做访问控制;企业版提供企业级安全与合规能力 。
核心能力
- 100% 私有文档问答:数据永不出本机,完全可离线运行;文档解析、嵌入、向量检索、LLM 推理全链路本地化
- OpenAI 兼容 API:基于 FastAPI 构建,遵循 OpenAI API 规范,支持普通与流式响应;现有 OpenAI 客户端应用无需修改代码,只需将 endpoint 指向 PrivateGPT 实例
- 双层 API 设计:
- 高层 API:抽象 RAG 管线全复杂度——文档摄取(内部管理解析/分割/元数据提取/嵌入/存储)+ 上下文感知对话(抽象上下文检索、提示工程、响应生成)
- 低层 API:允许高级用户实现自定义复杂管线——嵌入生成(基于文本)、上下文块检索(给定查询返回最相关文本块)
- LlamaIndex RAG 管线:基于 LlamaIndex 抽象构建,文档摄取管线内部管理文档解析、分割、元数据提取、嵌入生成与存储
- 多向量库后端统一接口:Qdrant(默认,生产规模,可处理数百万文档块)/ Chroma(完全进程内运行,无外部依赖,真正离线)/ PostgreSQL with pgvector;切换仅是
settings.yaml配置变更,无需代码迁移 - 本地 LLM 推理:支持 LlamaCPP(GGUF 量化模型,如 Mistral-7B-Instruct Q4_K_M)与 Ollama 部署的模型;可选 NVIDIA GPU 加速
- Gradio Web UI:内置类 ChatGPT 交互界面(),无需写前端代码即可使用
- 文档监视模式(watch mode):自动监测目录新增文件并自动摄取,实现知识库持续演进
- 批量模型下载脚本:确保 air-gapped 环境拥有运行所需的一切模型
- 模块化依赖注入架构:LLM / Embedding / VectorStore 等组件通过 LlamaIndex 抽象解耦,配置即切换实现,新增组件只需实现对应抽象接口
- 可配置 RAG 策略:嵌入模型、向量库、检索 top_k、是否启用 Rerank 等均可通过 YAML 配置
- Python Poetry 直接运行 / Docker / docker-compose 三种部署形态:
PGPT_PROFILES=local make run一键启动本地模式;Dockerfile.local 构建本地镜像;docker-compose 生产部署
优势亮点
- 100% 隐私保证,完全可离线:这是 PrivateGPT 最根本的差异化——默认配置下,没有任何数据离开执行环境,没有任何外部 API 调用;是 air-gapped 环境、受监管行业的唯一可行开源方案
- 最早证明”离线文档问答”可行的开源项目:PrivateGPT 是这一品类的开创者之一,社区成熟度高(57K+ Stars、97+ 贡献者),最常见用例都有完善的社区解决方案
- OpenAI 兼容 API:现有基于 OpenAI API 构建的应用无需修改代码,只需改 endpoint 指向 PrivateGPT 实例,迁移成本为零
- Apache 2.0 协议完全开源:可免费自部署、可商用、可二次开发,无许可成本
- 模块化架构,组件可插拔:LLM / Embedding / VectorStore 通过 LlamaIndex 抽象解耦,配置即切换实现——Qdrant/Chroma/pgvector 切换仅是 YAML 配置变更,无需代码迁移
- 双层 API 设计:高层 API 开箱即用,低层 API 允许高级用户构建自定义 RAG 管线,兼顾”简单易用”与”灵活可控”
- 生产级架构设计:依赖注入、抽象接口、配置驱动——这不是 GitHub 实验,而是可以真正部署给法律团队使用的生产系统
- Zylon AI 企业版支持:面向金融/国防/政府/医疗等受监管行业提供定制化部署、企业级安全合规、专业技术支持
- 本地模型性能接近云端:优化后的本地模型可达到云端替代方案 92% 的性能,内存占用低于 8GB
- 跨平台支持:Linux / macOS / Windows(WSL2),CPU 与 GPU 双模式运行
短板
- 默认检索质量有限:默认配置使用固定句子窗口分块(window_size=3)+ 紧凑嵌入模型(bge-small-en-v1.5)+ 纯语义检索 + 禁用 Rerank——这种配置优先考虑简洁性,对于高度结构化、技术密集的文档(如机器人编程手册、法律合同条款),检索质量显著下降,需要手工调优
- 文档深度理解弱于 RAGFlow:与 RAGFlow 的 DeepDoc(OCR、版面分析、表格结构识别、多模态图片理解)相比,PrivateGPT 的文档解析能力是基础水平,复杂表格、扫描件、多模态内容处理不是它的强项
- 企业级功能弱于 WeKnora:PrivateGPT 聚焦”纯隐私优先文档问答”这一核心用例,不具备 WeKnora 的 ReAct Agent、Wiki 自动蒸馏、四级 RBAC、9 种 IM 集成等企业级能力
- 本地 LLM 性能天花板:本地模型不会匹配 GPT-4 的推理能力;7B 参数模型需要至少 6-8GB VRAM 才能获得合理性能;更大模型需要高端 GPU 或多 GPU 配置
- 运维有技术门槛:运行本地 LLM 意味着管理模型权重(部分超过 10GB)、理解量化权衡(4-bit vs 8-bit vs 全精度)、具备推理硬件;README 内容可能滞后于实际代码库,排障时有困扰
- 检索质量高度依赖配置:实际检索精度严重依赖分块策略、嵌入模型选择、提示工程——默认配置未必最优,需要 AI 工程能力调优
- 不是可视化工作流平台:PrivateGPT 是 RAG API + Gradio UI,不是 Dify 那种可视化工作流编排平台;如果企业需要拖拽式搭建 AI 应用,应选择 Dify 开源版
- 冷启动耗时:首次运行会对模型进行优化,耗时较长;模型文件较大(通常 4GB-20GB),需确保足够存储空间
适用企业/部门
隐私强需求个人用户、受监管行业(医疗/法律/金融/政府/国防)的 IT 团队、需要完全离线文档问答的组织、AI 技术团队、隐私意识强的技术爱好者。
特别适合“数据绝对不能出本机、需要在 air-gapped 环境下实现文档问答”的场景 。如果企业首要需求是”深度文档理解(复杂表格/扫描件/多模态)”,RAGFlow 更合适;如果企业首要需求是”企业级知识平台(RAG+Agent+Wiki+RBAC+IM 集成)”,WeKnora 更合适;如果企业首要需求是”纯隐私优先的离线文档问答”,PrivateGPT 是不二之选。
PrivateGPT 安装教程
PrivateGPT 提供 Docker 部署 与 本地 Python 安装 两种方式,推荐 Docker 部署。
方式 A:Docker 部署(推荐)
前提条件
- Docker & Docker Compose
- 如需使用 Ollama 模型,需另装 Ollama 并拉取模型(如
ollama pull llama3.1)
快速安装
# 1. 克隆仓库 git clone https://github.com/zylon-ai/private-gpt cd private-gpt # 2. 启动服务(Ollama CPU 版) docker compose --profile ollama-cpu up -d # 其他可选 profile: # ollama-cuda # GPU 版 # ollama-api # 使用宿主机 Ollama(MacOS) # llamacpp-cpu # 使用 LlamaCPP 本地推理
访问
- Web UI 与 API:
方式 B:本地 Python 安装
前提条件
- Python 3.11(3.12 不支持)
- Poetry 1.8.3+
安装步骤
# 1. 克隆仓库 git clone https://github.com/zylon-ai/private-gpt cd private-gpt # 2. 安装依赖(以 Ollama + Qdrant 为例) poetry install --extras "ui llms-ollama embeddings-ollama vector-stores-qdrant" # 3. 启动服务 PGPT_PROFILES=local make run
访问
- Gradio Web UI:
如使用云端 LLM,需编辑
settings.yaml配置 API Key;使用 Ollama 需先ollama pull llama3.1与ollama pull nomic-embed-text。



