阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu系统下部署大语言模型:Ollama和OpenWebUI实现各大模型的人工智能自由

213次阅读
没有评论

共计 6554 个字符,预计需要花费 17 分钟才能阅读完成。

之前在 window 下安装过 Ollama 和 OpenWebUI 搭建本地的人工智能 web 项目(可以看我之前写的文章),无奈电脑硬件配置太低,用 qwen32b 就很卡,卡出 PPT 了,于是又找了一台机器安装 linux 系统,在 linux 系统下测试一下速度能否可以快一些。

系统硬件介绍

Ubuntu 22.04.4 LTS

CPU: i5-10400F

内存:32G

硬盘:512G SSD

显卡:NVIDIA GeForce GTX 1060 6GB

内网 IP: 192.168.1.21

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

下载 Ollama

访问下载:https://ollama.com/

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

安装 Ollama

方法 1、命令行下载安装 (耗时长)

安装命令:

$ sudo apt  install curl

$ curl -fsSL https://ollama.com/install.sh | sh

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

缺点:国内网络环境要等很久

方法 2 , 手动下载安装

1、手动下载 https://ollama.com/install.sh 这个文件

$ sudo mkdir ollama
cd ollama
$ sudo wget https://ollama.com/install.sh

2、注释掉下载部分 curl xxxx 手动下载 ollama-linux-{ARCH}

$ sudo vim install.sh

 修改文件:
status "Downloading ollama..."
#curl --fail --show-error --location --progress-bar -o $TEMP_DIR/ollama "https://ollama.com/download/ollama-linux-${ARCH}${VER_PARAM}"

我电脑 intel/amd cpu 所以 {ARCH} = amd64 浏览器下载 https://ollama.com/download/ollama-linux-amd64 当然科学上网速度更快哟。放在 install.sh 同目录下

3、注释掉 #$SUDO install -o0 -g0 -m755 $TEMP_DIR/ollama $BINDIR/ollama

改为下面一行:

$ sudo vim install.sh

 修改文件:
status "Installing ollama to $BINDIR..."
$SUDO install -o0 -g0 -m755 -d $BINDIR
#$SUDO install -o0 -g0 -m755 $TEMP_DIR/ollama $BINDIR/ollama
$SUDO install -o0 -g0 -m755 ./ollama-linux-amd64  $BINDIR/ollama

4 运行 install.sh , 安装

sh  ./install.sh

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

重启电脑

配置模型下载路径

cd 
sudo vim .bashrc

sudo mkdir -p /home/star/ollama/ollama_cache

然后添加一行 配置 OLLAMA_MODELS 环境变量自定义路径

### ollama model dir 改为自己的路径 
# export OLLAMA_MODELS=/path/ollama_cache
export OLLAMA_MODELS=/home/star/ollama/ollama_cache

如果开始没配置 OLLAMA_MODELS,默认路径是 /usr/share/ollama/.ollama/models

启动 ollama 服务

# ollama --help
Large language model runner

Usage:
  ollama [flags]
  ollama [command]

Available Commands:
  serve       Start ollama
  create      Create a model from a Modelfile
  show        Show information for a model
  run         Run a model
  pull        Pull a model from a registry
  push        Push a model to a registry
  list        List models
  ps          List running models
  cp          Copy a model
  rm          Remove a model
  help        Help about any command

Flags:
  -h, --help      help for ollama
  -v, --version   Show version information

Use "ollama [command] --help" for more information about a command.

提示

star@star-ai:~$ ollama serve
Couldn't find'/home/star/.ollama/id_ed25519'. Generating new private key.
Your new public key is: 

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPmYsSi6aIsyhC4EHEsCdBtSOqnfKmNVSf0Ofz9sVzyB

Error: listen tcp 127.0.0.1:11434: bind: address already in use

说明已经运行

修改 ollama 端口

vim /etc/systemd/system/ollama.service
 在 [Service] 下添加  Environment="OLLAMA_HOST=0.0.0.0"

