快轉到主要內容

Android手機用Termux Ollama跑任意大型語言模型

· 民國113年甲辰年
·
切換繁體/簡體
分類 開源AI應用 大型語言模型
標籤 Ollama LLM Android Termux
目錄
Open WebUI與Ollama教學 - 點選展開系列文
3: 現在位置

在Android手機跑Ollama服務,執行LLaMA、Gemini、Qwen這類開源的大型語言模型。

最後討論架設圖形聊天界面前端的方法。

Ollama這款開源軟體呢,簡化了跑大型語言模型的複雜度,將Lllama.cpp變成單一執行檔,使其能夠執行多款語言模型,並透過REST API提供給外部程式串接的能力。

Ollama的大型語言模型執行的時候完全是跑在本機運算的,資料不會回傳給第三方。

不過Ollama主要是設計給Linux、Windows、macOS電腦跑的,Android手機得透過Termux執行。目前Ollama只支援CUDA和ROCm加速技術,Termux環境難以使用手機GPU或NPU加速,所以這裡都是用CPU硬算的,語言模型生成回應的速度非常慢,可能只夠跑7B以下資料量的模型。

或者,改將Ollama部署到自己的電腦,再用手機遠端存取WebUI,這是比較實際的作法。手機與網頁互動,將運算交給遠端伺服器,使用體驗較佳。

1. 系統需求
#

  • 10GB以上儲存空間,大型語言最小的3B起碼都4GB起跳
  • 8GB以上RAM,大型語言模型執行非常吃RAM,這只是最低需求。
  • 高通SD 865以上等級的處理器

2. 安裝Ollama
#

雖然Ollama有ARM64的版本,但那是給樹莓派用的,Termux環境需要安裝特製版。且Termux沒有Systemd,故我們需要手動啟動服務。

  1. 安裝Termux

  2. Ollama現在可以從Tur Repo安裝,不需要手動編譯了

pkg install tur-repo

pkg install ollama

或者參考官方文件,手動編譯最新版Ollama:

pkg install git cmake golang clang

git clone https://github.com/ollama/ollama.git

cd ollama

go generate ./...

go build .

cp ollama $PREFIX/bin

cd

rm -r ollama

3. 終端機使用Ollama
#

詳細使用方法參考Ollama教學

模型是從Ollama Library下載的,我以Mistral-7B為例子:

指示Ollama下載Mistral 7B,模型會儲存到~/.ollama/models

ollama serve &

ollama pull mistral:7b-instruct

試著在終端機跑跑看,能不能進入對話:

ollama run mistral:7b-instruct

4. 使用圖形界面APP連線到Ollama
#

Open WebUI不能直接用Termux跑,需要使用Proot-distro。

有很多Android APP相容Ollama API,例如JHubi1/ollama-app或者Mobile-Artificial-Intelligence/Maid,這些APP能當作Ollama前端使用。下面以Maid為例。

  1. 在Termux啟動Ollama服務
ollama serve &
  1. 下載Maid APK

  2. 點選Settings,輸入http://127.0.0.1:114314,連線到Ollama服務

  3. 選取要使用的模型,就可以聊天了。

Open WebUI與Ollama教學 - 點選展開系列文
3: 現在位置

相關文章


此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。