ollama.ai 是一個很方便的 run LLM 的program.
作者寫好了 shell script 自動安裝:
curl https://ollama.ai/install.sh | sh
執行完就裝完了。
他是用 以 service 的形式,用 systemd 管理。
所以 ollama.service 和 user, group 都 create 好了。
之後,只要用 ollama 這個 command 就可以控制。
舉例來說, run model:llamma2
ollama run llama2
>>>
等一下download 完model file,就會出現 提示符號等你輸入prompt
作者的
blog有很多model 的執行 command.
可以直接照著試試看。
-- 例如
uncensored llama2
專案的
github 頁面有 "community integration",是一些其他作者的相關專案。
例如:
就是提供一個類似 chatgpt web 頁面的專案。
以ollama-webui 為例:
先把 ollam.service run 在 ip 上 (default 是 127.0.0.1):
要在 /etc/systemd/system/ollama.service.d/下 create 一個 file:
cat /etc/systemd/system/ollama.service.d/environment.conf
[Service]
Environment=OLLAMA_HOST=0.0.0.0:11434
然後 systemctl daemon-reload, restart ollama.service.
用 systemctl status (或是 journalctl -u ollama.service)看 log,會有
routes.go:843: Listening on [::]:11434 (version 0.1.14)
之後 follow ollama-webui 中,用 dockerfile 的作法:
git clone https://github.com/ollama-webui/ollama-webui.git
cd ollama-webui
docker build -t ollama-webui .
build 好 image 後..
uninstall ollama -- 就是 uninstall systemd service
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama
sudo rm /usr/local/bin/ollama
2024/11/12 update:
新的好像是用 open-webui
安裝可以用 docker 或是手動。
手動就是...
因為要 python 3.11,所以用 conda create 一個 env
然後
pip install open-webui
就會下載完所有 package 安裝。
啟動就:
open-webui serve
-- 沒有 r
就會在 http://0.0.0.0:8080 上。
她會自己找到同一台機器上的 ollama service。都不用設定。
ollama 有提供一格類似 openai 的
OpenAI Chat Completion url。
參考 ollama 的
openai compatibility 頁面。
可以用 curl 測試:
先確認你有下載 llama2 model, 然後:
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama2",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}'
就可以看到 ollama 回覆。
但是這要在 ollama 的server 上,因為 ollama 只有對 localhost 開啟。
要改對 public ip 開啟的話,參考
Allow listening on all local interfaces,在 systemd 服務設定 /etc/systemd/system/ollama.service 中,增加一個環境變數
Environment="OLLAMA_HOST=0.0.0.0:11434"
原來的 Environment設定不用改,因為 systemd service file 允許重複設定變數。
然後
sudo systemctl deamon-reload
sydo systemctl restart ollama
之後, curl 命令改用 http://192.168.145.64:11434/v1/char/completions 就會動了。
25/02/21
open-webui 的某一版之後,model 增加了 visualability 的 option,default 是 private,也就是USER 都看不到,要 ADMIN 才看得到。
所以要去 Setting-- model 把model 一個一個打開。
25/03/23
ollama 更新後,ollama.service 會被 reset,同時這一板,ollama_host 環境變數要加上 port number 了。