cat /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
Environment="OLLAMA_HOST=0.0.0.0"

[Install]
WantedBy=default.target

重新加载配置,重启 ollama

systemctl daemon-reload

systemctl restart ollama

 关闭服务 
systemctl stop ollama
 启动服务 
systemctl start ollama

运行 qwen 大模型

ollama run  qwen

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

安装 docker

一键安装脚本

sudo curl -sSL https://get.docker.com/ | sh

 安装完成之后 
star@star-ai:~$ sudo docker --version
Docker version 26.1.3, build b72abbb

安装 Open WebUI

Open WebUI 是一个用于在本地运行大型语言模型(LLM)的开源 Web 界面。

参考:https://docs.openwebui.com/getting-started/#quick-start-with-docker-

docker 安装 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

要运行支持 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

改国内的地址

$ 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  registry.cn-shenzhen.aliyuncs.com/funet8/open-webui:cuda

报错:

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  registry.cn-shenzhen.aliyuncs.com/funet8/open-webui:cuda
254b47e7994b2f0087ce0058918621523b39cf9b0e89018777c0cf98943ba2d1
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

ubuntu 识别不了我的显卡

$ sudo nvidia-smi
Fri May 17 18:37:15 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1060 6GB    Off |   00000000:01:00.0 Off |                  N/A |
| 40%   33C    P8              6W /  120W |      65MiB /   6144MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      1030      G   /usr/lib/xorg/Xorg                             56MiB |
|    0   N/A  N/A      1109      G   /usr/bin/gnome-shell                            4MiB |
+-----------------------------------------------------------------------------------------+

安装 nvidia-container-toolkit: 确保你已经安装了 nvidia-container-toolkit,并配置 Docker 以使用该工具包:

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

检查 Docker 默认运行时配置: 确保 Docker 的默认运行时设置为 nvidia。编辑 Docker 的配置文件(通常位于 /etc/docker/daemon.json),并添加或修改如下内容:

sudo vim /etc/docker/daemon.json
 添加:

{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}
 编辑完文件后,重启 Docker 服务:
sudo systemctl restart docker

检查 NVIDIA Container Runtime 兼容性: 确保你的 NVIDIA Container Runtime 版本与 Docker 版本兼容。可以通过以下命令查看版本:

sudo docker version

nvidia-container-runtime --version

完成上述步骤后,再次尝试运行你的 Docker 命令。如果问题仍然存在,请提供更多的系统信息和日志,以便进一步诊断问题。

sudo docker start open-webui

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

登录 open-webui

用 IP+ 端口访问

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

修改语言为中文

OpenWebUI 默认是英文的,所以修改语言为简体中文。

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

OpenWebUI 不能连接 Ollama

报错:WebUI could not connect to ollama

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

修改地址:http://192.168.1.21:11434

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

再下载千问的模型 qwen

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

下载大模型

ollama 官方的模型仓库参见这里:https://ollama.com/library

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

根据自己的 CPU 和 GPU 选择合适的大模型,否则会很卡。

比如测试用的 1060 使用 qwen:72b 就很卡,问一个问题要等很久,几乎是不能用的状态。

 阿里巴巴的大模型:
ollama run  qwen
ollama run qwen:14b
ollama run qwen:32b
ollama run qwen:72b
ollama run qwen:110b   # 110b 表示该模型包含了 1100 亿(110 billion)个参数 


 脸书大模型:
ollama run llama2
ollama run llama3
ollama run llama3:8b

 谷歌的大模型:
ollama run gemma

 微软的大模型 
ollama run phi3

删除模型

 显示所有模型 
# ollama list

 删除模型 
# ollama rm llama3:latest

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

ubuntu 查看 GPU 负载

nvidia-smi

确实在 ubuntu20.04 系统下确实比 window10 系统使用 Ollama 更加流畅。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-05-18发表,共计6554字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中