大家好!我是AI安全工坊。最近,我一直在研究如何在内网环境中安全、高效地部署大型语言模型DeepSeek(LLM)。这篇教程不仅仅是操作指南,更是我的实战经验总结,希望能帮助大家少走弯路!
2. 前置条件 (磨刀不误砍柴工)
2.1 硬件要求 (这可不是闹着玩的!)
- GPU:
强烈建议使用NVIDIA RTX 3090或更高型号的GPU,显存至少24GB。相信我,小显存跑大模型会让你抓狂的!我一开始尝试用2080Ti跑,结果… 算了,说多了都是泪。 - 内存:
至少64GB,推荐128GB或更多。别以为内存够用就行,跑起来你会发现内存也是瓶颈。 - 存储:
至少100GB的可用空间。模型文件、软件、依赖库… 加起来可不小! -
图形化检测自己设备的DeepSeek 模型兼容性检测:https://tools.thinkinai.xyz/
2.2 软件要求
- 确保你的显卡驱动是最新版本!
兼容性问题可能会导致各种奇怪的错误。 -
Docker (可选,强烈推荐用于Lobe Chat部署,省心!)。 -
Node.js >= 18 和 pnpm (可选, 用于手动部署 Lobe Chat, 如果你是前端高手, 可以试试)
3. Ollama 安装与配置 (重中之重)
3.1 Windows 安装 (其实很简单)
- 下载:
访问Ollama官网 https://ollama.ai/,下载Windows安装包。 - 安装:
双击安装包,一路“下一步”。是不是so easy? - 验证:
打开PowerShell或CMD,输入 ollama --version
。看到版本号就说明成功了!
3.2 Linux 安装 (一行命令搞定)
- 安装:
打开终端,执行: curl -fsSL https://ollama.com/install.sh | sh
- 验证:
终端输入 ollama --version
。
3.3 macOS 安装 (和Linux差不多)
- 安装:
终端执行: curl -fsSL https://ollama.com/install.sh | sh
或者,用Homebrew:
brew install ollama
- 验证:
ollama --version
3.4 环境变量配置 (细节决定成败)
OLLAMA_HOST
(可选):
如果你想让内网其他机器访问你的Ollama服务,这个很重要! -
Windows (PowerShell): $env:OLLAMA_HOST="0.0.0.0:11434"
(注意: 0.0.0.0 表示监听所有网络接口) -
Linux/macOS: export OLLAMA_HOST="0.0.0.0:11434"
- 别忘了在防火墙里放行11434端口(或者你自定义的端口)!
OLLAMA_MODELS
(可选):
如果你想把模型文件放在其他地方,可以设置这个。 - 代理设置 (内网环境经常遇到):
- 如果你的网络需要通过代理才能访问外网,一定要设置HTTP/HTTPS代理!否则Ollama可能无法下载模型。
-
Windows (PowerShell): $env:HTTP_PROXY="http://your-proxy-server:port"$env:HTTPS_PROXY="http://your-proxy-server:port"
-
Linux/macOS: export HTTP_PROXY="http://your-proxy-server:port"export HTTPS_PROXY="http://your-proxy-server:port"
- 我曾经因为代理设置不对,折腾了好久...
4. 下载DeepSeek模型 (两种方法)
4.1 在线下载 (省事,但需要网络)
ollama run huihui_ai/deepseek-r1-abliterated:32b #越狱32B模型ollama run deepseek-r1:32b #官方模型ollama run bge-m3 #文本向量模型,用来做RAG知识库 二选一ollama run nomic-embed-text #文本向量模型,用来做RAG知识库 二选一
4.2 离线下载 (麻烦点,但更可控)
- 在能上网的机器上:
-
用Lmstudio 下载模型:根据图中框选的位置进行搜索下载自己的模型! 找到模型文件: - 找到对应的文件夹下的bge-reranker-v2-m3-FP16.gguf,后缀是gguf格式文件。
- 把整个文件夹复制到内网目标机器的Ollama模型目录下。
- 我通常用U盘或者内网共享文件夹来复制。
-
新建一个文件:Modelfile -
内容写入你下载需要导入到模型文件路径 -
FROM ./nomic-embed-text-v1.5.f16.gguf -
cd 到模型文件和Modelfile同个目录下 -
ollama create nomic-embed-text-v1.5.f16 -f ./Modelfile -
ollama list 即可看到导入成功的模型,其他同理
5. 多客户端集成 (各有所爱)
5.1 Lmstudio (图形化的ollama)
(a) 下载:
-
去LLStudio的官网:https://lmstudio.ai/ (别被名字迷惑了,它支持Ollama)。 -
下载对应系统的版本。
(b) 安装:
- Windows:
运行LM-Studio-0.3.9-6-x64.exe。 - Mac
:运行LM-Studio-0.3.9-6-x64.dmg。 - Linux:
-
./LM-Studio-0.3.9-6-x64.AppImage (需要先chmod +x LM-Studio-0.3.9-6-x64.AppImage)。
(c) 连接Ollama:
- 启动Ollama:
-
Windows: 通常会自动启动,可以在服务管理器里看看。 -
Linux/macOS: 终端运行ollama serve。 - 打开LLStudio。
- 找设置(齿轮图标)。
- 找到"Server"或"Connection"。
- 服务器地址填Ollama的地址和端口(默认http://localhost:11434)。
- 如果Ollama不在同一台机器,记得填Ollama服务器的IP!
- 模型列表里选你下载的DeepSeek模型。
- 点一下测试连接,确保一切正常。
5.2 Chatbox (新秀,界面简洁)
- 特点:
跨平台,界面简洁。 - 下载安装:
-
官网: https://chatboxai.app/ -
下载对应系统的安装包,安装。 - 连接Ollama:
-
打开Chatbox,进设置。 -
找“API”或“连接”。 -
选“Ollama”。 -
填Ollama地址和端口。 -
选模型。 - 测试!
5.3 Cherry-Studio (功能丰富)
- 官网:
https://cherry-ai.com/ - 支持平台:
Windows, Linux, macOS - 优点:
支持流式输出, 支持Markdown渲染。 - 安装与配置:
-
下载安装包, 安装. -
打开Cherry-Studio, 找到设置. -
选择 "模型" 或 "连接". -
选择 "Ollama" 作为提供商. -
填写 Ollama 的地址和端口 (默认 http://localhost:11434). -
选择模型. - 测试连接
-
添加模型
执行:ollama list 获取模型ID名称填入对应位置,添加即可
5.4 Lobe Chat (Web界面,推荐!)
- 特点:
开源、高性能、界面漂亮!基于Web,浏览器就能用。 - GitHub:
https://github.com/lobehub/lobe-chat - 部署 (强烈推荐Docker):
- 安装Docker和Docker Compose:
如果你还没装,赶紧去装! - 克隆代码:
git clone https://github.com/lobehub/lobe-chat.gitcd lobe-chat
- 配置 (重点!):
-
在lobe-chat目录下新建一个.env文件。 -
.env文件里写: OPENAI_API_KEY=sk-your-openai-api-key # (不用OpenAI就留空)ACCESS_CODE=your-super-secret-password # (一定要设置访问密码!)OLLAMA_BASE_URL=http://your-ollama-host:11434 # (Ollama地址)OLLAMA_API_MODEL=deepseek-coder:33b # (模型名称)
content_copydownloadUse code with caution.
- OLLAMA_BASE_URL:
填你的Ollama服务器地址!如果在同一台机器,就用http://localhost:11434。 - OLLAMA_API_MODEL: 填你的Deepseek模型名称. 比如 deepseek-coder:33b
- 强烈建议设置 ACCESS_CODE, 否则别人也能访问你的Lobe Chat!
- 启动:
docker-compose up -d
这条命令会帮你自动下载镜像、构建容器、启动服务。
- 访问:
浏览器打开http://localhost:3010 (或者你在.env里配置的其他端口)。 如果设置了访问密码,要输入密码才能进。 - 连接到Ollama:
-
找到设置(齿轮图标) -
选择"语言模型" -
"提供商"选"Ollama" -
填写"Ollama Base URL" 和 "Model Name" - 点"测试连接",确保配置正确
- 手动部署 (不推荐,除非你是前端大佬):

- 装Node.js (>= 18) 和 pnpm。
- 克隆代码:
git clone ... (同上) - 安装依赖:
pnpm install - 配置.env文件:
(同上) - 构建并启动:
pnpm build 然后 pnpm start - 连接Ollama:
和Docker部署一样
5.5 个人OR企业的RAG知识库搭建推荐
Github:https://github.com/rag-web-ui/rag-web-ui
RAG Web UI 是一个基于 RAG (Retrieval-Augmented Generation) 技术的智能对话系统,它能够帮助构建基于自有知识库的智能问答系统。通过结合文档检索和大语言模型,实现了准确、可靠的知识问答服务。
系统支持多种大语言模型部署方式,既可以使用 OpenAI、DeepSeek 等云端服务,也支持通过 Ollama 部署本地模型,满足不同场景下的隐私和成本需求。
同时提供 OpenAPI 接口,方便用户通过 API 调用知识库。
你可以通过RAG 教程来了解整个项目的实现流程。
✨ 特性
-
📚 智能文档管理
-
支持多种文档格式 (PDF、DOCX、Markdown、Text)
-
文档自动分块和向量化
-
支持异步文档、增量处理
-
🤖 先进的对话引擎
-
基于 RAG 的精准检索和生成
-
支持上下文多轮对话
-
支持对话中引用角标查看原文
-
🎯 合理架构
-
前后端分离设计
-
分布式文件存储
-
高性能向量数据库: 支持 ChromaDB、Qdrant,通过 Factory 模式,可以方便的切换向量数据库
6. 测试 (见证奇迹的时刻)
随便选一个你喜欢的客户端,输入问题或指令,看看模型能不能正常工作。如果一切顺利,你会看到模型流畅地输出文本!
7. 安全加固 (这才是重头戏!)
作为一个AI安全工程师,我必须强调安全的重要性!内网环境也不是绝对安全的。
7.1 网络隔离 (把模型关起来)
- 把运行Ollama和客户端的服务器放到一个单独的内网网段里。
- 严格限制对Ollama端口(默认11434)的访问,只允许信任的IP。
- 用防火墙严格控制进出服务器的流量。
我强烈建议只允许必要的端口和协议。
7.2 访问控制 (谁能用,谁不能用)
- 虽然Ollama本身不支持身份验证,但我们可以用Nginx之类的反向代理来实现。
- Nginx配置示例 (仅供参考,根据实际情况修改!):
server { listen 80; server_name your-ollama-server.com; # 改成你的域名或IP location / { proxy_pass http://localhost:11434; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # Basic Authentication (可选,强烈推荐) auth_basic "Restricted Access"; # 提示信息 auth_basic_user_file /etc/nginx/.htpasswd; # 密码文件路径 }}
- 你可以用htpasswd工具生成.htpasswd文件。网上有很多教程,我就不赘述了。
- 这个配置只是最基础的,你还可以根据需要添加HTTPS、SSL证书等。
- 别用默认端口!改一个不常用的。
- 定期换端口!别让攻击者轻易猜到。
7.3 模型安全 (模型也可能被污染)
- 只从可信来源下载模型!
别随便下载来路不明的模型,小心被植入恶意代码! - 定期检查模型完整性!
用哈希校验(比如SHA256)验证模型文件是否被篡改。 - Linux/macOS示例:
sha256sum /path/to/your/model/file # 计算哈希值
把计算出的哈希值和官方提供的对比一下。
- 限制模型文件访问权限!
只有授权用户才能访问。
7.4 系统安全 (老生常谈,但很重要)
- 保持系统和软件更新!及时打补丁!
- 防火墙只开必要的端口!
- 启用系统日志,定期审查!
别让可疑活动逃过你的眼睛。 - 用强密码,定期改!
- 禁用不必要的服务!
- 考虑部署IDS/IPS!
7.5 数据安全 (数据是无价的)
- 如果你用模型处理敏感数据…
- 数据加密!
静态数据和传输中的数据都要加密。 - 可以用BitLocker、LUKS等工具加密磁盘。
- 用HTTPS传输数据。
- 数据脱敏!
把敏感信息去掉或替换掉。 - 最小权限原则!
只给用户必要的权限。 - 备份和恢复!
定期备份,以防万一。
7.6 Web客户端 (Lobe Chat) 的特别关照
- 必须用HTTPS!
用Nginx之类的反向代理配置HTTPS。这年头,HTTP裸奔太危险了! - Lobe Chat的.env文件里,一定要设置强密码(ACCESS_CODE)!
- 防火墙限制Lobe Chat端口(默认3010)的访问!
- 使用子路径部署(如果你用了反向代理):
可以增强安全性, 也方便URL管理
7.7 持续监控与更新 (安全无止境)
- 安全不是一次性的事情,要定期评估、扫描漏洞!
- 及时更新Ollama、客户端和模型!
- 定期安全审计
- 定期检查系统配置、漏洞和异常行为
- 可以用Nessus、OpenVAS等工具扫描漏洞
- 审查系统和应用日志, 寻找蛛丝马迹
8. 常见问题 (FAQ)
- Q: Ollama下载模型失败?
- A:
查网络!查代理!如果用代理,看看HTTP_PROXY和HTTPS_PROXY环境变量设置对了没。 - Q: 客户端连不上Ollama?
- A:
检查这几点: - Ollama服务启动了吗?
- 客户端里的Ollama地址和端口对吗?
- 防火墙放行了吗?
- 如果用了反向代理,检查配置!
- Q: 怎么更新Ollama和模型?
- A:
- Ollama:
-
Windows: 下载新安装包,重装。 -
Linux/macOS: curl -fsSL https://ollama.com/install.sh | sh - 模型:
ollama pull <模型名称> - Q: 如何监控Ollama服务的资源使用?
- A:
- Windows:
任务管理器或资源监视器。 - Linux/macOS:
top, htop, 或 nvidia-smi (如果你有N卡)。 - 我个人推荐 glances, 一个更强大的跨平台系统监控工具
9. 性能调优 (榨干硬件性能)
- 调整Ollama线程数
export OLLAMA_NUM_THREAD=8 # 例如设置为8
-
设置 OLLAMA_NUM_THREAD 环境变量. 根据你的CPU核心数调整, 别设置太高, 否则适得其反 - GPU加速:
- 确保CUDA和cuDNN驱动装好了, 版本要匹配!
- Ollama应该会自动检测并使用GPU, 你可以看看Ollama启动日志, 确认一下
- 模型参数优化:
- 在客户端里调整生成参数:
- Temperature:
控制随机性, 值越高, 文本越多样,但也可能更不连贯. 我通常设置在0.7-0.9之间. - Top_p:
控制多样性, 值越低, 文本越集中. 我一般用0.9或0.95. - Max Tokens:
限制生成文本的长度. - 我个人的经验是, 多尝试不同的参数组合, 找到最适合你的场景的设置.
10. 故障排除 (遇到问题怎么办)
- Ollama服务起不来:
- 查Ollama日志! (通常在模型目录下的logs文件夹里)
- 看看是不是有其他程序占用了Ollama的端口.
- 模型加载失败:
- 检查模型文件是否完整, 没损坏.
- 确认模型文件放在正确的Ollama模型目录里.
- 不行就重新下载试试.
- 客户端连不上:
-
确认 Ollama 服务启动了 -
检查客户端配置中 Ollama 地址和端口 -
检查防火墙 - 模型生成慢:
- 参考“性能调优”章节。
- 看看你的硬件是不是真的不行了…
11. 扩展
11.1 其他客户端
除了上面介绍的,还有很多其他LLM客户端可能支持Ollama。你可以在客户端的设置里找“API”、“连接”或“服务器”选项,配置Ollama的地址和端口。
免责声明:
本教程仅供参考。请根据你的实际情况进行部署和配置。对于因使用本教程造成的任何问题或损失, 我不承担任何责任.
原文始发于微信公众号(AI安全工坊):内外网DeepSeek部署实战:Ollama + 多客户端 + RAG + 越狱
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论