菜单

部署选项

相关源文件

本文档详细介绍了 PrivateGPT 的各种部署方法,解释了如何在不同环境中设置和运行系统。有关部署后配置 PrivateGPT 的信息,请参阅配置系统

部署方法概述

PrivateGPT 提供两种主要的部署方法

  1. 本地 Python 安装 - 使用 Python 和 Poetry 直接在您的机器上运行
  2. 基于 Docker 的部署 - 使用 Docker 和 Docker Compose 在容器中运行

每种方法都支持多种配置配置文件,以适应不同的 AI 后端和硬件功能。

来源:docker-compose.yaml1-116 settings-local.yaml1-27 settings-ollama.yaml1-31 settings-vllm.yaml1-21

本地 Python 安装

本地 Python 安装为开发和定制提供了最大的灵活性。

先决条件

  • Python 3.11+
  • Poetry 1.8.3+
  • 为所选的 LLM 和嵌入模型提供充足的硬件资源

安装步骤

  1. 安装 Poetry
  2. 克隆 PrivateGPT 仓库
  3. 根据您的需求安装带额外依赖的包

--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 部署

Docker 部署简化了设置过程,并确保了跨系统的环境一致性。

Docker Compose 配置文件

PrivateGPT 的 Docker 设置包含多个适用于不同用例的配置文件

配置文件描述硬件配置
ollama-cpu使用 CPU 上的 OllamaCPUsettings-docker.yaml + Ollama 设置
ollama-cuda使用支持 GPU 的 OllamaNVIDIA GPUsettings-docker.yaml + Ollama 设置
llamacpp-cpu使用 CPU 上的 LlamaCPPCPUsettings-local.yaml

使用 Docker Compose 运行

要使用特定配置文件启动 PrivateGPT

Docker 架构

来源:docker-compose.yaml1-116 Dockerfile.ollama1-52 Dockerfile.llamacpp-cpu1-62

部署选项详情

本地 LlamaCPP 配置

在 PrivateGPT 进程中直接使用 LlamaCPP

  • 配置文件settings-local.yaml
  • LLM 组件llamacpp 模式
  • 嵌入组件huggingface 模式
  • 向量存储:默认使用 qdrant
  • 文件路径:
    • 模型:models/ 目录
    • 数据:local_data/private_gpt/qdrant

来源:settings-local.yaml1-27

Ollama 配置

使用 Ollama 作为独立的 LLM 推理和嵌入服务

  • 配置文件settings-ollama.yaml
  • LLM 组件ollama 模式
  • 嵌入组件ollama 模式
  • 向量存储:默认使用 qdrant
  • Ollama APIhttp://:11434(本地)或 http://ollama:11434(Docker)

来源:settings-ollama.yaml1-31 docker-compose.yaml8-33

vLLM 配置

使用 vLLM 作为兼容 OpenAI 的 API 服务器

  • 配置文件settings-vllm.yaml
  • LLM 组件openailike 模式
  • 嵌入组件huggingface 模式
  • OpenAI APIhttp://:8000/v1

来源:settings-vllm.yaml1-21

Docker 服务说明

private-gpt-ollama

基于 Ollama 的 PrivateGPT 服务

  • 镜像zylonai/private-gpt:0.6.2-ollama
  • DockerfileDockerfile.ollama
  • 环境变量:
    • PGPT_PROFILES: docker
    • PGPT_MODE: ollama
    • PGPT_EMBED_MODE: ollama
    • PGPT_OLLAMA_API_BASE: http://ollama:11434
  • :
    • ./local_data:/home/worker/app/local_data
  • 端口: 8001

private-gpt-llamacpp-cpu

基于 LlamaCPP 的 PrivateGPT 服务

  • 镜像zylonai/private-gpt:0.6.2-llamacpp-cpu
  • DockerfileDockerfile.llamacpp-cpu
  • 环境变量:
    • PGPT_PROFILES: local
  • :
    • ./local_data/:/home/worker/app/local_data
    • ./models/:/home/worker/app/models
  • 端口: 8001

ollama / ollama-cpu / ollama-cuda

提供 LLM 和嵌入功能的 Ollama 服务

  • 镜像ollama/ollama:latest
  • Traefik 反向代理 将请求路由到相应的服务
  • :
    • ./models:/root/.ollama
  • 端口: 11434

来源:docker-compose.yaml9-116 Dockerfile.ollama1-52 Dockerfile.llamacpp-cpu1-62 settings-docker.yaml1-37

选择部署方法

选择部署方法时考虑以下因素

因素本地 PythonDocker (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