内外网DeepSeek部署实战:Ollama + 多客户端 + RAG + 越狱

内外网DeepSeek部署实战:Ollama + 多客户端 + RAG + 越狱

1. 前言 (不仅仅是概述)

大家好!我是AI安全工坊。最近,我一直在研究如何在内网环境中安全、高效地部署大型语言模型DeepSeek(LLM)。这篇教程不仅仅是操作指南,更是我的实战经验总结,希望能帮助大家少走弯路!

2. 前置条件 (磨刀不误砍柴工)

2.1 硬件要求 (这可不是闹着玩的!)

  • GPU: 强烈建议使用NVIDIA RTX 3090或更高型号的GPU,显存至少24GB。相信我,小显存跑大模型会让你抓狂的!我一开始尝试用2080Ti跑,结果… 算了,说多了都是泪。
  • 内存: 至少64GB,推荐128GB或更多。别以为内存够用就行,跑起来你会发现内存也是瓶颈。
  • 存储: 至少100GB的可用空间。模型文件、软件、依赖库… 加起来可不小!
  • 图形化检测自己设备的DeepSeek 模型兼容性检测:https://tools.thinkinai.xyz/
图片[1]-内外网DeepSeek部署实战:Ollama + 多客户端 + RAG + 越狱-疯狂的豇豆知识库

2.2 软件要求

  • 确保你的显卡驱动是最新版本! 兼容性问题可能会导致各种奇怪的错误。
  • Docker (可选,强烈推荐用于Lobe Chat部署,省心!)。
  • Node.js >= 18 和 pnpm (可选, 用于手动部署 Lobe Chat, 如果你是前端高手, 可以试试)

3. Ollama 安装与配置 (重中之重)

3.1 Windows 安装 (其实很简单)

  1. 下载: 访问Ollama官网 https://ollama.ai/,下载Windows安装包。
  2. 安装: 双击安装包,一路“下一步”。是不是so easy?
  3. 验证: 打开PowerShell或CMD,输入ollama --version看到版本号就说明成功了!

3.2 Linux 安装 (一行命令搞定)

  1. 安装: 打开终端,执行:curl -fsSL https://ollama.com/install.sh | sh
  2. 验证: 终端输入ollama --version

3.3 macOS 安装 (和Linux差不多)

  1. 安装: 终端执行:curl -fsSL https://ollama.com/install.sh | sh或者,用Homebrew:brew install ollama
  2. 验证: 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 离线下载 (麻烦点,但更可控)

  1. 在能上网的机器上:
    • 用Lmstudio 下载模型:根据图中框选的位置进行搜索下载自己的模型!找到模型文件:
    • 找到对应的文件夹下的bge-reranker-v2-m3-FP16.gguf,后缀是gguf格式文件。
  2. 把整个文件夹复制到内网目标机器的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:

  1. 启动Ollama:
    • Windows: 通常会自动启动,可以在服务管理器里看看。
    • Linux/macOS: 终端运行ollama serve。
  2. 打开LLStudio。
  3. 找设置(齿轮图标)。
  4. 找到”Server”或”Connection”。
  5. 服务器地址填Ollama的地址和端口(默认http://localhost:11434)。
    • 如果Ollama不在同一台机器,记得填Ollama服务器的IP!
  6. 模型列表里选你下载的DeepSeek模型。
  7. 点一下测试连接,确保一切正常。

5.2 Chatbox (新秀,界面简洁)

  • 特点: 跨平台,界面简洁。
  • 下载安装:
    • 官网: https://chatboxai.app/
    • 下载对应系统的安装包,安装。
  • 连接Ollama:
    1. 打开Chatbox,进设置。
    2. 找“API”或“连接”。
    3. 选“Ollama”。
    4. 填Ollama地址和端口。
    5. 选模型。
    6. 测试!
图片[2]-内外网DeepSeek部署实战:Ollama + 多客户端 + RAG + 越狱-疯狂的豇豆知识库
图片[3]-内外网DeepSeek部署实战:Ollama + 多客户端 + RAG + 越狱-疯狂的豇豆知识库

5.3 Cherry-Studio (功能丰富)

  • 官网: https://cherry-ai.com/
  • 支持平台: Windows, Linux, macOS
  • 优点: 支持流式输出, 支持Markdown渲染。
  • 安装与配置:
    1. 下载安装包, 安装.
    2. 打开Cherry-Studio, 找到设置.
    3. 选择 “模型” 或 “连接”.
    4. 选择 “Ollama” 作为提供商.
    5. 填写 Ollama 的地址和端口 (默认 http://localhost:11434).
    6. 选择模型.
    7. 测试连接
图片[4]-内外网DeepSeek部署实战:Ollama + 多客户端 + RAG + 越狱-疯狂的豇豆知识库
图片[5]-内外网DeepSeek部署实战:Ollama + 多客户端 + RAG + 越狱-疯狂的豇豆知识库

5.4 Lobe Chat (Web界面,推荐!)

  • 特点: 开源、高性能、界面漂亮!基于Web,浏览器就能用。
  • GitHub: https://github.com/lobehub/lobe-chat
  • 部署 (强烈推荐Docker):
    1. 安装Docker和Docker Compose: 如果你还没装,赶紧去装!
    2. 克隆代码:git clone https://github.com/lobehub/lobe-chat.git
      cd lobe-chat
    3. 配置 (重点!):
      • 在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!
    4. 启动:docker-compose up -d这条命令会帮你自动下载镜像、构建容器、启动服务。
    5. 访问: 浏览器打开http://localhost:3010 (或者你在.env里配置的其他端口)。 如果设置了访问密码,要输入密码才能进。
    6. 连接到Ollama:
      • 找到设置(齿轮图标)
      • 选择”语言模型”
      • “提供商”选”Ollama”
      • 填写”Ollama Base URL” 和 “Model Name”
      • 点”测试连接”,确保配置正确
  • 手动部署 (不推荐,除非你是前端大佬):![image-20250215233711292]( ry/Application Support/typora-user-images/image-20250215233711292.png)
    1. 装Node.js (>= 18) 和 pnpm。
    2. 克隆代码: git clone … (同上)
    3. 安装依赖: pnpm install
    4. 配置.env文件: (同上)
    5. 构建并启动: pnpm build 然后 pnpm start
    6. 连接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]-内外网DeepSeek部署实战:Ollama + 多客户端 + RAG + 越狱-疯狂的豇豆知识库

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:检查这几点:
      1. Ollama服务启动了吗?
      2. 客户端里的Ollama地址和端口对吗?
      3. 防火墙放行了吗?
      4. 如果用了反向代理,检查配置!
  • 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的地址和端口。

免责声明:

本教程仅供参考。请根据你的实际情况进行部署和配置。对于因使用本教程造成的任何问题或损失, 我不承担任何责任.

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容