本文档详细介绍了 PrivateGPT 的各种部署方法,解释了如何在不同环境中设置和运行系统。有关部署后配置 PrivateGPT 的信息,请参阅配置系统。
PrivateGPT 提供两种主要的部署方法
每种方法都支持多种配置配置文件,以适应不同的 AI 后端和硬件功能。
来源:docker-compose.yaml1-116 settings-local.yaml1-27 settings-ollama.yaml1-31 settings-vllm.yaml1-21
本地 Python 安装为开发和定制提供了最大的灵活性。
--extras 标志允许您选择要安装的组件
| 额外类别 | 可用选项 | 目的 |
|---|---|---|
ui | 不适用 | 基于 Gradio 的 Web 界面 |
llms-* | llms-llama-cpp, llms-ollama, 等。 | LLM 后端 |
embeddings-* | embeddings-huggingface, embeddings-ollama, 等。 | 嵌入模型后端 |
vector-stores-* | vector-stores-qdrant, 等。 | 向量数据库后端 |
安装后,使用以下命令运行 PrivateGPT
默认情况下,它使用 settings-local.yaml 配置,该配置设置了 LlamaCPP 和 HuggingFace 组件。
来源:settings-local.yaml1-27 private_gpt/launcher.py1-69 .github/workflows/actions/install_dependencies/action.yml1-31
Docker 部署简化了设置过程,并确保了跨系统的环境一致性。
PrivateGPT 的 Docker 设置包含多个适用于不同用例的配置文件
| 配置文件 | 描述 | 硬件 | 配置 |
|---|---|---|---|
ollama-cpu | 使用 CPU 上的 Ollama | CPU | settings-docker.yaml + Ollama 设置 |
ollama-cuda | 使用支持 GPU 的 Ollama | NVIDIA GPU | settings-docker.yaml + Ollama 设置 |
llamacpp-cpu | 使用 CPU 上的 LlamaCPP | CPU | settings-local.yaml |
要使用特定配置文件启动 PrivateGPT
来源:docker-compose.yaml1-116 Dockerfile.ollama1-52 Dockerfile.llamacpp-cpu1-62
在 PrivateGPT 进程中直接使用 LlamaCPP
settings-local.yamlllamacpp 模式huggingface 模式qdrantmodels/ 目录local_data/private_gpt/qdrant使用 Ollama 作为独立的 LLM 推理和嵌入服务
settings-ollama.yamlollama 模式ollama 模式qdranthttp://:11434(本地)或 http://ollama:11434(Docker)来源:settings-ollama.yaml1-31 docker-compose.yaml8-33
使用 vLLM 作为兼容 OpenAI 的 API 服务器
settings-vllm.yamlopenailike 模式huggingface 模式http://:8000/v1基于 Ollama 的 PrivateGPT 服务
zylonai/private-gpt:0.6.2-ollamaDockerfile.ollamaPGPT_PROFILES: dockerPGPT_MODE: ollamaPGPT_EMBED_MODE: ollamaPGPT_OLLAMA_API_BASE: http://ollama:11434./local_data:/home/worker/app/local_data基于 LlamaCPP 的 PrivateGPT 服务
zylonai/private-gpt:0.6.2-llamacpp-cpuDockerfile.llamacpp-cpuPGPT_PROFILES: local./local_data/:/home/worker/app/local_data./models/:/home/worker/app/models提供 LLM 和嵌入功能的 Ollama 服务
ollama/ollama:latest./models:/root/.ollama来源:docker-compose.yaml9-116 Dockerfile.ollama1-52 Dockerfile.llamacpp-cpu1-62 settings-docker.yaml1-37
选择部署方法时考虑以下因素
| 因素 | 本地 Python | Docker (LlamaCPP) | Docker (Ollama) |
|---|---|---|---|
| 易于设置 | 中等 | 简单 | 简单 |
| 定制 | 高 | 中等 | 中等 |
| 资源使用 | 较低 | 中等 | 较高 |
| GPU 支持 | 有限 | 有限 | 良好 |
| 模型管理 | 手动 | 手动 | 由 Ollama 处理 |
| 开发 | 理想 | 不理想 | 不理想 |
| 生产 | 可能 | 良好 | 良好 |
PrivateGPT 提供灵活的部署选项,以适应各种硬件配置和用例。无论您偏爱完全本地的设置(通过直接 Python 安装)还是容器化方法(通过 Docker),该系统都可以配置为与不同的 LLM 后端、嵌入模型和向量存储协同工作。
有关部署后配置组件的更多详细信息,请参阅配置系统文档。
来源:docker-compose.yaml1-116 settings-local.yaml1-27 settings-ollama.yaml1-31 settings-vllm.yaml1-21 Dockerfile.ollama1-52 Dockerfile.llamacpp-cpu1-62