DeepSeek系列-局域网访问与API对外开放配置
本系列文章还有前序,结合一起使用
在前面文章中,咱们已经在自己本地部署了deepseek了,那么在同一个局域网中的其他电脑怎么访问?模型提供的API怎么对外访问呢?
通过前面文章介绍《本地部署 DeepSeek R1 初体验》,我们已经在本地部署了deepseek,并且通过localhost或者是127.0.0.1可以正常访问到。但是,这个时候只能本地访问,这么好玩儿的东西不发给小伙伴儿一起玩儿岂不是浪费了。怎么办呢?本文,咱们就来解决这些问题。
在前面的文章中,我们用的是 Ollama 这个软件作为载体,访问的DeepSeek R1模型,那么,让对外的功能能够实现对外访问,配置的 Ollama 的运行状态就可以了。
一、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
突破本地限制:局域网访问
Ollama 的默认配置是 127.0.0.1:11434
, 也就是监听的是本地回环的IP地址,仅允许本机访问。把这个配置修改为OLLAMA_HOST=0.0.0.0:端口号,就可以让服务开始监听所有的 IP 段,从而达到监听所有 IP 的效果。
解决跨域问题:Web UI集成
还有一种情况,如果你使用 LobeChat,Chatbox, Open WebUI 等前端工具时,可能遇到浏览器安全策略会阻止跨域请求的问题。前文中,我们用在配置Chatbox 的时候,也做的对应的修改解除跨域限制。修改OLLAMA_ORIGINS=*(允许所有来源)或指定域名列表(如"http://localhost:11434,https://www.wx7space.com"
)。
三、不同操作系统环境变量配置
1. Linux系统(Systemd管理)
步骤1:编辑服务文件:
1 | sudo vim /etc/systemd/system/ollama.service |
步骤2:在[Service]
段添加环境变量:
1 | Environment="OLLAMA_HOST=0.0.0.0:11434" |
步骤3:重载配置并重启服务:
1 | sudo systemctl daemon-reload |
2. Windows系统
- 步骤1:右键“此电脑” → 属性 → 高级系统设置 → 环境变量 → 用户变量 → 新建变量。
- 步骤2:添加关键变量(如
OLLAMA_HOST
和OLLAMA_ORIGINS
),保存后需彻底重启Ollama服务(通过任务管理器终止进程后重新启动)。 - 注意:若模型路径含空格,需使用双引号包裹路径值(如
"G:\DeepSeek_Models"
)。
四、完整的配置过程
需求目标
- 在局域网内共享DeepSeek-R1模型
- 使用前端应用通过
http://192.168.0.107:8080
调用本地部署 API
配置步骤
设置环境变量(Linux 示例):
需要修改如下三个环境变量
1 | OLLAMA_HOST=0.0.0.0:8080 |
重启服务并加载模型:
1 | ollama run deepseek-r1:1.5b |
验证API可用性:
1 | curl http://192.168.1.100:8080/api/generate -d '{"model":"deepseek-r1:1.5b", "prompt":"你好"}' |
性能优化建议
- 如果内容足够的话,使用
OLLAMA_KEEP_ALIVE=48h
可以减少频繁模型加载(用空间换时间) - 修改
OLLAMA_NUM_PARALLEL=4
提升并发处理能力
完成以上配置后,就可以实现局域网访问 API 了。
五、结束
至此,你已经用于一个运行于本地的 DeepSeek R1 模型了。接下来就可以开始你的表演了。想怎么玩儿就看你自己怎么折腾了。
欢迎关注微信公众号“小七爱折腾”,咱们一起折腾起来。