在人工智能领域,GPT(Generative Pre-trained Transformer)模型因其强大的文本生成能力而广受欢迎。但是,由于资源限制,个人用户可能难以直接运行和训练这样的大型模型。幸运的是,有一些开源项目如Ollama和Open-WebUI,它们可以帮助我们搭建私有的GPT环境。本文将指导你如何在Windows系统上使用Docker Compose来安装和配置这两个项目。
一 环境准备
在开始之前,请确保你的Windows系统上已经安装了以下软件:
- Docker Desktop:Docker的桌面版,可以在Windows上运行Docker容器。你可以从Docker官网下载并安装。
- Docker Compose:一个用于定义和运行多容器Docker应用程序的工具。Docker Desktop for Windows 2.0及以上版本已经内置了Docker Compose。
- GPU support in Docker Desktop(可选,如果本地有GPU,则需要安装):https://docs.docker.com/desktop/gpu/
二 安装步骤
2.1 配置Docker Compose
以下是一个docker-compose.yml示例:
yaml
version: '3.8'
services:
ollama:
image: ollama/ollama:latest
ports:
- 11434:11434
volumes:
- D:\software\llms\ollama\docker\ollama:/root/.ollama
container_name: ollama
pull_policy: if_not_present
tty: true
restart: always
networks:
- ollama-docker
# GPU support
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities:
- gpu
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
pull_policy: if_not_present
volumes:
- D:\software\llms\open-webui\data:/app/backend/data
depends_on:
- ollama
ports:
- 3000:8080
environment:
- 'OLLAMA_BASE_URL=http://ollama:11434'
- 'WEBUI_SECRET_KEY=xxxx你的key'
- 'HF_ENDPOINT=https://hf-mirror.com'
extra_hosts:
- host.docker.internal:host-gateway
restart: unless-stopped
networks:
- ollama-docker
networks:
ollama-docker:
external: false
- deploy: GPU support, 如果只有 CPU ,则不需要
- HF_ENDPOINT:Open WebUI提供了多种安装方法,包括Docker、Docker Compose、Kustomize和Helm。但不管你使用那种安装方法,都绕不过从huggingface.co 下载whisper模型,由于国内墙的原因,你运行半天,最后卡在这里,报错退出, 这时候你就需要配置环境变量 HF_ENDPOINT=https://hf-mirror.com , 意思是从https://hf-mirror.com 镜像,而不是https://huggfacing.co 官网下载所需的模型。
2.2 运行Docker Compose
在包含docker-compose.yml文件的目录中,打开命令提示符或PowerShell,并运行以下命令:
bash
docker-compose up -d
这将启动并运行Ollama和Open-WebUI的服务。-d参数表示在后台运行。
2.3 验证安装
安装完成后,你可以通过访问 http://localhost:3000 来验证Open-WebUI是否成功运行。如果一切正常,你应该能看到Open-WebUI的界面。
2.4 使用私有GPT
现在,你已经成功搭建了私有GPT环境。你可以通过Open-WebUI界面与GPT模型进行交互,或者使用Ollama提供的API来开发自己的应用程序。
三 结语
通过上述步骤,你可以在Windows系统上使用Docker Compose轻松安装和配置Ollama和Open-WebUI,打造属于自己的私有GPT环境。这不仅可以帮助你更好地理解GPT模型的工作原理,还可以为你的个人项目或研究提供强大的支持。