一步一步 Docker 部署Miloco教程

Miloco的发布,是小米将大模型技术落地家庭场景的重要实践,更是对智能家居体验升级的一次探索。通过端侧大模型与全链路开放的结合,为行业提供了一种新的技术思路——让智能家居告别传统“硬编码规则”的局限,转向“对话式交互+视觉感知”的人机交互新形态。

这种新形态的核心,是从“人适应设备”到“设备适应人”的转变:用户无需学习复杂操作,可通过自然语言轻松设置自动化。这种形态之下,设备不再是孤立的控制单元,而是能主动理解场景、协同工作的“生活辅助伙伴”。未来,小米将持续迭代Miloco的技术能力,与全球开发者共同推动全屋智能行业向着更开放、更智能、更贴合用户需求的方向发展。

核心支撑:Xiaomi MiMo-VL-Miloco-7B端侧视觉语言大模型

作为Miloco智能体验的技术核心,Xiaomi MiMo-VL-Miloco-7B端侧视觉语言大模型为全屋智能赋予了“感知+理解”的核心能力,是实现场景化智能联动的关键所在。

Xiaomi MiMo-VL-Miloco端侧视觉语言模型,基于小米自研MiMo-VL-7B大模型优化构建,凭借强大的视觉-语言融合能力,赋予家庭摄像头“理解画面”的感知力。

Miloco 的“一步一步 Docker 部署”目前分两种场景

A) 只想跑通后端(最轻量,AI 能力走云端 API);

B) 后端 + 本地 AI 引擎(需要 NVIDIA GPU)。

下面给出两条完整可复制的命令流,按顺序执行即可。

https://github.com/XiaoMi/xiaomi-miloco/tree/main

(以下路径、端口均可按需改,但建议第一次先照抄跑通。)

一、通用准备工作(任何场景都要做)

硬件自检

CPU x86-64,内存 ≥16 GB,空闲磁盘 ≥20 GB。

如需本地 AI,再检查 NVIDIA 30 系以上 + 8 GB 显存,并装好 515 以上驱动 。

软件依赖

Linux / WSL2-Ubuntu22.04 已装:

– Docker ≥ 20.10

– docker compose plugin(≥ v2)

– NVIDIA Container Toolkit(本地 AI 才需要)

验证命令:

docker info | grep -i nvidia # 本地 AI 必须回显 nvidia

二、场景 A:只部署后端(无 GPU,AI 用云 API)

环境env文件

################################################
# Common configuration.
################################################
TZ=Asia/Shanghai
#DOCKER_REPO=ghcr.nju.edu.cn/

################################################
# Backend configuration.
################################################
# Backend host.
BACKEND_HOST=0.0.0.0
# Backend port.
BACKEND_PORT=9000
# Log level: debug, info, warning, error, critical.
BACKEND_LOG_LEVER=info

################################################
# AI engine configuration.
################################################
# AI engine host.
AI_ENGINE_HOST=0.0.0.0
# AI engine port.
AI_ENGINE_PORT=9001
# Log level: debug, info, warning, error, critical.
AI_ENGINE_LOG_LEVER=info

一次性创建目录与文件

services:
  backend:
    container_name: miloco-backend
    image: ghcr.nju.edu.cn/xiaomi/miloco-backend:latest
    # NOTICE: MUST be host for miot device discovery.
    network_mode: host
    expose:
      - ${BACKEND_PORT:-8000}
    environment:
      - BACKEND_HOST=${BACKEND_HOST:-0.0.0.0}
      - BACKEND_PORT=${BACKEND_PORT:-8000}
      - AI_ENGINE_HOST=${AI_ENGINE_HOST:-0.0.0.0}
      - AI_ENGINE_PORT=${AI_ENGINE_PORT:-8001}
      - BACKEND_LOG_LEVEL=${BACKEND_LOG_LEVEL:-info}
      - TZ=${TZ:-Asia/Shanghai}
    volumes:
      - ./data:/app/miloco_server/.temp
      - ./log/backend:/app/miloco_server/.temp/log
    # NOTICE: Mount configuration files, if you want to use your own configuration files, please mount them here.
    #  - ./config/server_config.yaml:/app/config/server_config.yaml
    #  - ./config/prompt_config.yaml:/app/config/prompt_config.yaml
    restart: unless-stopped
    healthcheck:
      disable: true

