Xiaomi Miloco:

由小米推出的智能家居未来探索解决方案,以米家摄像机为视觉信息来源,以自研大模型为核心,打通全屋 IoT 设备。基于大模型的开发范式,让用户能够以自然语言定义家庭的各种需求和规则,实现更广泛、更具创意的智能联动。

null

关键特性:

  • 交互新范式:基于大模型的开发范式,通过自然语言交互就可以完成规则设置、设备的复杂指令控制。
  • 视觉数据新用途:以摄像头数据流作为感知信息源,使用大模型将视觉数据包含的各种家庭场景事件解析出来,用于回复用户 Query。
  • 端侧大模型:将家庭场景任务拆分规划+视觉理解两个阶段,提供小米自研端侧模型,实现端侧视频理解,保障家庭隐私安全。
  • 米家生态:打通米家生态,支持米家设备、米家场景的获取与执行,支持自定义内容发送米家通知。

特别提醒:

运行 Xiaomi Miloco 对硬件要求很低,不要一下子就被吓到,没有继续往后看!之所以为什么需要显卡,是因为完全体是本地设备跑 AI 模型,但其实也可以直接调用 API 的运行云端的模型。

硬件要求:

  • CPU: x64 架构
  • 显卡: NVIDIA 30系及以上显卡,显存 8GB 及以上(最低),建议 12GB 及以上
  • 存储: 建议 16GB 及以上可用空间(用于本地模型存储)

软件要求:

操作系统:

  • Linux: x64 架构,建议 Ubuntu 22.04 及以上 LTS 版本
  • Windows: x64 架构,建议 Windows 10 及以上版本,要求支持 WSL2
  • macOS: 暂不支持
    Docker: 20.10 及以上版本,需要支持 docker compose
    NVIDIA 驱动: 支持 CUDA 的 NVIDIA 驱动
    NVIDIA Container Toolkit: 用于Docker GPU支持

运行和开发环境配置:

https://github.com/XiaoMi/xiaomi-miloco/blob/main/docs/environment-setup_zh-Hans.md

安装

Xiaomi Miloco 是由两部分组成的,分别是后端服务和 AI 引擎。本地部署完全体当然是两个一起部署,这就需要一块高性能独显了;当然对于普通设备,其实只要部署后端服务就行了,AI 部分可以直接调用 API 也是可以的。

一键部署

对于新手小白,个人建议使用一键安装命令

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

null

轻量部署

