前情提要
上篇文章Ollama+OpenWebUI 最佳组合:本地大模型可视化交互方案,我们是通过Python的pip命令安装OpenWebUI的,这种安装方式操作步骤较繁琐,本次我们改用 Python 包管理器 uv 来安装 OpenWebUI,仅需两行命令即可完成,更为便捷。OpenWebUI官网安装教程如下截图:
安装 uv
在Ubuntu系统上面安装uv,uv 的 GitHub:
uv 的官方文档,复制uv官方文档上面的安装命令:
# 一行命令安装uv
curl -LsSf https://astral.sh/uv/install.sh | sh
安装完成后,需执行source $HOME/.local/bin/env 命令重新加载环境变量,确保 uv 能正常调用。
# 重新加载环境变量
source $HOME/.local/bin/env
通过 uv 安装并运行 OpenWebUI
执行如下命令安装并运行OpenWebUI:
# 该命令会自动下载Python3.11以及OpenWebUI的所有依赖,并在下载成功直接运行OpenWebUI
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
环境变量 DATA_DIR
我们上面执行的安装命令DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve里面设置了一个临时的环境变量:DATA_DIR,该环境变量的作用OpenWebUI的解释如下:
访问 OpenWebUI
在浏览器地址栏里面输入:http://localhost:8080/。
创建管理员账号
选择本地大模型
设置对话级别提示词
注意,我们这里设置的是对话级别的提示词和参数,只针对当前对话生效。新建对话之后,你要重新设置。因为不同的对话,你要咨询的问题可能完全不是一个领域的。
我们可以设置一个基本的提示词,这个基本提示词的作用就是我们跟本地大模型之间的约定。大模型在回答我们问题的时候,要遵守这个约定。OpenWebUI会将这段设定好的提示词直接发送给大模型。这样后续在我们跟大模型沟通的时候就不需要我们每次都先给大模型制定约束了。
全局共享提示词
在设置菜单里面设定的提示词,所有对话共享。是通用的提示词。
底部功能
怎么使用 OpenWebUI
OpenWebUI都有哪些功能,可以参考OpenWebUI 的官方文档,如下截图:
通过手机访问 OpenWebUI
想通过手机访问Ubuntu系统中部署的OpenWebUI或者想让和电脑连接同一个Wifi的朋友和家人可以通过手机访问你电脑上部署的OpenWebUI,需要先停止当前的OpenWebUI。
监听同一局域网的所有 IP 地址
使用如下命令重新启动OpenWebUI,让OpenWebUI监听同一局域网的所有 IP 地址发往8080端口的数据。
# 设置OpenWebUI监听的地址为0.0.0.0:8080。0.0.0.0代表同一局域网的手机、其他电脑,甚至公网(若端口映射+防火墙放行)都能连接。
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve --host 0.0.0.0 --port 8080
启动成功后,在另一终端中运行如下命令,验证OpenWebUI监听0.0.0.0:8080是否成功:
# 检查是否监听 0.0.0.0
ss -tlnp | grep 8080
设置防火墙规则
在Windows上面打开防火墙应用,在防火墙中允许访问8080端口。具体步骤参考下面截图:
选中防火墙的入站规则,右键新建规则:
让 Windows 将请求转发给 WSL2 里面的 Ubuntu
通过 WSL2 安装的 Ubuntu 系统本质是 Windows 的子系统(非纯虚拟机),其网络环境相对独立,因此需要将 Windows 的网络请求转发至 WSL2 中的 Ubuntu。
在PowerShell中配置端口转发规则,必须以管理员权限打开PowerShell。
在PowerShell里面执行如下命令查看WSL中Ubuntu系统的IP地址:
# 查看WSL中Ubuntu系统的IP地址
wsl hostname -I
执行如下命令添加转发规则:
# 删除旧的转发规则(如果有)
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8080
# 添加新的转发规则
netsh interface portproxy add v4tov4 `
listenaddress=0.0.0.0 listenport=8080 `
connectaddress=172.26.227.225 connectport=8080
# 查看添加成功的规则
netsh interface portproxy show all
💡 重要:WSL2 的 IP 每次重启会变化,如果重启后无法访问,需要重新执行上述命令更新 IP。
查看 Windows 的 IP 地址
在PowerShell中输入ipconfig命令查看Windows的IPV4地址:
使用手机浏览器访问
在手机浏览器上面输入http://上面查到的Windows的IPV4地址:8080。比如我的地址为:http://192.168.0.199:8080。
添加用户
在你朋友访问之前,你需要先通过管理员权限给他创建一个用户。
把账号发给你朋友
将新增用户的账号密码发送给朋友,对方在手机端输入登录后,即可使用你部署在电脑上的本地大模型。
设置你朋友的权限
若为家人(如子女)创建账号,可通过权限配置限制其仅能使用指定大模型,且禁止删除聊天记录。以及你可以设置你儿子使用的大模型禁止回答某一类问题。我们可以通过设置不同的用户组来限制用户的访问权限。
创建一个特定的模型
用户组
通过用户组,来限制用户的权限。比如,禁止这个用户组里面的用户删除他们的对话记录。
让你儿子在手机上刷新 OpenWebUI
让子女在手机端刷新 OpenWebUI 页面,即可生效权限限制。
查看儿子的会话记录
开启新用户注册功能
上面的方式是新增用户时,由管理先新增一个用户。然后把新用户的账号和密码发给对方。现在我们可以开启新用户注册的功能。
注册新用户
让你朋友在手机浏览器上面访问http://192.168.0.199:8080并填写用户名和密码进行注册。
管理员审核
给新用户设置可访问的大模型
给新增用户设置可以访问的大模型。最好的办法是,将新用户添加到用户组里面。给大模型添加访问列表时,按照用户组的维度进行添加。
手机上刷新页面
新用户完成注册并通过管理员审核后,刷新页面即可正常使用大模型功能。