PrivateGPT Docker部署完全指南:一条命令从本地跑通到生产就绪
【免费下载链接】privateGPTComplete API layer for private AI applications on local models: RAG, skills, tools, MCP, text-to-sql, and more. Works with any OpenAI-compatible inference server.项目地址: https://gitcode.com/GitHub_Trending/pr/privateGPT
PrivateGPT 是一个开源的本地 AI 应用 API 层,它把 Ollama、vLLM、llama.cpp 等本地模型变成生产级私有 AI 应用的后端,提供 RAG 检索、引用溯源、工具调用、MCP 连接器和 Text-to-SQL 等能力。本文带你用 Docker 部署 PrivateGPT,一条docker run命令即可从本地跑通,再进阶到生产就绪的配置。全程只需约 5 分钟。
为什么选择 Docker 部署 PrivateGPT?
很多新手在本地跑通模型后会遇到第二个问题:如何把模型变成一个可用的 AI 应用后端?Ollama、vLLM 回答的是"怎么跑模型",而 PrivateGPT 回答的是"怎么在模型之上构建应用"。
用 Docker 部署 PrivateGPT 有三大好处:
- 🚀环境隔离:容器自带 Python 3.11 运行时、文档解析库(LibreOffice、Poppler)和浏览器依赖,无需在本机装任何环境
- 📦可复现:官方镜像
zylonai/private-gpt:latest预装core全家桶,随时拉取、随时回滚 - 🏭生产就绪:容器化本身就是生产部署的标准形态,后续扩展为多容器编排毫无障碍
镜像的构建细节可以查看仓库中的 Dockerfile,多阶段构建已经把依赖安装、浏览器缓存、编码文件都提前打包好了。
部署前的准备工作:启动你的 LLM 服务器
PrivateGPT本身不跑模型,它通过OPENAI_API_BASE连接任意兼容 OpenAI 协议的推理服务器。最简单的新手选择是 Ollama:
# 拉取一个对话模型(LLM) ollama pull qwen3.5:35b # 拉取一个嵌入模型(Embeddings,RAG 检索必需) ollama pull mxbai-embed-large # 启动服务,默认监听 11434 端口 ollama serve💡 如果你用的是 LM Studio、llama.cpp 或 vLLM,只要它们实现了
/v1/chat/completions和/v1/models接口,PrivateGPT 都能自动发现并注册模型,无需任何配置文件。更多对比见 providers 文档。
一键 Docker 部署 PrivateGPT
macOS / Windows:一条命令启动
docker run -p 8080:8080 \ -e OPENAI_API_BASE=http://host.docker.internal:11434/v1 \ zylonai/private-gpt:latesthost.docker.internal是 Docker 在 macOS 和 Windows 上访问宿主机的特殊域名,让容器内的 PrivateGPT 能找到你本机运行的 Ollama。
Linux 用户使用 host 网络模式
docker run --network host \ -e OPENAI_API_BASE=http://localhost:11434/v1 \ zylonai/private-gpt:latest如果 LLM 服务器需要 API Key
docker run -p 8080:8080 \ -e OPENAI_API_BASE=http://host.docker.internal:8000/v1 \ -e OPENAI_API_KEY=your-api-key \ zylonai/private-gpt:latest完整的分步说明见 Docker 安装文档。
验证部署:打开内置 Workbench UI
容器启动后,打开浏览器访问http://localhost:8080/ui,你会看到 PrivateGPT 内置的 Workbench 工作台:
这个 UI 不只是聊天窗口,你可以用它快速验证部署是否成功:
- 发送消息,确认模型能正常回复
- 上传文档,测试 RAG 检索与引用溯源
- 按会话开启工具(Web 搜索、代码执行等)
- 配置数据库、MCP 连接器和自定义工具
API 本体运行在http://localhost:8080,遵循 Anthropic 风格 API 规范,全部端点参考 API Reference。
部署成功后,Workbench 内置的API Debugger还能实时抓包查看每一次请求与响应,排查问题时非常直观:
生产就绪:4 个关键配置
从"本地跑通"到"生产就绪",只差下面 4 步:
1️⃣ 挂载数据卷,持久化上传的文档
默认情况下,摄入的文档存在容器内部,容器一删就没了。挂载一个卷即可解决:
docker run -p 8080:8080 \ -e OPENAI_API_BASE=http://host.docker.internal:11434/v1 \ -v ./local_data:/home/worker/app/local_data \ zylonai/private-gpt:latest2️⃣ 使用配置 Profile 管理模型参数
PrivateGPT 通过 YAML 配置文件管理所有设置。项目根目录的 settings.yaml 是所有配置的基线,每个值都支持${环境变量:默认值}的写法,因此改配置不用改代码、不用重建镜像。生产环境推荐创建独立的 profile 文件(如settings-prod.yaml),启动时加载:
docker run -p 8080:8080 \ -e OPENAI_API_BASE=http://host.docker.internal:11434/v1 \ -e PGPT_PROFILES=prod \ zylonai/private-gpt:latestprofile 的加载与合并机制详见 How it works 与 Settings & Profiles。
3️⃣ 开启鉴权与观测
- 鉴权:在 profile 中设置
server.auth.enabled: true并配置secret,防止 API 被未授权访问 - 可观测性:设置
observability.mode: arize_phoenix或opik,把每一次 LLM 调用、嵌入请求和检索步骤都变成可视化 trace,详见 Observability 文档
4️⃣ 按需构建自定义镜像
如果默认镜像不满足需求(比如要加队列、可观测性组件),可以从源码构建并指定 extras:
git clone https://gitcode.com/GitHub_Trending/pr/privateGPT cd privateGPT docker build \ --build-arg EXTRAS="core queue observability-opik" \ -t private-gpt .常见问题排查
| 症状 | 可能原因 | 解决方式 |
|---|---|---|
| 容器启动后连接 LLM 超时 | OPENAI_API_BASE地址错误 | Linux 用--network host+localhost;macOS/Windows 用host.docker.internal |
| UI 打不开 | 端口未映射 | 确认加了-p 8080:8080(host 网络模式除外) |
| 上传文档检索不到 | 没拉嵌入模型 | 确认 Ollama 中已有mxbai-embed-large等嵌入模型 |
| 重启容器后文档丢失 | 未挂载数据卷 | 添加-v ./local_data:/home/worker/app/local_data |
遇到更复杂的问题,可以查阅 故障排查文档,或用 Workbench 里的 API Debugger 直接看请求详情。
总结
| 阶段 | 你完成了什么 |
|---|---|
| ✅ 一条命令 | docker run启动 PrivateGPT,连接 Ollama |
| ✅ 本地验证 | /ui打开 Workbench,发消息、传文档、看引用 |
| ✅ 生产就绪 | 数据卷持久化 + 配置 Profile + 鉴权 + 可观测性 |
PrivateGPT 让"本地模型"与"生产 AI 应用"之间只差一个 Docker 容器。装好它之后,你的 Ollama 就不再只是能聊天的模型仓库,而是一个带 RAG、工具、MCP 和数据查询能力的完整私有 AI 后端。下一步,建议从 Quickstart 指南 开始,把消息 API 接入你自己的应用。
【免费下载链接】privateGPTComplete API layer for private AI applications on local models: RAG, skills, tools, MCP, text-to-sql, and more. Works with any OpenAI-compatible inference server.项目地址: https://gitcode.com/GitHub_Trending/pr/privateGPT
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考