可以去 GitHub(https://github.com/XiaoMi/xiaomi-miloco/tree/main/docker) 下载配置文件和模版

null

这里我也整理好了 Docker Compose(只部署后端服务,不安装 AI 引擎) 直接使用就行,注意端口不要被占用了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
services:
backend:
container_name: miloco-backend
image: ghcr.io/xiaomi/miloco-backend:latest
network_mode: host
expose:
- 8000:8000
environment:
- BACKEND_HOST=0.0.0.0
- BACKEND_PORT=8000
- AI_ENGINE_HOST=0.0.0.0
- AI_ENGINE_PORT=8001
- BACKEND_LOG_LEVEL=info
- TZ=Asia/Shanghai
volumes:
- ./data:/app/miloco_server/.temp
- ./log/backend:/app/miloco_server/.temp/log
restart: unless-stopped

参数说明(更多参数建议去看文档)
BACKEND_HOST(环境变量):后端服务的主机地址

BACKEND_PORT(环境变量):后端服务的端口号

AI_ENGINE_HOST(环境变量):AI 引擎服务的主机地址

AI_ENGINE_PORT(环境变量):AI 引擎服务的端口号

BACKEND_LOG_LEVEL(环境变量):后端服务的日志级别

TZ(环境变量):容器时区设置

/app/miloco_server/.temp(路径):用于存放后端临时数据目录

/app/miloco_server/.temp/log(路径):用于存放后端日志目录

完整部署

可以去 GitHub(https://github.com/XiaoMi/xiaomi-miloco/tree/main/docker) 下载配置文件和模版

null

这里我也整理好了 Docker Compose 直接使用就行,要注意端口不要被占用了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
services:
ai_engine:
container_name: miloco-ai_engine
image: ghcr.io/xiaomi/miloco-ai_engine:latest
ports:
- 8001:8001
environment:
- AI_ENGINE_HOST=0.0.0.0
- AI_ENGINE_PORT=8001
- AI_ENGINE_LOG_LEVEL=info
- TZ=Asia/Shanghai
volumes:
- ./models:/models
- ./log/ai_engine:/app/.log/ai_engine
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped

backend:
container_name: miloco-backend
image: ghcr.io/xiaomi/miloco-backend:latest
network_mode: host
expose:
- 8000:8000
environment:
- BACKEND_HOST=0.0.0.0
- BACKEND_PORT=8000
- AI_ENGINE_HOST=0.0.0.0
- AI_ENGINE_PORT=8001
- BACKEND_LOG_LEVEL=info
- TZ=Asia/Shanghai
volumes:
- ./data:/app/miloco_server/.temp
- ./log/backend:/app/miloco_server/.temp/log
restart: unless-stopped

参数说明(更多参数建议去看文档)
AI_ENGINE_HOST(环境变量):AI 引擎服务的主机地址

AI_ENGINE_PORT(环境变量):AI 引擎服务的端口号

AI_ENGINE_LOG_LEVEL(环境变量):AI 引擎服务的日志级别

TZ(环境变量):容器时区设置

/models(路径):用于存放 AI 模型

/app/.log/ai_engine(路径):用于存放 AI 引擎日志

BACKEND_HOST(环境变量):后端服务的主机地址

BACKEND_PORT(环境变量):后端服务的端口号

BACKEND_LOG_LEVEL(环境变量):后端服务的日志级别

/app/miloco_server/.temp(路径):用于存放后端临时数据目录

/app/miloco_server/.temp/log(路径):用于存放后端日志目录

创建 miloco 文件夹,里面再创建一个 models 文件夹

null

下载模型:https://github.com/XiaoMi/xiaomi-miloco/blob/main/docs/environment-setup_zh-Hans.md

null

按上面要求放,将模型放在 models 路径下的文件夹里(显存够最好两个都下载)

null

使用

浏览器中输入 https://NAS的IP:8000 就能看到界面,注意是 HTTPS 协议

null

设置安全登录码

null

输入刚刚设置的登录码

null

勾选,点击同意

null

这里会打开新页面,需要登录小米账号进行联动

null

显示授权成功,输入服务端的地址,点击跳转

null

大功告成,成功进入面板了

null

因为我有米家摄像头(摄像头还是为了做这个教程,海鲜市场买回来的),所以页面上有显示监控画面

null

右侧就是 Xiaomi Miloco 的 AI 对话窗口了

null

先对接一下 AI 模型,我部署的是带 AI 引擎的所以可以加载本地模型

null

加载模型后,在上面分别选择模型(视觉模型有敏感需求的,还是本地部署比较好)

null

当然这里也是可以选择调用云端 API 的

null

TIP:我用的是硅基流动的 API,可以点击用我的邀请码注册(送 2000 万 Tokens)

https://cloud.siliconflow.cn/i/1kFLquql

参考设置,模型也能按实际需求选择

1
2
3
https://api.siliconflow.cn/v1
Qwen/Qwen3-32B
Qwen/Qwen3-VL-32B-Instruct

null

设置模型,注意别选错了

null

回到 AI 中心,先试试上面给的“看看画面里有什么”的问题

null

AI 自动会调用调用摄像头进行识别

null

效果非常不错,米家设备结合 AI 可以说实现一加一大于二

null

之前已经授权了米家账号,在设备管理就能看到捆绑的所有设备

null

在这个界面,是不能直接点击操作设备的

null

但可以直接在 AI 这里调用,比如简单的开关灯

null

除了米家设备,也可以对接 Home Assistant

null

输入 Home Assistant 的访问 URL(注意链接最后不带斜杠)和 Token

null

TIP:Home Assistant 获取 Token ,点击用户头像,创建令牌即可

null

添加 Home Assistant 后,MCP 就可以看到多了选项了(不过要注意,这里是自动化而不是直接控制)

null

输入开关灯不能直接控制,只能创建自动化任务,后期能加上控制就更方便了

null

还有设备管理,不会显示 Home Assistant 里的设备的

null

规则管理,可以手动添加规则(都是围绕摄像头相关的)

null

也可以使用 AI 进行创建添加规则(还需要手动检测确认,才会添加)

null

回到规则管理,就能看到创建好的规则了

null

目前执行管理,米家自动化还不能正常获取已经创建的任务

null

MCP 服务,可以接入多种类型(我不太会就没折腾了)

null

日志会记录触发规则的事件

null

总结

只能说对得起“智能家居未来探索”这几个字,它不仅仅只是简单的给米家应用强加上一个 AI 进行控制这么简单,而是把大模型真正落地到日常使用场景的一次大胆尝试。目前来说,主要是以米家摄像机作为视觉信息来源为主,通过 AI 模型处理,最后配合控制器进行智能联动。

当然不可否认,当前体验还有很多不完善的地方,但已经可以看到未来智能家居的影子了。想象一下,米家和 Home Assistant 相互打通调用,已经可以覆盖绝大部分智能设备了,再配合 AI 驱动,这才是真正的智能家居应该有的样子。