本地DeepSeek部署实战:局域网访问与API对外开放

image.png

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_HOSTOLLAMA_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

五、常见问题与解决方案

  1. 环境变量未生效
    1. Windows:检查进程是否完全重启,避免残留旧配置15。
    2. macOS:使用env | grep OLLAMA确认变量已加载,或尝试launchctl临时方案8。
  2. 跨域配置错误
    1. 若前端仍报CORS错误,检查OLLAMA_ORIGINS是否包含协议和端口(如http://localhost:3000)8。
  3. 端口冲突
    1. 通过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就可以了。

### DeepSeek 本地部署后的局域网访问方法 #### 安装 Ollama 和 DeepSeek 模型 为了使其他设备能够通过局域网访问部署DeepSeek,首要条件是在一台主机上成功安装 Ollama 完成 DeepSeek 模型的下载部署[^1]。 ```bash # 假设已经按照官方指南完成了Ollama环境搭建以及DeepSeek模型加载 ``` #### 开启网络共享设置 确保用于运行 DeepSeek 的计算机允许来自同一局域网内的其它设备连接其服务端口。通常情况下,默认防火墙可能会阻止外部请求进入该机器;因此需要调整防火墙规则来放行特定的服务端口号(例如8080或其他自定义端口)。对于 Windows 用户来说,则可以通过控制面板中的高级安全Windows Defender防火墙来进行相应配置[^2]。 #### 使用固定IP地址 建议为主机分配静态 IP 地址而不是依赖 DHCP 动态获取的方式,这样可以方便后续跨设备间的稳定通信,减少因 IP 变更带来的麻烦。可以在路由器管理页面找到有关如何为某台电脑设定固定的内部 IPv4 地址的信息[^3]。 #### 测试连通性 当一切准备就绪之后,在另一台位于相同子网下的客户端打开浏览器窗口尝试输入形如 `http://<服务器IPv4>:<port>` 这样的 URL 来验证是否能正常浏览到由 Chatbox 提供的服务界面。如果遇到任何问题,请检查两端之间的路由可达性和所使用的协议版本兼容情况。 #### GUI 工具辅助 考虑到命令行交互可能存在不便之处,可考虑引入图形化前端应用简化操作流程。比如利用之前提到过的 Chatbox 可视化工具构建友好的聊天室体验,使得即使是没有编程背景的人也能轻松参到多轮次对话当中去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

toooooop8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值