当前位置: 代码网 > it编程>编程语言>其他编程 > Ollama部署大模型并安装WebUi

Ollama部署大模型并安装WebUi

2024年08月06日 其他编程 我要评论
Ollama用于在本地运行和部署大型语言模型(LLMs)的工具,可以非常方便的部署本地大模型。

ollama用于在本地运行和部署大型语言模型(llms)的工具,可以非常方便的部署本地大模型

安装

linux 

curl -fssl https://ollama.com/install.sh | sh

docker安装

一键脚本

#!/bin/bash
#################################################################################
# 功能:自动部署ollama(docker方式,gpu) 
# 说明:如果已安装了docker,请注释掉 install_docker,避免重复安装                                                                 
#################################################################################

info(){
  echo -e "\033[34m 【`date '+%y-%m-%d %h:%m:%s'`】\033[0m" "\033[35m$1\033[0m "
}


install_docker(){
#!/bin/bash
info "安装依赖..."
yum -y install gcc
yum -y install gcc-c++

##验证gcc版本
gcc -v


info "安装docker(指定版本:23.0.6)"
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o/etc/yum.repos.d/docker-ce.repo
##更新yum软件包索引
yum makecache fast

## 安装docker ce cli
# 查看可安装版本:yum list docker-ce --showduplicates | sort -r
yum -y install docker-ce-23.0.6-1.el7 docker-ce-cli-23.0.6-1.el7

info "启动docker并验证"
systemctl enable docker && systemctl start docker
docker version


## 创建加速器
#cd /etc/docker
#if [ ! -f "$daemon.json" ]; then
#  touch "$daemon.json"
#else
#  rm -rf daemon.json
#  touch "$daemon.json"
#fi
#tee /etc/docker/daemon.json <<-'eof'
#{
#	"registry-mirrors": ["https://自己的镜像加速器地址"]
#}
#eof
#systemctl daemon-reload
#systemctl restart docker


info "docker(23.0.6)安装完毕!"
}





# 安装 ollama
install_ollama(){
 info "参考ip地址:"$(hostname -i)

 read -p "请问,您当前服务器的内网ip地址是?:" inner_ip

 inner_ip="${inner_ip:-127.0.0.1}"

 curl -s -l https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo \
    | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo

 sudo yum install -y nvidia-container-toolkit

 sudo nvidia-ctk runtime configure --runtime=docker

 sudo systemctl restart docker

 docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama
 info "ollama部署完毕,开始下载qwen:0.5b模型..."

 docker exec -it ollama ollama run qwen:0.5b “你好”
 info "qwen:0.5b模型加载完成,开始部署webui界面..."

 docker run -d -p 3000:8080 -e ollama_base_url=http://${inner_ip}:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main

 eip=$(curl ifconfig.me/ip)

 info "部署完毕,正在启动webui界面,大约5分钟后,请访问:http://${eip}:3000"
}

install_docker
install_ollama


上面是一键安装脚本

下载模型

ollama run llama3:70b

这个命令的意思是下载一个llama3的70b模型

模型库

ollama 支持在 ollama.com/library 上获取的模型列表

以下是一些可下载的示例模型:

modelparameterssizedownload
llama 38b4.7gbollama run llama3
llama 370b40gbollama run llama3:70b
mistral7b4.1gbollama run mistral
dolphin phi2.7b1.6gbollama run dolphin-phi
phi-22.7b1.7gbollama run phi
neural chat7b4.1gbollama run neural-chat
starling7b4.1gbollama run starling-lm
code llama7b3.8gbollama run codellama
llama 2 uncensored7b3.8gbollama run llama2-uncensored
llama 2 13b13b7.3gbollama run llama2:13b
llama 2 70b70b39gbollama run llama2:70b
orca mini3b1.9gbollama run orca-mini
llava7b4.5gbollama run llava
gemma2b1.4gbollama run gemma:2b
gemma7b4.8gbollama run gemma:7b
solar10.7b6.1gbollama run solar

查看模型 

ollama list

 这个命令可以看已经下载的模型

chen@chen:~$ ollama list
name            	id          	size  	modified     
medllama2:latest	a53737ec0c72	3.8 gb	24 hours ago	

更改模型下载路径

先创建一个用于存放模型目录

sudo mkdir /path/to/ollama/models

修改权限

sudo chown -r root:root /path/to/ollama/models
sudo chmod -r 775 /path/to/ollama/models

添加环境变量

sudo vim /etc/systemd/system/ollama.service

[service]下面加入一行新的environment,新一行!

environment="ollama_models=/path/to/ollama/models"

 请替换上面的路径为自己服务器内的路径

这里有个细节,如果你之前已经下载了模型,想要切换路径,需要复制ollama目录到你需要的目录

如果直接使用mv,会导致目录属性错误,ollama无法正常下载模型

error: open /data/nvme/ollama/models/blobs/sha256-c1864a5eb19305c40519da12cc543519e48a0697ecd30e15d5ac228644957d12-partial-0: permission denied

这里明显显示的是权限错误 permission denied

如果你已经直接使用mv移动了,可以使用chwon 来指定ollama的models目录所属为ollama:ollama

sudo chown -r  ollama:ollama  /data/nvme/ollama/models/

想要在使用mv移动的时候保持目录属性需要再mv的基础上加上 -r 参数

开启flash attention 

flash attention 可以显著减少注意力机制计算的时间,使得transformer模型在训练和推理时能够更快地处理大量数据,而且它通过优化内存访问模式,减少了计算过程中的内存占用。这不仅有助于降低内存开销,还减少了计算过程中的内存带宽瓶颈。

通过在ollama.service 这个文件中的[service]下面加入一行新的environment,新一行!

environment="ollama_flash_attention=1"

当你的上下文越长效果越明显

安装webui

我是基于docker部署的,比较方便

docker run -d -p 3000:8080 -e ollama_base_url=http://${inner_ip}:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main

${inner_ip} 请替换为你自己服务器的ip

webui部署完成之后可能出现无法连接到ollama的情况,这是因为ollama默认绑定的ip是127.0.0.1

在ollama.service文件的[service]下面再加入一行新的environment,新一行!

environment="ollama_host=0.0.0.0:11434"

重启服务即可

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com