启动

mkdir -p data log/backend

docker compose up -d # 第一次会拉 2 GB 左右镜像

docker compose logs -f # 看到 “Application startup complete” 即可

访问

浏览器打开 https://<宿主机IP>:8000

首次会提示“证书风险”→ 点“继续访问”→ 用小米账号扫码登录 → callback 填相同地址,完成 。

三、场景 B:后端 + 本地 AI 引擎(需要 GPU)

创建完整 compose 文件

services:
  ai_engine:
    container_name: miloco-ai_engine
    image: ghcr.nju.edu.cn/xiaomi/miloco-ai_engine:latest
    ports:
      - ${AI_ENGINE_PORT:-8001}:${AI_ENGINE_PORT:-8001}
    environment:
      - AI_ENGINE_HOST=${AI_ENGINE_HOST:-0.0.0.0}
      - AI_ENGINE_PORT=${AI_ENGINE_PORT:-8001}
      - AI_ENGINE_LOG_LEVEL=${AI_ENGINE_LOG_LEVEL:-info}
      - TZ=${TZ:-Asia/Shanghai}
    volumes:
      - ./models:/models
      - ./log/ai_engine:/app/.log/ai_engine
    # NOTICE: If you want to use your own configuration files or models path, please mount them here.
    #   - ./config/ai_engine_config.yaml:/app/config/ai_engine_config.yaml
    #   - ./config/prompt_config.yaml:/app/config/prompt_config.yaml

    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped
    healthcheck:
      disable: true

  backend:
    container_name: miloco-backend
    image: ghcr.nju.edu.cn/xiaomi/miloco-backend:latest
    # NOTICE: MUST be host for miot device discovery.
    network_mode: host
    expose:
      - ${BACKEND_PORT:-8000}
    environment:
      - BACKEND_HOST=${BACKEND_HOST:-0.0.0.0}
      - BACKEND_PORT=${BACKEND_PORT:-8000}
      - AI_ENGINE_HOST=${AI_ENGINE_HOST:-0.0.0.0}
      - AI_ENGINE_PORT=${AI_ENGINE_PORT:-8001}
      - BACKEND_LOG_LEVEL=${BACKEND_LOG_LEVEL:-info}
      - TZ=${TZ:-Asia/Shanghai}
    volumes:
      - ./data:/app/miloco_server/.temp
      - ./log/backend:/app/miloco_server/.temp/log
    # NOTICE: Mount configuration files, if you want to use your own configuration files, please mount them here.
    #  - ./config/server_config.yaml:/app/config/server_config.yaml
    #  - ./config/prompt_config.yaml:/app/config/prompt_config.yaml
    restart: unless-stopped
    healthcheck:
      disable: true

启动

docker compose up -d # 会依次拉两个镜像,共 12+ GB

docker compose logs -f ai_engine # 看到 “Loading model … completed” 即 OK

访问与账号绑定同场景 A。

四、后续常用操作

• 停止:docker compose down

• 更新镜像:docker compose pull && docker compose up -d

• 看实时日志:docker compose logs -f <service>

五、快速排错

端口被占:lsof -i:8000 / 8001 找到进程杀掉或改 BACKEND_PORT / AI_ENGINE_PORT。

权限报错:compose 里加 user: "0"(root)或宿主机 chmod 777 data log。

GPU 不可用:检查 nvidia-smi 与 docker info 是否都能列出 GPU;没有就重装 NVIDIA Container Toolkit。

镜像拉不动:大陆机器可在 /etc/docker/daemon.json 加镜像源,或给 docker 走代理。

照以上步骤逐行执行,即可一次性把 Miloco 用 Docker 跑起来;后续想接云端大模型,只要在 WebUI 里“模型管理→云端模型”填入对应 BaseURL 与 Key 即可 。祝部署顺利!

bash -c "$(wget -qO- https://xiaomi-miloco.cnbj1.mi-fds.com/xiaomi-miloco/install.sh)"


一步一步 Docker 部署Miloco教程
http://localhost:8090//archives/1766376911064
作者
昊昱天合
发布于
2025年12月22日
更新于
2025年12月26日
许可协议