手机直连本地大模型!不用云服务、不花一分钱,全家都能用

0 阅读4分钟

前言

上篇文章中提到的OpenWebUI虽支持手机连接本地大模型,但它仅提供网页端使用方式(无独立 APP)。在手机上通过网页的方式使用还是不如手机APP来的方便。本文将介绍如何通过手机 APP——Reins连接部署在本地的大模型。

OpenWebUI的基本使用和开发环境搭建,请查阅这篇文章《Ollama+OpenWebUI 最佳组合:本地大模型可视化交互方案》

通过OpenWebUI的手机网页连接本地大模型,请查阅这篇文章《不花一分钱!把本地大模型装进手机,全家共享+权限管控全攻略》

Reins

Reins是一个开源免费的手机APP,支持AndroidiOSmacOSLinuxWindows等各大平台。reins 的 GitHub 地址

Reins的GitHub仓库地址

下载手机 APP 安装包

Reins 暂未在国内手机应用市场上架,需前往 GitHub 下载安装包:安卓手机下载Reins-android.apk,苹果手机可直接在 App Store 搜索下载。

在GitHub上面下载安装包

下载安卓平台的安装包

安装 App

将下载好的安装包通过电脑微信,发送到手机微信上。

将安装包发送大手机微信上

在手机微信上点击这个安装包

将安装包保存到手机上

安装包保存至手机后,打开手机自带的「文件管理」应用:

找到手机上的文件管理应用

文件管理应用中找到最近的文件并找到Reins-android.apk安装包,点击安装并放开权限允许安装即可。

点击安装包允许安装

打开 Reins

安装成功后,在手机上打开这个Reins应用。

安装成功后在手机上打开这个应用

Reins应用截图

Ollama

修改Ollama的监听地址,将默认的127.0.0.1修改为0.0.0.0。参考Ollama官方文档

修改Ollama的监听地址

Ollama关于OLLAMA_HOST环境变量的官方文档

Ollama修改环境变量的示例

设置 Ollama 的环境变量

我们在之前的文章中介绍过如何将Ollama设置为开机自启。如果你的Ollama是开机启动的,你需要执行如下命令停止Ollama

# 停止Ollama服务
sudo systemctl stop ollama

停止Ollama服务

根据 Ollama 官方文档,需为其配置以下环境变量,停止成功后,执行如下命令:

# 进入ollama.service.d这个目录
cd /etc/systemd/system/ollama.service.d
# 使用vim修改override.conf
sudo vim override.conf
# 在override.conf文件中增加如下Ollama的环境变量
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_HOST=0.0.0.0:11434"

修改override.conf文件

在override.conf中增加Ollama的环境变量

然后执行如下命令:

# 重新加载systemd配置文件
sudo systemctl daemon-reload
# 立即启动 Ollama 服务
sudo systemctl start ollama

重新加载override.conf配置文件并立即启动ollama服务

如果你是通过ollama serve命令手动启动的,你需要在执行ollama serve命令的终端上面按下Ctrl + C命令来终止Ollama的运行。然后重新执行如下命令:

# 手工启动ollama服务并给Ollama指定临时的环境变量OLLAMA_ORIGINS和OLLAMA_HOST
OLLAMA_ORIGINS=* OLLAMA_HOST=0.0.0.0:11434 ollama serve

电脑防火墙

需要在 Windows 电脑上放开Ollama的端口11434,即允许别人通过网络来连接到本机的11434端口。

设置防火墙规则

在Windows上面打开防火墙

选中防火墙的入站规则,右键新建规则:

新建入站规则

选择端口点击下一步

填写Ollama的端口11434

允许连接下一步

全部勾选下一步

点击完成

Windows防火墙规则设置完成

让 Windows 将请求转发给 WSL2 里面的 Ubuntu

通过 WSL2 安装的 Ubuntu 系统本质是 Windows 的子系统(非纯虚拟机),其网络环境相对独立,因此需要将 Windows 的网络请求转发至 WSL2 中的 Ubuntu。

PowerShell中配置端口转发规则,必须以管理员权限打开PowerShell

以管理员权限打开PowerShell

PowerShell里面执行如下命令查看WSLUbuntu系统的IP地址:

# 查看WSL中Ubuntu系统的IP地址
wsl hostname -I

查看WSL中Ubuntu的IP地址

执行如下命令添加转发规则:

# 删除旧的转发规则(如果有)
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=11434
# 添加新的转发规则
netsh interface portproxy add v4tov4 `
  listenaddress=0.0.0.0 listenport=11434 `
  connectaddress=172.26.227.225 connectport=11434
# 查看添加成功的规则
netsh interface portproxy show all

Windows转发规则添加成

💡 重要:WSL2 的 IP 每次重启会变化,如果重启后无法访问,需要重新执行上述命令更新 IP。

查看 Windows 的 IP 地址

PowerShell中输入ipconfig命令查看WindowsIPv4地址:

查看Windows的IP V4地址

使用手机浏览器访问

请确保手机与电脑连接至同一局域网(同一 Wi-Fi)。在手机浏览器上面输入http://上面查到的Windows的IPV4地址:11434。示例地址:http://192.168.0.199:11434/api/

手机连接电脑上的Ollama成功了

使用 Reins 连接本地大模型

打开手机上的ReinsAPP:

打开Reins的设置界面

打开设置界面

输入Ollama的监听地址和端口进行连接

向本地大模型提问

选择Ollama部署的本地大模型

连接本地大模型成功

配置模型参数

通过Reins还可以设置大模型的参数,在聊天界面点击右上角的按钮:

设置大模型的参数

设置提示词

OpenWebUI

上述配置修改不会影响此前部署的 OpenWebUIOpenWebUIReins可以共存使用。在手机上通过Reins跟大模型聊天更加方便,在电脑上通过OpenWebUI提供的Web界面跟大模型聊天更加方便。使用如下命令启动OpenWebUI,测试一下OpenWebUI还能正常使用吗?

# 启动OpenWebUI
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve

OpenWebUI启动成功

在浏览器地址栏输入:http://localhost:8080/

OpenWebUI可以成功访问和使用

访问成功并且OpenWebUI可以正常使用,说明我们本次的所有操作都不会影响OpenWebUI

其他手机 APP

类似Reins的手机 APP 还有Chatbox AIenchantedEnchanted目前只支持苹果手机。Chatbox AI虽然支持安卓手机,但是Chatbox AI是收费的。

Chatbox AI

Enchanted