Ollama部署大模型并安装WebUi

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

安装

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

我是ubuntu系统安装,其他系统可以看项目的开源地址有写

GitHub - ollama/ollama: Get up and running with Llama 3, Mistral, Gemma, and other large language models.

docker安装

一键脚本

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

info(){
  echo -e "[34m 【`date '+%Y-%m-%d %H:%M:%S'`】[0m" "[35m$1[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上获取的模型列表

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

Model

Parameters

Size

Download

Llama 3

8B

4.7GB

ollama run llama3

Llama 3

70B

40GB

ollama run llama3:70b

Mistral

7B

4.1GB

ollama run mistral

Dolphin Phi

2.7B

1.6GB

ollama run dolphin-phi

Phi-2

2.7B

1.7GB

ollama run phi

Neural Chat

7B

4.1GB

ollama run neural-chat

Starling

7B

4.1GB

ollama run starling-lm

Code Llama

7B

3.8GB

ollama run codellama

Llama 2 Uncensored

7B

3.8GB

ollama run llama2-uncensored

Llama 2 13B

13B

7.3GB

ollama run llama2:13b

Llama 2 70B

70B

39GB

ollama run llama2:70b

Orca Mini

3B

1.9GB

ollama run orca-mini

LLaVA

7B

4.5GB

ollama run llava

Gemma

2B

1.4GB

ollama run gemma:2b

Gemma

7B

4.8GB

ollama run gemma:7b

Solar

10.7B

6.1GB

ollama run solar

注意:运行 7B 模型至少需要 8 GB 的 RAM,运行 13B 模型需要 16 GB,运行 33B 模型需要 32 GB。

模型存储位置
了解模型存储位置对于管理和备份模型至关重要。默认情况下,模型存储在以下位置:

Linux:/var/lib/ollama/models
Windows:C:ProgramDataOllamamodels
macOS:/Library/Application Support/Ollama/models

查看模型

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"

重启服务即可

### 部署 Ollama 和 Open WebUI 的环境准备 为了在本地环境中成功部署Ollama和Open WebUI,确保计算机满足最低硬件要求安装必要的软件依赖项[^1]。 - **操作系统**: 支持Windows、macOS以及Linux。 - **Python版本**: 推荐使用Python 3.8以上版本。 - **其他工具**: 安装Docker以简化容器化应用的管理和部署过程;Git用于克隆项目仓库。 ### 下载与配置 Ollama 及其关联组件 获取最新版Ollama源码或二进制文件,按照官方文档指示完成初步设置工作。对于希望快速上手的新用户来说,利用预构建镜像可能是最便捷的方式之一。 ```bash git clone https://github.com/ollama-project/ollama.git cd ollama docker-compose up -d --build ``` 上述命令会自动拉取所需资源启动服务端口监听于`localhost:7860`处等待进一步指令。 ### 构建及运行 Open WebUI 应用程序 接着转向前端部分——即图形化的交互平台建设: #### 获取代码库 前往指定页面下载对应分支下的压缩包或是直接运用Git客户端执行如下操作来同步远程仓库至本地磁盘内: ```bash git clone https://github.com/open-webui/webui.git ``` #### 修改默认参数设定 编辑位于根目录下名为`.env.example`的环境变量定义文件(可根据实际情况调整),重命名为`.env`以便生效: ```plaintext PORT=3000 OLLAMA_API_URL=http://localhost:7860/api/v1/ SECRET_KEY=some_random_string_here DEBUG=True ALLOWED_ORIGINS=localhost,127.0.0.1 ``` 此处特别注意API接口路径需指向先前已经激活的服务实例位置[^2]。 #### 启动Web应用程序 确认所有前置条件均已妥善处理完毕之后,切换到项目所在的工作空间里边去触发下列脚本从而开启HTTP服务器进程供外部访问连接之用: ```bash npm install && npm run dev ``` 此时应当能够在浏览器中通过访问`http://localhost:3000`看到预期中的登陆界面了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值