本地DeepSeek部署实战:局域网访问与API对外开放技巧
| 原创作者/编辑:凯哥Java | 分类:人工智能学习系列教程
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及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:编辑服务文件:
sudo vim /etc/systemd/system/ollama.service
步骤2:在[Service]段添加环境变量:
Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_ORIGINS=*"
步骤3:重载配置并重启服务:
sudo systemctl daemon-reload sudo systemctl restart ollama
3.macOS系统
永久配置:编辑.bash_profile或.zshrc:
export OLLAMA_HOST=0.0.0.0:11434 export OLLAMA_ORIGINS="*"
临时生效:使用launchctl命令(重启后失效):
launchctl setenv OLLAMA_HOST 0.0.0.0:11434 launchctl setenv OLLAMA_ORIGINS "*"
四、实战:DeepSeek模型部署与API开放
场景需求
在局域网内共享DeepSeek-R1模型
允许前端应用通过http://192.168.1.100:8080调用API
配置步骤
设置
需要修改如下三个环境变量
OLLAMA_HOST=0.0.0.0:8080 OLLAMA_ORIGINS=* OLLAMA_MODELS=G:\DeepSeek_Models
具体操作,编辑环境变量,然后添加如下:
重启服务并加载模型:
ollama run deepseek-r1:671b
验证API可用性:
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。
端口冲突
通过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就可以了。