大语言模型本地部署与使用指南:ollama与open-webui详解
大语言模型本地部署与使用指南:ollama与open-webui详解
本文将详细介绍如何使用ollama运行开源大语言模型(如llama3)以及如何使用open-webui进行交互。文章内容涵盖在Windows和Linux系统上的安装步骤、ollama的基础指令、支持的模型,以及open-webui的安装和配置方法。
概述
本文主要记录如何使用
ollama
运行开源的大语言模型如
llama3
等,以及如何使用
open-webui
进行交互。
ollama
支持MacOS、Linux、Windows等操作系统,这里主要以Linux和Windows为主,讲述如何在本地运行大语言模型。
一· 安装
ollama
1.1
Windows
系统安装
ollama
访问
ollama
的官方网站:https://ollama.com/,点击
Download
,选择
Windows
的
LOGO
下载
ollama
的安装包。
下载完成后,双击安装包,按照提示安装即可。
ollama
安装完成后,可以在
cmd
或
powershell
中执行
ollama --version
,查看是否安装成功。
1.2
Linux
系统安装
ollama
1.2.1 自动安装脚本
访问
ollama
的官方网站:https://ollama.com/,点击
Download
,选择
Linux
的
LOGO
,点击后复制下方的安装指令,粘贴到
Linux
的终端中执行即可。
安装指令如下:
curl -fsSL https://ollama.com/install.sh | sh
1.2.2 使用
docker
安装
访问
ollama
托管在
DockerHub
的仓库Ollama Docker image,根据其
README
中的指令,可以使用
docker
安装
ollama
。
CPU Only
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
注意:
-v ollama:/root/.ollama
是将ollama的配置文件映射到本地,可以在更改
ollama
为其他文件夹
GPU版本
注:使用GPU版本需要安装Nvidia的GPU Driver和Nvidia Container Toolkit,具体安装方法可以参考Nvidia Docker。
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
同理:
-v ollama:/root/.ollama
是将ollama的配置文件映射到本地,可以在更改
ollama
为其他文件夹
运行ollama
docker exec -it ollama ollama run llama3
二· 使用
ollama
运行大语言模型
2.1
ollama
的基础指令
ollama serve
:启动
ollama
服务ollama create
:创建一个模型ollama show
:展示模型信息ollama run
:运行模型ollama pull
:从
registry
拉取模型ollama push
:推送模型到
registryollama list
:列出模型ollama cp
:复制模型ollama rm
:删除模型ollama help
:查看帮助ollama --version
:查看
ollama
的版本ollama --help
:查看
ollama
的帮助
2.2
ollama
支持的模型
通过查看
ollama
的官方网站ollama Library,可以看到
ollama
支持的模型,如
llama3
、
Phi3
等。
以
llama3
为例,可以通过
ollama run llama3
来运行
llama3
模型。
通用指令如下:
ollama run [model_name]:[model_tag]
例如,
llama3
模型分别有
llama3:8b
、
llama3:70b
等版本,其中,
8b
70b
分别代表模型的参数量,运行
70b
模型的指令为:
ollama run llama3:70b
三· 使用
open-webui
进行交互
Open WebUI
是针对
LLM
用户友好的
WebUI
, 支持的
LLM
运行程序包括
Ollama
和
OpenAI
兼容的
API
3.1
Ubuntu
安装
open-webui
注:
open-webui
仅仅只是一个用于交互的
WebUI
,需要配合
ollama
或
openai
等大语言模型服务一起使用。
注: 本文假设你已经在
11434
端口启动了
Ollama
服务,是否在本机不影响使用
镜像下载
官方没有在
docker hub
上发布镜像,而是发布在
ghcr.io
,地址在
https://github.com/open-webui/open-webui/pkgs/container/open-webui
登录到
Ubuntu
系统,执行以下命令拉取镜像:
# 创建数据文件夹
mkdir -p /home/lujx/docker/ollama/data
# 切换到数据文件夹
cd /home/lujx/docker/ollama/data
# 拉取镜像
docker pull ghcr.io/open-webui/open-webui:git-df3675a-cuda
注:
git-df3675a-cuda
是镜像的版本号,可以根据实际情况更改,可通过访问ghcr.io查看最新版本号,或者直接使用
main
。
如果镜像下载速度较慢,可以试试
docker
代理网站:
https://dockerproxy.com/
,但是会多几个步骤
# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/open-webui/open-webui:main
# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/open-webui/open-webui:main ghcr.io/open-webui/open-webui:main
# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/open-webui/open-webui:main
启动容器:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway --gpus=all -v data:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
注: 如需添加其他参数,可在启动容器是配置环境变量,如
OPENAI_API_BASE_URL
OPENAI_API_KEYS
等。使用
-e
参数添加,如
-e OPENAI_API_BASE_URL=http:xxxx.com -e OPENAI_API_KEYS=xxxxxxxxxxx
运行完成后,使用浏览器访问
http://localhost:3000
,即可进入
open-webui
的交互界面。或者使用
http://ip:3000
访问。
第一次访问时,需要创建一个用户,输入用户名和密码,然后点击
Sign Up
即可。
3.2
Open WebUI
的配置与使用
3.2.1 管理员权限与账号配置
首次注册登录的账号默认为管理员账号,也是唯一的管理员账号,为防止账号密码丢失导致无法登录,或者新注册的用户需要管理员激活等,建议在登录后,创建第二个账号,然后将第二个账号设置为管理员账号。
设置方法: 点击右下角的用户头像,选择
Admin Panel
,然后点击右上角的
- 号,创建一个
Role
为
Admin
的用户,键入用户名、邮箱和密码,点击
Submit
即可。
设置新建用户无需激活:点击右下角的用户头像,选择
Admin Panel
,然后点击右上角的
Admin Settings
,选择
General
,将
Default User Role
从
pending
改为
user
即可。自此,新创建的用户无需管理员激活即可登录。
3.2.2 配置
ollama
服务链接与模型下载
连接ollama服务
点击右下角的用户头像,选择
Settings
,选择
Connections
,键入
Ollama Base URL
为
http://host.docker.internal:11434
,点击右侧按钮测试
Ollama
服务的连接,连接成功会有信息提示。
如果ollama服务是在其他机器上,可以将
host.docker.internal
改为
ip
地址。
下载模型
点击右下角的用户头像,选择
Settings
,选择
Models
,在
Pull a model from Ollama.com
文本框中键入需要下载的模型,如
llama3:8b
号,点击下载按钮,等待下载完成后即可。
模型下载的来源和名称查询同
ollama
3.3 异常问题与解决
3.3.1
open-webui
无法连接
ollama
服务
如果遇到
open-webui
无法连接
ollama
服务的情况,通常是因为WebUI的docker容器无法访问到
127.0.0.1:11434
(
host.docker.internal:11434
)服务的原因,可以通过在docker命令中加入
--network=host
来解决。请注意:端口号由
3000
变为
8080
,访问链接为:
http://localhost:8080
。
示例命令如下:
docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
官方文档地址 :
https://docs.openwebui.com/getting-started/troubleshooting
3.3.2
open-webui
下载模型失败或中断
因网络问题下载中断可直接重试继续下载,
ollama
支持断点续传,不会重复下载已下载的部分。