Ollama+OpenWebUI部署本地大模型
前言
Ollama是一个强大且易于使用的本地大模型推理框架,它专注于简化和优化大型语言模型(LLMs)在本地环境中的部署、管理和推理工作流。可以将Ollama理解为一个大模型推理框架的后端服务。
Ollama
Ollama安装有两种方式:
- docker安装
- 脚本手动安装
不论是 docker
安装还是脚本手动安装,都分为 无GPU
版本和 GPU
版本。
Ollama Docker 安装
bash
# apt 安装 (NVIDIA GPU)
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' \\
| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# 启动容器(无GPU)
# -v ollama:/root/.ollama 表示将宿主机的 ollama 路径和容器的 /root/.ollama 进行挂载
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
# 启动容器(NVIDIA GPU)
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
# 宿主机的 ollama 路径 可以通过以下命令查询。返回的 json 数据查看 "Mounts" 节点
docker inspect ollama
Ollama 手动安装
bash
# 下载(无gpu)
# curl -L <https://ollama.com/download/ollama-linux-amd64.tgz> -o ollama-linux-amd64.tgz
curl -L -C - <https://ollama.com/download/ollama-linux-amd64.tgz> -o /opt/ollama/ollama-linux-amd64.tgz
# 下载(有gpu)
# 解压
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
# 启动服务器
ollama serve
# 运行模型
ollama run llama3.2:1b
# 拉取模型
ollama pull llama3.2:1b
# 删除模型
ollama rm llama3.2:1b
# 复制模型
ollama cp llama3.2 my-model
# 版本
ollama -v
# 模型列表
ollama list
# 列出当前加载的模型
ollama ps
# 停止当前正在运行的模型
ollama stop llama3.2:1b
配置Ollama环境变量
bash
# 编辑
vim ~/.bashrc
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_MODELS=~/.ollama/models
# 退出编辑
# 刷新环境变量
source ~/.bashrc
Open WebUI
Open WebUI
是一个开源的用户界面工具,用于运行和管理大语言模型(LLM)及其他人工智能功能。它的主要目的是简化人工智能模型的本地部署和操作,让用户能够方便地通过浏览器界面与各种AI模型进行交互。
Open WebUI Docker 安装
bash
# 拉取镜像
docker pull ghcr.io/open-webui/open-webui:main
# 启动(无gpu)
# OLLAMA_BASE_URL 最好使用实际的ip地址,以防openwebui的docker识别不了ollama后端服务
docker run -d \\
-p 3000:8080 \\
-v /opt/ollama/open-webui:/app/backend/data \\
-e HF_ENDPOINT=https://hf-mirror.com \\
-e OLLAMA_BASE_URL=http://0.0.0.0:11434 \\
-e DEFAULT_MODELS=llama3.2:1b \\
--name open-webui \\
--restart always \\
ghcr.io/open-webui/open-webui:main
# 启动(NVIDIA GPU)
docker run -d \\
-p 3000:8080 \\
--gpus all \\
-v /opt/ollama/open-webui:/app/backend/data \\
-e HF_ENDPOINT=https://hf-mirror.com \\
-e OLLAMA_BASE_URL=http://0.0.0.0:11434 \\
-e DEFAULT_MODELS=qwen2.5:7b \\
--name open-webui \\
--restart always \\
ghcr.io/open-webui/open-webui:cuda
其中 HF_ENDPOINT
是模型的下载社区 Hugging-Face
的国内镜像。
OLLAMA_BASE_URL
是我们上一步部署的 Ollama
后端服务的基础地址。
查看镜像
bash
docker images
查看容器
bash
docker ps
访问地址:localhost:3000