前进之路 发表于 2024-8-3 21:17:20

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

之前在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
https://img-blog.csdnimg.cn/img_convert/6a0b24131cff970832e9791586d57a8a.png
下载 Ollama

访问下载: https://ollama.com/
https://img-blog.csdnimg.cn/img_convert/d9546d445b25396df5bfec5165162bb6.png
安装Ollama

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

安装命令:
$ sudo aptinstall curl

$ curl -fsSL https://ollama.com/install.sh | sh
https://img-blog.csdnimg.cn/img_convert/b45982fe8f1ee1797c78aa051e392b95.png
缺点: 国内网络环境要等很久
方法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
https://img-blog.csdnimg.cn/img_convert/0a5968c9bd62265ab3f5e0d565576a7f.png
https://img-blog.csdnimg.cn/img_convert/3a5f00a8254c9962b534b64c83d7ddb8.png
重启电脑
配置模型下载路径
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
ollama

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 --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
在 下添加Environment="OLLAMA_HOST=0.0.0.0"

cat /etc/systemd/system/ollama.service

Description=Ollama Service
After=network-online.target


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"


WantedBy=default.target
重新加载配置,重启ollama
systemctl daemon-reload

systemctl restart ollama

关闭服务
systemctl stop ollama
启动服务
systemctl start ollama
运行qwen大模型

ollama runqwen
https://img-blog.csdnimg.cn/img_convert/ed803bad62cbd10de729af739dd32dd4.png
安装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 alwaysregistry.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 alwaysregistry.cn-shenzhen.aliyuncs.com/funet8/open-webui:cuda
254b47e7994b2f0087ce0058918621523b39cf9b0e89018777c0cf98943ba2d1
docker: Error response from daemon: could not select device driver "" with capabilities: [].
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   |
|-----------------------------------------+------------------------+----------------------+
| GPUName               Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| FanTemp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-UtilCompute M. |
|                                       |                        |               MIG M. |
|=========================================+========================+======================|
|   0NVIDIA 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/AN/A      1030      G   /usr/lib/xorg/Xorg                           56MiB |
|    0   N/AN/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
https://img-blog.csdnimg.cn/img_convert/5eab38336e6c268a4779cc135c967c8a.png
登录open-webui

用IP+端口访问
https://img-blog.csdnimg.cn/img_convert/66b164e74fbcf5a6aac53948ee68b9f5.png
修改语言为中文

OpenWebUI默认是英文的,以是修改语言为简体中文。
https://img-blog.csdnimg.cn/img_convert/3d2fcd9317cca50a00b3a667b7f22a34.png
OpenWebUI不能连接Ollama

报错:WebUI could not connect to ollama
https://img-blog.csdnimg.cn/img_convert/05bf2314fba85d74182a5aa976968af3.png
修改地址:http://192.168.1.21:11434
https://img-blog.csdnimg.cn/img_convert/f58b261219d33b77dd46561b1f2e04af.png
再下载千问的模型 qwen
https://img-blog.csdnimg.cn/img_convert/1dbdac5cc80e8e5805101534700c466c.png
下载大模型

ollama官方的模型堆栈拜见这里:https://ollama.com/library
https://img-blog.csdnimg.cn/img_convert/ca3c226f4bfb4a5142627c4b7e6f7416.png
根据本身的CPU和GPU选择合适的大模型,否则会很卡。
好比测试用的1060使用qwen:72b就很卡,问一个问题要等很久,险些是不能用的状态。
阿里巴巴的大模型:ollama runqwen
ollama run qwen:14bollama run qwen:32bollama run qwen:72bollama run qwen:110b   # 110b 表示该模型包罗了 1100 亿(110 billion)个参数脸书大模型:ollama run llama2ollama run llama3ollama run llama3:8b谷歌的大模型:ollama run gemma微软的大模型ollama run phi3 删除模型

显示所有模型
# ollama list

删除模型
# ollama rm llama3:latest
https://img-blog.csdnimg.cn/img_convert/6765a1ebff894f275bfd572ecdd94c7b.png
ubuntu检察GPU负载

nvidia-smi
确着实ubuntu20.04系统下确实比window10系统使用Ollama更加流通。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Ubuntu系统下部署大语言模型:Ollama和OpenWebUI实现各大模型的人工智能自