前言

前两天微软发布了phi3大模型,是目前少数可以在移动设备上运行的本地语言模型,号称可以和ChatGPT-3.5相当,仅3.8亿参数
本文将教你如何在本地部署这个大模型,利用闲置的手机,并且让公网的设备也能远程访问

Step 0: Termux下载安装

需要注意的是不要从play上下载termux,否则会出现报错,应该从F-droid上下载安装

换源:
因为你懂的原因,需要把软件源换成国内源

清华源的文档里写的很清楚:

图形界面(TUI)替换:在 Termux 中执行如下命令

termux-change-repo

在图形界面引导下,使用自带方向键可上下移动。

第一步使用空格选择需要更换的仓库,之后在第二步选择 TUNA/BFSU 镜像源。确认无误后回车,镜像源会自动完成更换。

Step 1: Ollama部署

安装依赖

pkg upgradepkg install git cmake golang
#安装ollama并拉取phi3镜像
git clone --depth 1 https://github.com/ollama/ollama.git
cd ollama
go generate ./...
go build .
./ollama serve &
./ollama pull phi3

这个时候ollama已经在11434端口运行了

Step 2: 使用Ngrok部署到公网

我看的ollama mac server的教程用的Ngrok,查了一下有人做了termux的

长按屏幕左上角,新建一个termux session

命令复制粘贴就行,没有难度

pkg update -y
pkg install git
git clone https://github.com/Yisus7u7/termux-ngrok
cd termux-ngrok
bash install.sh

Step 3: 获取绑定token

https://dashboard.ngrok.com

在ngrok官网注册账号,会获得一个token
然后在termux绑定

ngrok config add-authtoken (你的token)

这一步可能会报错,不用管,这个时候已经绑上了

Step 5: 部署到公网

执行:

ngrok http 11434 --host-header="localhost:11434"

ollama默认是11434端口,如果你不确定就再执行一下./ollama serve ,会告诉你11434 already in use

然后就会得到一个url,termux上因为手机分辨率的问题可能看不清楚

这个时候别慌,打开ngrok dashboard,endpoints,里面有url

2024-05-01T13:29:12.png

然后如果你有ios/mac设备的话去app store下一个Enchanted,按这个填就行

2024-05-01T13:29:27.png

FAQ:

  1. Android/其他设备怎么使用?

ollama是支持openai格式的调用,所以使用任意第三方客户端或者web客户端即可
这里推荐使用ChatGPT-Next-Web,一个纯前端的web客户端

repo:https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web

repo里有演示网页,可以将演示网页保存为pwa应用使用

此外,推荐使用oneapi对你当前手上的api进行管理,oneapi可以将多个api整合和负载,并且整理为openai格式的api

repo:https://github.com/songquanpeng/one-api

  1. 生成速度过慢

如果设备性能不足的话跑不动很正常,建议最好870以上的,8G以上运行内存的设备
当然你还有其他模型可以玩,比如说qwen:1.8b,tinyllama等等,在本地移动设备的支持都是很好的

Last modification:May 15, 2024
如果觉得我的文章对你有用,请随意赞赏