在Ubuntu上部署Open WebUI和Ollama,打造你的私人GPT
如果你对自然语言处理或者构建自己的对话AI感兴趣,那么这篇文章就是为你准备的。我将带你一步步搭建Open WebUI和Ollama,让你在自己的服务器上就能体验到强大的语言模型。
简介
Ollama是一个前沿的平台,可以让你在本地机器上运行开源的大型语言模型。它简化了部署和管理这些模型的复杂性,对于研究人员、开发者以及任何想要尝试语言模型的人来说,都是一个不错的选择。Ollama提供了一个用户友好的界面,让你可以在MacOS和Linux(Windows支持即将到来)上本地运行大型语言模型(LLMs)。
Open WebUI是一个可扩展、功能丰富、用户友好的自托管WebUI,设计为完全离线运行。它支持多种大型语言模型(LLM)运行器,包括Ollama和OpenAI兼容的API。
接下来,我将一步一步教大家如何进行安装和部署!!
准备工作
服务器准备
- 系统要求:
- 你的系统可以仅使用CPU,或者你可以拥有NVIDIA或AMD的GPU。
- 我将使用Ubuntu 22.04作为操作系统演示。
- 至少需要4个vCPU,推荐8个或更多。
- 你应该至少有8GB的RAM可用,以运行7B模型;运行13B模型需要16GB,运行33B模型需要32GB。
- 软件:
- Docker
- NVIDIA Container Runtime for Docker
- Open WebUI
- Ollama Models Library
必要前提:
- 一个充满求知欲的大脑。
- 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。
我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。
注册链接: https://rainyun.ivwv.site
创建雨云服务器
以下步骤仅供参考,请根据实际需求选择配置。
- 点击 云产品 → 云服务器 → 立即购买。
- 选择距离你较近的区域,以保证低延迟。
- 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
- 最后按照提示进行购买。
- 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
- 我们使用
PowerShell
进行SSH
远程连接到服务器,Win+R
打开运行窗口,输入powershell
后点击确定。
- 输入
ssh root@你的服务器IP
例如ssh root@154.9.227.239
回车后,首次需要输入yes
,再次回车后即可登录服务器。
- 到此为止,我们的云服务器就远程连接上了。
安装步骤
在Ubuntu上安装或升级Docker Engine
请按照在Ubuntu上安装Docker Engine的指南来安装或升级你系统中的Docker。
为Docker安装GPU支持
如果你的服务器有GPU,那么可以进行这一步,如果没有,则跳过该步骤,没有GPU也同样能运行。
适用于 Docker 的 NVIDIA 容器运行时是一种改进的机制,允许 Docker 引擎支持 GPU 加速容器使用的 NVIDIA GPU。这个新的运行时取代了 NVIDIA GPU 的 Docker Engine Utility。
请按照官方NVIDIA文档安装或升级NVIDIA Container Runtime for Docker。
安装OpenWebUI和Ollama
根据你的环境,有几种安装方法可供选择。请根据下面的选项进行操作:
[选项1] 使用捆绑Ollama支持的Open WebUI安装
这是最简单且推荐的方法。这种安装方法使用一个单一的容器镜像,将Open WebUI与Ollama捆绑在一起,通过一个命令实现流线化的设置。根据你的硬件环境选择合适的命令:
- 带有NVidia GPU和CUDA支持:利用GPU资源,运行以下命令:
sudo docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
- 带有GPU支持:利用GPU资源,运行以下命令:
sudo docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
- 仅CPU:如果你不使用GPU,请使用此命令:
sudo docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
验证Docker实例是否正在运行:
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
984c0d7006ef ghcr.io/open-webui/open-webui:ollama "bash start.sh" About an hour ago Up About an hour 0.0.0.0:3000->8080/tcp, :::3000->8080/tcp open-webui
[选项2] 使用默认Open WebUI配置安装,并使用单独的Ollama实例
使用以下命令安装Ollama:
curl -fsSL https://ollama.com/install.sh | sh
Ollama安装完成后,使用此命令启动Open WebUI:
sudo docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
- 要连接到远程服务器上的Ollama,将OLLAMA_BASE_URL更改为远程服务器的URL:
sudo docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://your_domain -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
- 要运行支持Nvidia GPU的Open WebUI,使用此命令:
sudo docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
验证Docker实例是否正在运行:
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
984c0d7006ef ghcr.io/open-webui/open-webui:ollama "bash start.sh" About an hour ago Up About an hour 0.0.0.0:3000->8080/tcp, :::3000->8080/tcp open-webui
[选项3] 使用Docker Compose安装
1. 首先克隆OpenWebUI的GitHub仓库:
git clone https://github.com/open-webui/open-webui
cd open-webui
2. 选择适当的Docker Compose文件
OpenWebUI提供了几个不同的Docker Compose文件,用于不同的配置。根据你的硬件,选择合适的文件:
docker-compose.amdgpu.yaml
:适用于AMD GPUdocker-compose.api.yaml
:仅API设置docker-compose.data.yaml
:数据服务docker-compose.gpu.yaml
:适用于NVIDIA GPUdocker-compose.yaml
:默认配置
3. 启动Docker环境
执行以下命令以启动Docker Compose设置:
sudo docker compose -v open-webui:/app/backend/data -f docker-compose.yaml up
验证Docker实例是否正在运行:
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
984c0d7006ef ghcr.io/open-webui/open-webui:ollama "bash start.sh" About an hour ago Up About an hour 0.0.0.0:3000->8080/tcp, :::3000->8080/tcp open-webui
记得通过/data/docs访问文档,以防止容器停止时数据丢失。
访问用户界面
打开你的网页浏览器,导航到:
http://<your_server_ip>:3000
你应该能看到登录页面:
创建新用户
点击“注册”创建一个新的本地用户账户。输入你的名字、电子邮件和密码,然后点击“创建账户”。
你将自动登录并被带到首页。
下载Ollama模型
有一个不断增长的模型列表供你选择。在Ollama的库中探索可用的模型。
使用Open WebUI将一个或多个模型导入到Ollama:
- 点击UI中模型下拉旁边的“+”。
- 或者,转到设置 -> 模型 -> “从Ollama.com拉取一个模型。”
相关链接
雨云 - 新一代云服务提供商: https://www.rainyun.com/NTEzMTM1_?s=blog
面试鸭:https://mianshiya.com/?shareCode=sq29yv
我的博客:https://blog.ivwv.site