0


ubuntu下open-webui + ollama本地大模型部署

文章目录


业余兴趣,部署下最近很火的LLM大模型玩玩,现在市面做这种大模型的部署快速应用还是挺多的,比如下面这些。
在这里插入图片描述

这里介绍采用nvidia gpu,基于ubuntu docker环境下的open-webui + ollama本地大模型部署过程。

nvidia gpu驱动安装

如果电脑有nvidia gpu,使用本地大模型最好采用gpu,否则用cpu的推理速度极慢,还占用资源。

安装

# nvidia镜像源curl-fsSL https://nvidia.github.io/libnvidia-container/gpgkey |sudo gpg --dearmor-o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&&curl-s-L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list |\sed's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g'|\sudotee /etc/apt/sources.list.d/nvidia-container-toolkit.list

apt-get update

#安装 NVIDIA Container Toolkit 软件包apt-getinstall-y nvidia-container-toolkit
#配置 Docker 以使用 Nvidia 驱动程序sudo nvidia-ctk runtime configure --runtime=docker

apt-getinstall dkms

ubuntu-drivers devices # 查询系统建议安装的nvidia版本aptinstall nvidia-driver-550-open  #选择驱动版本安装ls /usr/src/ |grep nvidia #可以看到nvidia开头的驱动版本文件

安装后

reboot

重启
然后执行

nvidia-smi

查看gpu情况,确认是否安装成功。

卸载

sudoapt-get--purge remove nvidia*
sudoapt autoremove

# To remove CUDA Toolkit:sudoapt-get--purge remove "*cublas*""cuda*"sudoapt-get--purge remove "*nvidia*"

ollama 部署

添加docker秘钥

curl-fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg |sudo apt-key add -

添加阿里docker软件源

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

在这里插入图片描述

docker配置添加国内镜像源

创建文件:/etc/docker/daemon.json, 添加如下内容, docker镜像源将会从如下站点拉取。同时配置Nvidia运行时,能在docker中使用GPU。

{"registry-mirrors":[#镜像源"https://docker.mirrors.ustc.edu.cn",
        "https://hub-mirror.c.163.com",
        "https://docker.m.daocloud.io",
        "https://ghcr.io",
        "https://mirror.baidubce.com",
        "https://docker.nju.edu.cn"],
    "default-runtime":"nvidia",
    "runtimes":{"nvidia":{"args":[],
               "path":"nvidia-container-runtime"}},
    "data-root":"/home/docker/data/"#docker镜像默认安装路径}

其中,"data-root"为docker镜像默认安装路径,用户根据自己情况选择路径。如果不选择,默认安装到:

/var/run/docker/

sudo systemctl restart docker 

生效。

ollama安装

从源拉取ollama镜像。

docker pull ollama/ollama:latest

启动一个ollama容器

docker run -d--gpus=all --restart=always -v /root/project/docker/ollama:/root/project/.ollama -p11434:11434 --name ollama ollama/ollama

使用镜像为ollama/ollama,映射端口11434。

通过ollama下载模型到本地

#下载通义千问:dockerexec-it ollama ollama run qwen2
#下载通义ollama3dockerexec-it ollama ollama run  llama3.1:8b

查看已经安装好的模型:

dockerexec-it ollama ollama list

在这里插入图片描述
可下载其他模型库如下,根据自身电脑配置下载
模型参数数量大小下载方式Llama 27B3.8GBdocker exec -it ollama ollama run llama2Mistral7B4.1GBdocker exec -it ollama ollama run mistralDolphin Phi2.7B1.6GBdocker exec -it ollama ollama run dolphin-phiPhi-22.7B1.7GBdocker exec -it ollama ollama run phiNeural Chat7B4.1GBdocker exec -it ollama ollama run neural-chatStarling7B4.1GBdocker exec -it ollama ollama run starling-lmCode Llama7B3.8GBdocker exec -it ollama ollama run codellamaLlama 2 Uncensored7B3.8GBdocker exec -it ollama ollama run llama2-uncensoredLlama 213B7.3GBdocker exec -it ollama ollama run llama2:13bLlama 270B39GBdocker exec -it ollama ollama run llama2:70bOrca Mini3B1.9GBdocker exec -it ollama ollama run orca-miniVicuna7B3.8GBdocker exec -it ollama ollama run vicunaLLaVA7B4.5GBdocker exec -it ollama ollama run llavaGemma2B1.4GBdocker exec -it ollama ollama run gemma:2bGemma7B4.8GBdocker exec -it ollama ollama run gemma:7b

检验本地模型

通过命令运行ollama3.1,能直接进行对话,说明正常了。

dockerexec-it ollama ollama run  llama3.1:8b

在这里插入图片描述

open-webui 部署

上面命令方式跟模型对话不太通用,通常会做成网页形式交互,这里可以采用open-webui。

安装容器和镜像下载

支持 Nvidia GPU 的 Open WebUI

sudodocker run -d-p3000: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

但下载估计非常慢,可以用国内的:

sudodocker run -d-p3000: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

如果不支持 Nvidia GPU 可以下载main版本:

$ sudodocker run -d-p3000: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

映射端口号为3000.
查看ollama和open-webui安装的容器和镜像:
在这里插入图片描述
在这里插入图片描述

webui使用

网页登入:
http://127.0.0.0:3000/
在这里插入图片描述
第一次登入,需要注册个管理员账号。

进入webui后,查看是否识别到模型。
在这里插入图片描述

以及管理模型docker的端口号是否与ollama一致。
在这里插入图片描述
第一次启动模型提问,可能要等待一段时间,等模型加载启动后才有回应。
(如果一直没有回应,但命令行方式有回应,那可能是webui安装问题,或者浏览器问题)。
在这里插入图片描述

查看模型运行时内存、cpu、gpu占用

模型开始回答问题时,cpu变化不大,回答结束后cpu恢复,但内存被占用很多,而且回答结束后仍然占用,说明模型已经被加载到内存处于活跃状态。
在这里插入图片描述

nvidia-smi

查看,模型j计算的主要占用在GPU中。
在这里插入图片描述


本文转载自: https://blog.csdn.net/ludaoyi88/article/details/141528835
版权归原作者 hello_Byte 所有, 如有侵权,请联系我们删除。

“ubuntu下open-webui + ollama本地大模型部署”的评论:

还没有评论