在Ubuntu上部署Open WebUI和Ollama,打造你的私人GPT

如果你对自然语言处理或者构建自己的对话AI感兴趣,那么这篇文章就是为你准备的。我将带你一步步搭建Open WebUI和Ollama,让你在自己的服务器上就能体验到强大的语言模型。

简介

Ollama是一个前沿的平台,可以让你在本地机器上运行开源的大型语言模型。它简化了部署和管理这些模型的复杂性,对于研究人员、开发者以及任何想要尝试语言模型的人来说,都是一个不错的选择。Ollama提供了一个用户友好的界面,让你可以在MacOS和Linux(Windows支持即将到来)上本地运行大型语言模型(LLMs)。

Open WebUI是一个可扩展、功能丰富、用户友好的自托管WebUI,设计为完全离线运行。它支持多种大型语言模型(LLM)运行器,包括Ollama和OpenAI兼容的API。

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

  1. 系统要求
    • 你的系统可以仅使用CPU,或者你可以拥有NVIDIA或AMD的GPU。
    • 我将使用Ubuntu 22.04作为操作系统演示。
    • 至少需要4个vCPU,推荐8个或更多。
    • 你应该至少有8GB的RAM可用,以运行7B模型;运行13B模型需要16GB,运行33B模型需要32GB。
  2. 软件
    • 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 后点击确定。

https://img-blog.csdnimg.cn/img_convert/c8afbeb764459a37a8451dd2ed8eeff1.png

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器。

https://img-blog.csdnimg.cn/img_convert/ea5814f1d1068ca9fa2bb94631cfbdf1.png

  • 到此为止,我们的云服务器就远程连接上了。

安装步骤

在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 GPU
  • docker-compose.api.yaml:仅API设置
  • docker-compose.data.yaml:数据服务
  • docker-compose.gpu.yaml:适用于NVIDIA GPU
  • docker-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:

  1. 点击UI中模型下拉旁边的“+”。
  2. 或者,转到设置 → 模型 → “从Ollama.com拉取一个模型。”

image.png

相关链接
雨云 - 新一代云服务提供商: 雨云 - 新一代云服务提供商
面试鸭:面试鸭 - 程序员求职面试刷题神器,高频编程题目免费刷
我的博客:https://blog.ivwv.site