Bootstrap

Ollama+OpenWebUI部署本地大模型

Ollama+OpenWebUI部署本地大模型

前言

Ollama是一个强大且易于使用的本地大模型推理框架,它专注于简化和优化大型语言模型(LLMs)在本地环境中的部署、管理和推理工作流。可以将Ollama理解为一个大模型推理框架的后端服务。

Ollama

Ollama安装有两种方式:

  • docker安装
  • 脚本手动安装

不论是 docker 安装还是脚本手动安装,都分为 无GPU 版本和 GPU 版本。

Ollama Docker 安装

# 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 手动安装

# 下载(无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环境变量

# 编辑
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 安装

# 拉取镜像
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 后端服务的基础地址。

查看镜像

docker images

查看容器

docker ps

访问地址:localhost:3000

参考

ollama

openwebui

千问大模型微调

;