概述
本文主要记录如何使用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
:推送模型到registry
ollama 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
支持断点续传,不会重复下载已下载的部分。