Ollama+Open WebUI部署大模型在linux平台

深度学习视觉 2024-08-12 17:03:04 阅读 53

Ollama安装运行

Ollama容器拉取

<code>docker pull ollama/ollama

Ollama容器CPU运行

docker run -d --restart=always -v /home/docker/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Ollama容器GPU运行

# nvidia-container-runtime-script.sh

sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \

sudo apt-key add -

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \

sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list

sudo apt-get update

运行上述指令

##运行等待事件较长

sudo sh nvidia-container-runtime-script.sh

##要想成功执行这句,必须把源做好。

sudo apt-get install nvidia-container-runtime

#验证

which nvidia-container-runtime

#重启docker

sudo systemctl restart docker

#指定gpu模板

docker run -it --gpus '"device=0,2"' --shm-size 32g image_name:tag_name

docker run --gpus all -d -v /your/path/docker/ollama:/root/.ollama -p 11435:11435 --name ollama-gpu ollama/ollama

Open WebUI安装运行

Open WebUI容器拉取

docker pull ghcr.io/open-webui/open-webui:main

Open WebUI容器运行

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

Open WebUI端口重定向

这一步是为了在windows端可以访问

ssh -N -L 3000:localhost:3000 linux@linux.ip

容器删除

docker ps -l

#会返回CONTAINER ID,假设ed01c65da2cf

docker rm ed01c65da2cf

用户添加到docker用户组

## 将登陆用户加入到docker用户组中

sudo gpasswd -a $USER docker

# 更新用户组

newgrp docker

错误解决

sudo apt-get install -y nvidia-docker2 Reading package lists... Done

Building dependency tree Reading state information... Error! E:

Unable to parse package file /var/lib/apt/extended_states (1)

extended_states 做好备份,删除这个文件后,执行

sudo apt-get update

open webui非容器安装

环境准备

[nodejs最新版](https://nodejs.cn/download/current/)

npm -g install npm@10.5.0

npm config set prefix "D:\Program Files\nodejs\node_global"

npm config set cache "D:\Program Files\nodejs\node_cache"

npm config set registry=http://registry.npm.taobao.org

安装

git clone https://github.com/open-webui/open-webui.git

cd open-webui/

# Copying required .env file

cp -RPp .env.example .env

# Building Frontend Using Node

npm i

npm run build

# Serving Frontend with the Backend

cd ./backend

pip install -r requirements.txt -U

bash start.sh

Ollama非容器安装

一句话安装命令

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

创建用户

sudo useradd -r -s /bin/false -m -d /usr/share/ollama ollama

在 /etc/systemd/system/ollama.service 中创建一个服务文件:

这个文件也是启动时候执行的命令,可以指定ollama所需要的一切参数。

[Unit]

Description=Ollama Service

After=network-online.target

[Service]

ExecStart=/usr/bin/ollama serve

User=ollama

Group=ollama

Restart=always

RestartSec=3

Environment="OLLAMA_NUM_PARALLEL=4" #并行处理请求的数量code>

Environment="OLLAMA_MAX_LOADED_MODELS=4" #同时加载的模型数量code>

Environment=OLLAMA_MODELS="/docker/ollama/models/" code>

Environment="OLLAMA_FLASH_ATTENTION=true"code>

Environment="OLLAMA_KEEP_ALIVE=-1"code>

Environment="OLLAMA_ORIGINS=*"code>

[

Install]

WantedBy=default.target

启动服务:

sudo systemctl daemon-reload

sudo systemctl enable ollama

启动 Ollama

使用 systemd 启动 Ollama:

sudo systemctl start ollama

# 重启

sudo systemctl restart ollama

更新

通过再次运行安装脚本来更新 ollama:

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

查看日志

要查看作为启动服务运行的 Ollama 的日志,请运行:

journalctl -u ollama

移除 ollama 服务

sudo systemctl stop ollama

sudo systemctl disable ollama

局域网访问

export OLLAMA_HOST=192.168.1.3

systemctl start firewalld

firewall-cmd --zone=public --add-port=11434/tcp --permanent

firewall-cmd --reload



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。