修改ollama配置使其可以监听0.0.0.0和修改端口,可以外网访问
1.修改文件
vim /etc/systemd/system/ollama.service
2.增加
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
3.重现加载
sudo systemctl daemon-reload
sudo systemctl restart ollama
sudo systemctl status ollama
4.查看日志
journalctl -u ollama.service
5.open-api
这样可以通过外网访问
curl http://192.168.31.11:11434/api/chat -d '{
"model": "qwen:0.5b-chat-v1.5-q4_K_M",
"messages": [
{ "role": "user", "content": "介绍一下北京景点?" }
],
"stream": false
}'
6.修改端口后,访问指令方式
把Ollama的默认端口修改后,如果再运行:
ollama ps
则会报下面的错:
Error: could not connect to ollama app, is it running?
感觉似乎是没有运行一样,运行ollama list也是一样的结果,但是如果查看服务的状态:
sudo systemctl status ollama
可以看到服务是active的。百思不得其解,以为是ollama的bug,结果在这里看到:
https://github.com/ollama/ollama/issues/2928
原来改过端口之后要加端口号才能正常运行命令:
OLLAMA_HOST=127.0.0.1:10001 ollama list
OLLAMA_HOST=127.0.0.1:10001 ollama ps
OLLAMA_HOST=127.0.0.1:10001 ollama run qwen2:72b
我这里对应的.service文件是这样:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin"
Environment="OLLAMA_HOST=0.0.0.0:10001"
Environment="OLLAMA_KEEP_ALIVE=1h"
Environment="OLLAMA_NUM_PARALLEL=5"
[Install]
WantedBy=default.target
其实User,Group之类的都不需要修改,主要是要加上端口号才能正常运行。修改完.service文件,需要重新启动一下服务(我之前说的是重启操作系统,效果是一样的):
sudo systemctl daemon-reload
sudo systemctl restart ollama
另外,修改并发数之后,加载到GPU/CPU的模型大小也会发生变化:
~$ OLLAMA_HOST=127.0.0.1:10001 ollama ps
NAME ID SIZE PROCESSOR UNTIL
qwen2:72b 14066dfa503f 49 GB 5%/95% CPU/GPU 59 minutes from now
原本42GB的qwen2:72b变成49GB了,interesting,虽然大小只变化了一点,但在CPU上之后速度慢了很多。
就简单总结这么多