|
大家好!我是AI安全工坊。最近,我一直在研究如何在内网环境中安全、高效地部署大型语言模型DeepSeek(LLM)。这篇教程不仅仅是操作指南,更是我的实战经验总结,希望能帮助大家少走弯路! 2. 前置条件 (磨刀不误砍柴工)2.1 硬件要求 (这可不是闹着玩的!)ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(63, 63, 63);" class="list-paddingleft-1">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;display: list-item;margin: 6px 2px;color: rgb(63, 63, 63);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;">GPU:强烈建议使用NVIDIA RTX 3090或更高型号的GPU,显存至少24GB。相信我,小显存跑大模型会让你抓狂的!我一开始尝试用2080Ti跑,结果… 算了,说多了都是泪。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;display: list-item;margin: 6px 2px;color: rgb(63, 63, 63);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;">内存:至少64GB,推荐128GB或更多。别以为内存够用就行,跑起来你会发现内存也是瓶颈。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;display: list-item;margin: 6px 2px;color: rgb(63, 63, 63);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;">存储:至少100GB的可用空间。模型文件、软件、依赖库… 加起来可不小!ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;display: list-item;margin: 6px 2px;color: rgb(63, 63, 63);">图形化检测自己设备的DeepSeek 模型兼容性检测:https://tools.thinkinai.xyz/ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(63, 63, 63);">
2.2 软件要求ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;color: rgb(63, 63, 63);" class="list-paddingleft-1">确保你的显卡驱动是最新版本!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-fsSLhttps://ollama.com/install.sh|sh - 验证:
3.3 macOS 安装 (和Linux差不多)- 安装:终端执行:
curl-fsSLhttps://ollama.com/install.sh|sh 或者,用Homebrew:brewinstallollama - 验证:
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:
exportHTTP_PROXY="http://your-proxy-server:port" exportHTTPS_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盘或者内网共享文件夹来复制。
- FROM ./nomic-embed-text-v1.5.f16.gguf
- 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 +xLM-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:
- 测试!
5.3 Cherry-Studio (功能丰富)- 填写 Ollama 的地址和端口 (默认 http://localhost:11434).
- 测试连接
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.git cd lobe-chat
- 配置 (重点!):
- .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 codewith caution. - OLLAMA_BASE_URL:填你的Ollama服务器地址!如果在同一台机器,就用http://localhost:11434。
- OLLAMA_API_MODEL: 填你的Deepseek模型名称. 比如 deepseek-coder:33b
- 强烈建议设置 ACCESS_CODE, 否则别人也能访问你的Lobe Chat!
- 启动:
docker-composeup-d 这条命令会帮你自动下载镜像、构建容器、启动服务。 - 访问:浏览器打开http://localhost:3010 (或者你在.env里配置的其他端口)。如果设置了访问密码,要输入密码才能进。
- 连接到Ollama:
- 填写"Ollama Base URL" 和 "Model Name"
- 点"测试连接",确保配置正确
- 手动部署 (不推荐,除非你是前端大佬):
 - 装Node.js (>= 18) 和 pnpm。
- 克隆代码:
- 安装依赖:
- 配置.env文件:
- 构建并启动:
- 连接Ollama:
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 教程来了解整个项目的实现流程。 ✨ 特性?智能文档管理 ?先进的对话引擎 基于 RAG 的精准检索和生成 支持上下文多轮对话 支持对话中引用角标查看原文
?合理架构
6. 测试 (见证奇迹的时刻)随便选一个你喜欢的客户端,输入问题或指令,看看模型能不能正常工作。如果一切顺利,你会看到模型流畅地输出文本! 7. 安全加固 (这才是重头戏!)作为一个AI安全工程师,我必须强调安全的重要性!内网环境也不是绝对安全的。 7.1 网络隔离 (把模型关起来)- 把运行Ollama和客户端的服务器放到一个单独的内网网段里。
- 严格限制对Ollama端口(默认11434)的访问,只允许信任的IP。
- 用防火墙严格控制进出服务器的流量。
7.2 访问控制 (谁能用,谁不能用)- 虽然Ollama本身不支持身份验证,但我们可以用Nginx之类的反向代理来实现。
- 别用默认端口!改一个不常用的。
- 定期换端口!别让攻击者轻易猜到。
7.3 模型安全 (模型也可能被污染)- 只从可信来源下载模型!
- 定期检查模型完整性!用哈希校验(比如SHA256)验证模型文件是否被篡改。
- 限制模型文件访问权限!
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)的访问!
- 使用子路径部署(如果你用了反向代理):
7.7 持续监控与更新 (安全无止境)- 安全不是一次性的事情,要定期评估、扫描漏洞!
- 及时更新Ollama、客户端和模型!
- 定期安全审计
- 定期检查系统配置、漏洞和异常行为
- 可以用Nessus、OpenVAS等工具扫描漏洞
- 审查系统和应用日志, 寻找蛛丝马迹
8. 常见问题 (FAQ)- Q: Ollama下载模型失败?
- A:查网络!查代理!如果用代理,看看HTTP_PROXY和HTTPS_PROXY环境变量设置对了没。
- Q: 客户端连不上Ollama?
- Ollama服务启动了吗?
- 客户端里的Ollama地址和端口对吗?
- 防火墙放行了吗?
- 如果用了反向代理,检查配置!
- Q: 怎么更新Ollama和模型?
- A:
- Ollama:
- Linux/macOS: curl -fsSL https://ollama.com/install.sh | sh
- 模型:
- Q: 如何监控Ollama服务的资源使用?
- A:
- Windows:
- Linux/macOS:top, htop, 或 nvidia-smi (如果你有N卡)。
- 我个人推荐 glances, 一个更强大的跨平台系统监控工具
9. 性能调优 (榨干硬件性能)10. 故障排除 (遇到问题怎么办)- Ollama服务起不来:
- 查Ollama日志! (通常在模型目录下的logs文件夹里)
- 看看是不是有其他程序占用了Ollama的端口.
- 模型加载失败:
- 检查模型文件是否完整, 没损坏.
- 确认模型文件放在正确的Ollama模型目录里.
- 不行就重新下载试试.
- 客户端连不上:
- 模型生成慢:
- 参考“性能调优”章节。
- 看看你的硬件是不是真的不行了…
11. 扩展11.1 其他客户端除了上面介绍的,还有很多其他LLM客户端可能支持Ollama。你可以在客户端的设置里找“API”、“连接”或“服务器”选项,配置Ollama的地址和端口。
|