PrivateGPT 是面向本地模型的开源 API 层,帮助开发者将 Ollama 等推理服务转化为具备 RAG、工具调用能力的生产级应用,无需依赖云端接口即可构建私有 AI 产品。
Project story
PrivateGPT 是一个开源的 API 层,旨在将本地运行的模型转化为可用于生产的 AI 应用程序。该项目由 Zylon 团队维护,目前拥有约 57492 颗 GitHub Star,显示出较高的社区关注度。它并非直接运行模型,而是作为中间件连接上游应用与下游推理服务器。项目遵循 Apache-2.0 许可证,代码库活跃,持续更新以支持最新的 AI 应用标准。
在本地运行大语言模型只是第一步。开发者若要构建实用的 AI 应用,往往需要重复开发后端基础功能,如消息处理、文件摄入或检索增强生成(RAG)。如果没有 PrivateGPT,开发者可能需要自行拼接各种底层库,或者依赖云端 API,这在数据隐私要求高的场景下不可行。PrivateGPT 提供了标准化的 API 接口,让开发者无需从零构建这些后端原语,也不必依赖云服务,从而专注于上层业务逻辑的开发。
PrivateGPT 提供了一套兼容 Claude API 标准的接口能力。首先是标准消息 API,支持流式传输、异步处理和令牌计数。其次是知识管理能力,支持文件和工件的摄入,并能进行带有引用来源的检索增强生成(RAG)。
它还内置了多种工具,包括网络搜索、网页抓取和代码执行,同时支持自定义工具和 MCP(模型上下文协议)连接器。对于结构化数据,它提供对数据库和 CSV 文件的原生访问能力。此外,它还包含嵌入向量生成和编排功能。项目自带一个工作台 UI,用于测试消息发送、模型选择、文档上传及调试 API 请求,但该 UI 仅作为演示和内部试用,核心产品仍是 API。
该项目主要使用 Python 编写。架构上,PrivateGPT 定位为“本地 AI 应用 API 层”,位于用户应用与推理服务器之间。它不直接运行模型,而是通过 OPENAI_API_BASE 环境变量连接到任何兼容 OpenAI 接口的推理服务器,如 Ollama、llama.cpp、vLLM 或 LocalAI。只要目标服务器实现了 /v1/chat/completions 和 /v1/models 端点,即可与 PrivateGPT 协同工作。这种解耦设计使得它可以灵活适配不同的底层推理引擎。
运行 PrivateGPT 的前提是必须有一个正在运行的、兼容 OpenAI 接口的大语言模型服务器。官方推荐从 Ollama 开始,因其配置最为简单。安装方面,macOS 用户可通过 Homebrew 安装;Linux 和 Windows 用户则推荐使用 uv 工具进行安装。启动时需设置 OPENAI_API_BASE 和 OPENAI_EMBEDDING_API_BASE 环境变量指向本地推理服务的地址。随后运行 private-gpt serve 即可启动服务,默认端口为 8080。更详细的 Docker 部署和模型配置需参见官方文档。
PrivateGPT 适合希望构建私有化、离线优先 AI 应用的开发团队,特别是那些需要集成 RAG、工具调用或结构化数据查询的场景。它也适用于需要将本地模型接入 Claude Desktop、Microsoft 365 Copilot 或 n8n 等现有工具的用户。
然而,该项目存在明确局限。它不支持提示词缓存(Prompt caching),也不提供 OAuth 或组织级用户管理功能。对于需要大规模并发、负载均衡、LDAP/Active Directory 集成、审计日志或气隙(air-gapped)隔离操作的企业级需求,PrivateGPT 本身无法完全满足,这些功能由其商业产品 Zylon 提供。此外,部分高级功能如结构化输出和视觉能力取决于底层模型的支持情况,并非由 PrivateGPT 独立保证。