简介:本文详细介绍如何通过Ollama在局域网内搭建DeepSeek-R1模型共享服务,涵盖环境准备、服务配置、安全优化等全流程,提供可复用的技术方案与故障排查指南。
在AI技术快速普及的今天,企业或开发团队常面临以下痛点:多台设备重复下载大型模型导致存储浪费、外部API调用存在延迟与隐私风险、不同成员对模型版本的同步需求。通过Ollama在局域网内共享DeepSeek-R1模型,可实现”一次部署,全局使用”,显著降低硬件成本与网络依赖,尤其适合教育机构、中小型研发团队等场景。
| 组件 | 版本要求 | 安装方式 | |
|---|---|---|---|
| Ollama | ≥0.3.0 | 官网下载或`curl -fsSL https://ollama.com/install.sh | sh` |
| Docker | ≥24.0(可选) | 官方文档指导安装 | |
| Nginx | ≥1.25(可选) | 用于反向代理与HTTPS配置 | |
| Python | ≥3.8 | 仅需客户端调用时安装 |
步骤1:安装Ollama并拉取模型
# 安装Ollama(以Ubuntu为例)wget https://ollama.com/download/linux/amd64/ollama -O /usr/local/bin/ollamachmod +x /usr/local/bin/ollama# 启动服务并拉取DeepSeek-R1 7B模型ollama serve &ollama pull deepseek-r1:7b
步骤2:配置API访问权限
编辑~/.ollama/config.json文件,添加以下内容以启用局域网访问:
{"allow-origin": "*","listen-addr": "0.0.0.0:11434"}
步骤3:防火墙放行端口
sudo ufw allow 11434/tcp # Ubuntu系统# 或通过firewalld:sudo firewall-cmd --add-port=11434/tcp --permanent
方式1:直接HTTP请求
import requestsurl = "http://<服务端IP>:11434/api/generate"headers = {"Content-Type": "application/json"}data = {"model": "deepseek-r1:7b","prompt": "解释量子计算的基本原理","stream": False}response = requests.post(url, json=data, headers=headers)print(response.json()["response"])
方式2:通过Ollama CLI(需客户端安装Ollama)
# 设置远程服务器地址export OLLAMA_HOST="http://<服务端IP>:11434"# 调用模型ollama run deepseek-r1:7b --prompt "用Java实现快速排序"
ollama create命令生成4位量化版本,显存占用降低60%:
ollama create my-deepseek-r1-q4 -f ./Modelfile# Modelfile内容示例:FROM deepseek-r1:7bQUANTIZE q4_0
--gpu-memory 10参数限制显存使用。
server {listen 443 ssl;server_name ollama.local;ssl_certificate /path/to/cert.pem;ssl_certificate_key /path/to/key.pem;location / {proxy_pass http://127.0.0.1:11434;}}
auth_basic或OAuth2中间件实现身份验证。htop或nvidia-smi实时查看GPU使用率~/.ollama/logs/server.log自动重启:配置systemd服务实现崩溃自动恢复
[Unit]Description=Ollama AI ServiceAfter=network.target[Service]User=ubuntuExecStart=/usr/local/bin/ollama serveRestart=alwaysRestartSec=3[Install]WantedBy=multi-user.target
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 客户端连接超时 | 防火墙未放行端口 | 检查ufw status并放行11434端口 |
| 模型加载失败 | 磁盘空间不足 | 使用df -h检查并清理空间 |
| GPU内存不足 | 模型版本过大 | 切换为量化版本或降低batch size |
| 推理结果不一致 | 客户端与服务端版本不匹配 | 统一使用相同Ollama版本号 |
执行以下命令测试吞吐量:
# 服务端监控ollama stats# 客户端压力测试(需安装ab工具)ab -n 100 -c 10 -p test.json http://<IP>:11434/api/generate
通过Ollama实现DeepSeek-R1的局域网共享,不仅解决了模型部署的成本与安全问题,更为企业构建自主可控的AI基础设施提供了可行路径。实际部署中,建议从7B参数版本开始验证,逐步扩展至更大模型,同时建立定期备份与版本管理机制。随着Ollama生态的完善,未来将支持更丰富的模型格式与更细粒度的权限控制,值得持续关注。