GitHub上deepseek-r1截图
PS:本文是本地化部署DeepSeek系列教程第四篇。本系列共计5篇文章,最终,我们讲实操在Windows操作系统和Mac操作系统实现本地部署DeepSeek-R1大模型。
本系列教程其他文章,还在文章末尾添加。欢迎系统学习
在前面文章中,咱们已经在自己本地部署了deepseek了,那么在同一个局域网中的其他电脑怎么访问?模型提供的API怎么对外访问呢?
通过前面文章介绍,我们已经在本地部署了deepseek,并且通过localhost或者是127.0.0.1可以正常访问到。但是,如果我们想要把这个本地部署的服务给别人使用,就会发现访问不了。同时,如果我们想要把本地的大模型通过API方式对外提供服务,通过IP访问不了。怎么办呢?本文,咱们就来解决这些问题。
在解决这个问题前,咱们先要知道Ollama的环境变了及作用。
Ollama环境变量介绍
Ollama环境变量全解析
环境变量 | 功能说明 | 默认值/示例 |
---|---|---|
OLLAMA_HOST | 设置API服务监听地址与端口,0.0.0.0表示允许所有IP访问 | 0.0.0.0:11434 |
OLLAMA_ORIGINS | 允许跨域请求的域名列表,*为通配符 | * |
OLLAMA_MODELS | 自定义模型存储路径,避免占用系统盘空间 | D:\ollama_models |
OLLAMA_KEEP_ALIVE | 控制模型在内存中的保留时间,减少重复加载开销 | 24h(24小时) |
OLLAMA_NUM_PARALLEL | 并行处理请求数,提升高并发场景下的吞吐量 | 2 |
OLLAMA_DEBUG | 启用调试日志,排查服务异常 | 1(开启) |
OLLAMA_GPU_OVERHEAD | 扩展显存不足时,利用RAM/VRAM混合加载大模型(需手动计算显存值) | 81920000000(80GB) |
为什么需要配置OLLAMA_HOST及OLLAMA_ORIGINS?
1. 突破本地限制:局域网访问
默认情况下,Ollama仅监听127.0.0.1:11434
,仅允许本机访问。通过设置OLLAMA_HOST=0.0.0.0:端口号,可将服务绑定到所有网络接口,实现局域网内多设备共享模型资源。
2. 解决跨域问题:Web UI集成
浏览器安全策略会阻止跨域请求,例如使用Open WebUI或LobeChat等前端工具时。配置OLLAMA_ORIGINS=*(允许所有来源)或指定域名列表(如"http://localhost:3000,http://yourdomain.com"
),可解除跨域限制。
3. 安全与性能平衡
开放访问需权衡风险,建议结合防火墙规则限制IP范围,或通过反向代理(如Nginx)添加HTTPS加密层。
三、跨系统环境变量配置指南
1. Windows系统
- 步骤1:右键“此电脑” → 属性 → 高级系统设置 → 环境变量 → 用户变量 → 新建变量。
- 步骤2:添加关键变量(如
OLLAMA_HOST
和OLLAMA_ORIGINS
),保存后需彻底重启Ollama服务(通过任务管理器终止进程后重新启动)。 - 实战技巧:若模型路径含空格,需使用双引号包裹路径值(如
"E:\AI Models\Ollama"
)。
2. Linux系统(Systemd管理)
步骤1:编辑服务文件:
代码语言:javascript
复制
sudo vim /etc/systemd/system/ollama.service
步骤2:在[Service]
段添加环境变量:
代码语言:javascript
复制
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"
步骤3:重载配置并重启服务:
代码语言:javascript
复制
sudo systemctl daemon-reload
sudo systemctl restart ollama
3. macOS系统
永久配置:编辑.bash_profile
或.zshrc
:
代码语言:javascript
复制
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_ORIGINS="*"
临时生效:使用launchctl
命令(重启后失效):
代码语言:javascript
复制
launchctl setenv OLLAMA_HOST 0.0.0.0:11434
launchctl setenv OLLAMA_ORIGINS "*"
四、实战:DeepSeek模型部署与API开放
场景需求
- 在局域网内共享DeepSeek-R1模型
- 允许前端应用通过
http://192.168.1.100:8080
调用API
配置步骤
设置环境变量(Windows示例):
需要修改如下三个环境变量
代码语言:javascript
复制
OLLAMA_HOST=0.0.0.0:8080
OLLAMA_ORIGINS=*
OLLAMA_MODELS=G:\DeepSeek_Models
具体操作,编辑环境变量,然后添加如下:
重启服务并加载模型:
代码语言:javascript
复制
ollama run deepseek-r1:671b
验证API可用性:
代码语言:javascript
复制
curl http://192.168.1.100:8080/api/generate -d '{"model":"deepseek-r1:671b", "prompt":"你好"}'
性能优化建议
- 使用
OLLAMA_KEEP_ALIVE=48h
减少频繁模型加载 - 结合
OLLAMA_NUM_PARALLEL=4
提升并发处理能力913
五、常见问题与解决方案
- 环境变量未生效
- Windows:检查进程是否完全重启,避免残留旧配置15。
- macOS:使用
env | grep OLLAMA
确认变量已加载,或尝试launchctl
临时方案8。
- 跨域配置错误
- 若前端仍报CORS错误,检查
OLLAMA_ORIGINS
是否包含协议和端口(如http://localhost:3000
)8。
- 若前端仍报CORS错误,检查
- 端口冲突
- 通过
netstat -ano | findstr :8080
(Windows)或lsof -i :8080
(Linux/macOS)排查占用端口。
- 通过
通过合理配置环境变量,Ollama可轻松实现从单机工具到团队协作平台的转型。掌握这些技巧后,开发者不仅能高效管理本地大模型,还能将其无缝集成至更复杂的AI应用生态中。
填坑操作
在之前本地部署后,想要通过ip访问ollama-web-ui,发现不能正常访问。其实这里有个小小的坑。那就是ollama-web-ui中把访问Ollama的ip写死了。具体修改地方: 使用编辑器或者是文本编辑找到constants.ts文件,然后如下图修改就可以了。
修改完成之后,重启ollama-webui就可以了。