一、环境说明

  • 宿主机:Windows 11
  • 虚拟机:VMware 虚拟化环境(推荐 Ubuntu 22.04 或同类 Linux 发行版)
  • 核心工具
    • Ollama:本地大语言模型管理框架
    • Deepseek-R1 1.5B:轻量级开源模型(模型卡片
    • Open WebUI:类 ChatGPT 的交互式 Web 界面(GitHub

二、Ollama 部署与配置(Windows 11)

1. 安装 Ollama

  1. 下载安装包
    访问 Ollama 官网,下载 Windows 版本并安装。
  2. 启动服务
    安装完成后,通过 Windows 开始菜单 点击 Ollama 图标启动服务(默认后台运行)。

2. 配置环境变量

为了让 Ollama 允许外部访问并自定义模型存储路径,需设置以下环境变量:

  1. 打开系统环境变量设置
    • 搜索 环境变量 → 选择 编辑系统环境变量 → 点击 环境变量 按钮。
  2. 添加变量
    • OLLAMA_HOST: 0.0.0.0:11434
      • 作用:允许 Ollama 监听所有网络接口(非仅本地)
    • OLLAMA_MODELS: G:\ollama-models
      • 作用:自定义模型存储路径(避免占用 C 盘空间)

⚠️ 注意

  • 修改后需重启 Ollama 服务(通过任务管理器结束 ollama.exe 进程,重新点击图标启动)。
  • 确保 G:\ollama-models 目录已手动创建且权限正常。

3. 拉取并运行模型

  1. 安装 Deepseek-R1 1.5B 模型

    ollama run deepseek-r1:1.5b
    
    • 首次运行会自动下载模型(约 1.5GB)。
    • 模型默认保存至 OLLAMA_MODELS 指定路径。
  2. 验证模型可用性

    # 输入测试问题(例如)
    >>> 中国的首都是哪里?
    
    • 若返回合理回答,说明模型加载成功。
  3. 常用命令

    ollama list       # 查看已安装模型
    ollama ps         # 查看运行中的模型实例
    ollama -h         # 查看所有命令帮助
    

三、Open WebUI 部署(VMware 虚拟机)

1. 虚拟机网络配置

确保虚拟机与宿主机处于同一局域网

  • 网络模式:建议使用 桥接模式(Bridged)或 NAT 模式

  • 验证连通性
    在虚拟机内执行:

    ping 192.168.8.1        # 宿主机 IP
    curl http://192.168.8.1:11434  # 应返回 "Ollama is running"
    
    • 若无法连通,检查宿主机防火墙是否放行端口 11434

2. 部署 Open WebUI

  1. 安装 Docker

    # Ubuntu 示例
    sudo apt-get update && sudo apt-get install docker.io
    sudo systemctl enable --now docker
    
  2. 启动 Open WebUI 容器

    docker run -d \
      -p 3000:8080 \
      -e OLLAMA_BASE_URL=http://192.168.8.1:11434 \
      -v open-webui:/app/backend/data \
      --name open-webui \
      --restart always \
      ghcr.io/open-webui/open-webui:main
    

    参数解释

    • -p 3000:8080:将容器内 8080 端口映射到宿主机的 3000 端口。
    • -e OLLAMA_BASE_URL:指向宿主机的 Ollama 服务地址。
    • -v open-webui:/app/backend/data:持久化存储聊天记录与配置。

3. 访问 Web 界面

  • 在虚拟机或宿主机浏览器中访问:

    http://<虚拟机IP>:3000
    
  • 首次使用

    • 创建管理员账户(本地存储,无需联网)。
    • 选择 deepseek-r1:1.5b 模型开始对话。

image-20250205114259918.png

四、关键问题与解决方案

1. 连接超时或拒绝访问

  • 现象:Open WebUI 报错 Connection error
  • 排查步骤
    1. 确认宿主机防火墙已放行 11434 端口。
    2. 在虚拟机内执行 curl http://192.168.8.1:11434 验证连通性。
    3. 检查 Ollama 服务是否绑定到 0.0.0.0(非 localhost)。

2. 模型加载失败

  • 可能原因
    • OLLAMA_MODELS 路径权限不足。
    • 模型文件损坏(可删除后重新下载)。

五、优化建议

  1. 安全加固
    • 为 Open WebUI 启用 HTTPS(需配置域名与证书)。
    • 限制虚拟机访问 IP 范围(通过防火墙)。
  2. 模型管理
    • 使用 ollama pull 预下载常用模型。
    • 定期清理 OLLAMA_MODELS 目录中的旧模型版本。

六、总结

通过本方案,你实现了:
本地私有化部署:模型与数据完全离线,保障隐私安全。
跨平台交互:Windows 宿主机构建计算核心,虚拟机提供 Web 交互界面。
灵活扩展性:可快速替换其他 Ollama 支持的模型(如 Llama3、Phi-3)。

未来扩展方向

  • 集成语音输入/输出模块
  • 对接本地知识库实现 RAG 增强
  • 部署多模型路由实现负载均衡

附录


希望这篇博客能成为你的技术备忘录,也欢迎分享给更多开发者!如有其他问题,欢迎留言讨论。