大模型+智能家居解决方案--小米MiLoco部署

大模型+智能家居解决方案--小米MiLoco部署

一、Miloco简介

小米推出了首个“大模型+智能家居”解决方案Xiaomi Miloco,全称为 Xiaomi Local Copilot(小米本地协同智能助手)。

https://gitee.com/xiaomi-miloco/xiaomi-miloco

1、GitHub地址

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

Miloco以米家摄像头为视觉信息源,以自研大语言模型MiMo-VL-Miloco-7B为核心,连接家中所有物联网(IoT)设备,框架面向所有人开源。MiMo-VL-Miloco-7B模型基于小米4月发布的MiMo模型调优而来,“天才少女”罗福莉最近加入的正是MiMo模型团队。

这很可能是智能家居的“ChatGPT时刻”,小米AIoT平台截至今年6月已连接的IoT设备数(不含智能手机、平板及笔记本计算机)达9.89亿台,数以亿计的米家摄像头、小爱音箱、台灯等设备都有望用上大模型。

从小米公布的Miloco页面来看,页面主视觉是一个类似于ChatGPT的聊天框,聊天框的左侧具有智能家居设备的导航栏,包括AI中心、模型管理、MCP服务、设备管理等选项;“相机设备”独立成一栏,陈列了一些智能摄像头记录的视频。

2、关键特性

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

Miloco还通过标准化的MCP协议封装,实现米家生态与全球最大开源智能家居社区Home Assistant生态的打通,同时开放支持第三方IoT平台接入

从项目公布的软硬件要求来看,部署Miloco硬件要求不高,仅需要硬件搭载x64架构,图形处理器在英伟达30系列及以上,存储要在16GB及以上即可。

▲Miloco部署的软硬件需求

据悉,Miloco的全屋智能差异化体验,依托于Xiaomi MiMo-VL-Miloco-7B端侧视觉语言大模型“硬件-能力-应用-用户”四层完整架构的支撑。

3、Miloco的四层架构

二、快速开始

1、系统要求

  • 硬件要求
CPU: x64 架构 显卡: NVIDIA 30系及以上显卡,显存 8GB 及以上(最低),建议 12GB 及以上 存储: 建议 20GB 及以上可用空间(用于本地模型存储)
  • 软件要求
操作系统: - 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支持

2、安装依赖环境

注意: 请确保您的系统满足上述硬件和软件要求。windows 系统需要进入 wsl 环境。

(1)WSL安装与配置

https://gitee.com/xiaomi-miloco/xiaomi-miloco/blob/main/docs/environment-setup-windows_zh-Hans.md

系统要求: Windows11 22H2 及以上版本 + WSL2

在系统中搜索然后打开控制面板,点击程序>启动或关闭 Windows 功能,然后勾选 Hyper-V 和适用于 Linux 的 Windows 子系统,点击确定,等待系统安装更新后重启

安装 WSL

在系统中搜素终端然后打开,输入wsl --install,等待 WSL 安装完成;如果已经安装,可以使用wsl --update更新到最新版本

下载 WSL2 Linux 发行版

打开 Windows 自带的应用商店,搜索 Ubuntu ,然后下载 Ubuntu24.04.1 LTS

在 Windows 终端可使用wsl --list --online查看在线的发行版,然后输入wsl --install -d Ubuntu-24.04安装

使用 WSL2

在应用商店下载完成后,可以点击打开按钮,然后按照提示输入用户名和密码,完成初始化

在终端输入wsl -d Ubuntu-24.04,然后按照提示输入用户名和密码,完成初始化

(2)WSL常用操作
# 启动默认发行版

wsl

# 退出当前发行版

exit # 或 logout

# 列出所有发行版(含状态)

wsl --list --verbose # 简写 wsl -l -v#

查看详细信息


wsl --status

# 设置默认启动发行版

wsl --set-default Ubuntu-22.04

# 卸载指定发行版(数据丢失)

wsl --unregister Ubuntu-20.04

# 查看WSL2的IP地址

ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | cut -d/ -f1

# 关闭所有WSL实例

wsl --shutdown

# 运行特定发行版命令 wsl -d Ubuntu-22.04 -e bash -c "echo Hello"

#重启版本

wsl --terminate <DistributionName>

wsl --distribution <DistributionName>


网络模式配置

在系统中搜索 WSL Setting ,点击网络,然后将网络模式修改为 Mirrored ,修改完成后,需要使用wsl --shutdown停止子系统,然后重新运行wsl -d Ubuntu-24.04进入子系统,输入ip a查看子系统网络配置是否和宿主机器一致。

设置为 Mirrored 模式后,需要配置 Hyper-V 防火墙,允许入站连接。

在 PowerShell 窗口中以管理员权限运行以下命令,以配置 Hyper-V 防火墙设置,使其允许入站连接:

Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow # 使用下述命令获取WSL防火墙策略 Get-NetFirewallHyperVVMSetting -PolicyStore ActiveStore -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' # DefaultInboundAction和DefaultOutboundAction为Allow即可: # Name : {40E0AC32-46A5-438A-A0B2-2B479E8F2E90} # Enabled : True # DefaultInboundAction : Allow # DefaultOutboundAction : Allow # LoopbackEnabled : True # AllowHostPolicyMerge : True
(3)Docker环境

使用官方脚本安装( WSL2 中官方推荐 Docker Desktop 安装,可以忽略提示,采用下述命令直接安装)

curl -fsSL https://get.docker.com | bash -s docker # 中国国内用户可以指定Aliyun源安装 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

可将当前用户加入 docker 组,从而可以直接使用 docker 命令:

sudo usermod -aG docker $USER

添加完成后,需要重新登录,以使用户组更改生效。 使用命令docker --version验证是否安装成功。

(4)显卡驱动及开发工具(任选一个)
# 25-11-1更新 # 安装CUDA Toolkit(推荐安装) wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update sudo apt install nvidia-cuda-toolkit # 安装NVIDIA Driver sudo apt-get -y install cuda-drivers

# 25-11-1更新 # 配置下载源 sudo apt-get update && sudo apt-get install -y --no-install-recommends curl gnupg2 curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update export NVIDIA_CONTAINER_TOOLKIT_VERSION=1.18.0-1 sudo apt-get install -y \ nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \ libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}

3、环境验证

(1)验证 Docker

使用hello-world镜像验证 Docker 是否安装成功,如果显示Hello from Docker!则表示安装成功。

docker run hello-world # 验证完成后,可移除镜像 docker rmi hello-world
(2)验证 NVIDIA 显卡驱动

使用命令nvidia-smi验证 NVIDIA Driver 是否安装成功,如果显示显卡驱动和 CUDA 工具包信息,则表示安装成功。

使用命令nvcc --version验证 NVIDIA CUDA Toolkit 是否安装成功,如果安装成功,会显示版本信息。

(3)验证 NVIDIA Container Toolkit

使用下述命令验证 NVIDIA Container Toolkit 是否安装成功,如果显示显卡驱动和 CUDA 工具包信息,则表示安装成功。

docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi # 验证完成后,可移除镜像 docker rmi nvidia/cuda:12.4.0-base-ubuntu22.04

4、miloco安装与启动

下载源码后,执行一键安装脚本

git clone https://github.com/XiaoMi/xiaomi-miloco.git bash scripts/install.sh

miloco安装运行界面:

选择 “1. Quick Install”

选择下载路径:国内推荐 Xiaomi FDS

安装完成提示:

启动服务:

运行服务后的系统运行时状态:

5、前端访问服务

通过https://<your ip>:8000访问服务,如果是本机访问, IP 为127.0.0.1

📄NOTICE:

  • 请使用 https 访问,而不是 http
  • Windows 下,在 Windows 中可以尝试直接访问 WSL 的 IP 地址,如 https://<wsl ip>:8000
  • macOS 环境下,如果网络模式配置为桥接模式,访问时请使用 Docker 所在虚拟机的 IP。

6、miloco使用

miloco前端管理界面:

设置后端使用的模型:

设置规则:

主界面里可以自动生成,也可以在规则管理里手动添加。这里使用的是手动添加。

注意:

添加规则前,需要在米家APP里测试相关控制设备的有效性。

添加规则时,一定要在设置控制选项点击“测试”按钮,生成有效的米家控制指令,有时AI模型调用生成指令有问题,多测试几遍。

如果设置的规则执行有问题,可以在日志管理查看相关执行日志。

Read more

Python 高手都在用的 8 大交流平台,腾讯频道成新手协作新阵地

Python 高手都在用的 8 大交流平台,腾讯频道成新手协作新阵地 Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本。作为当前最流行的编程语言之一,Python拥有庞大而活跃的开发者社区。无论是初学者还是资深工程师,都能在合适的平台上找到技术解答、项目协作与成长机会。以下介绍几个被 Python 高手广泛使用的交流平台 第一章:Python 高手都在用的8大交流平台概述 平台名称主要用途访问方式Stack Overflow技术问答https://stackoverflow.comGitHub开源协作https://github.comr/Python社区讨论https://www.reddit.com/r/Python/分布式边缘协同平台边缘计算协同开发企业私有部署/开源镜像站Real Python系统教程学习https://realpython.comPython Discord 与 Slack 社群实时聊天交流官方邀请制/注册登录PyPI 官方论坛包发布与维护讨论https:/

By Ne0inhk
Python爬虫实战:手把手教你用 Python 爬取网易新闻每日热文,小白也能轻松上手

Python爬虫实战:手把手教你用 Python 爬取网易新闻每日热文,小白也能轻松上手

Python爬虫实战:手把手教你用 Python 爬取网易新闻每日热文,小白也能轻松上手 Python爬虫实战:手把手教你用 Python 爬取网易新闻每日热文,小白也能轻松上手,该教程详细讲解如何用 Python 爬取网易新闻每日热文,先介绍爬虫 “请求 - 解析 - 提取 - 保存” 原理及 requests、BeautifulSoup4 等必备库的安装,再逐段解析完整代码:从设置请求头模拟浏览器、发送 HTTP 请求获取网页数据,到通过关键词匹配和类名匹配双方案提取 “今日推荐” 热文,还包含数据去重、Excel 保存(按日期命名)及异常处理与调试模块。同时给出实操步骤,解答爬取不到数据、Excel 保存失败等常见问题,强调爬虫伦理与法律规范,最后提供定时爬取、多频道爬取等功能扩展建议,帮助小白轻松上手打造自动新闻采集工具。 前言     Python作为一门简洁、易读、功能强大的编程语言,

By Ne0inhk
C++ 关联式容器详解:set、map 及其变体的深度剖析----《Hello C++ Wrold!》(19)--(C/C++)

C++ 关联式容器详解:set、map 及其变体的深度剖析----《Hello C++ Wrold!》(19)--(C/C++)

文章目录 * 前言 * set * set的类模板参数声明 * set的构造函数声明 * set常见的几个接口 * multiset * map * map的类模板参数声明 * map的构造函数声明 * map常用的几个接口 * multimap * pair * 作业部分 * sort和stable_sort的区别 前言 在 C++ 标准库中,容器是数据存储和操作的核心工具,而关联式容器凭借其高效的查找、插入和删除特性,在处理需要快速检索的数据时展现出独特的优势。set、multiset、map 和 multimap 作为 C++ 中常用的关联式容器,底层通常基于红黑树实现,这使得它们在保证数据有序性的同时,能将基本操作的时间复杂度控制在 O (log n) 级别,远超序列式容器在查找操作上的表现。 本文将系统地介绍这几类关联式容器的特性、类模板参数、构造函数及常用接口,深入剖析 set 与 map 在存储模型(k 模型与

By Ne0inhk
超简单的在VS Code配置C/C++的方法(最新,轻量化,支持万能头文件)

超简单的在VS Code配置C/C++的方法(最新,轻量化,支持万能头文件)

PS:最近一直在为如何在vscode使用cpp感到头疼,网上的教程要么太老,要么不适合新手,故决定自己写一篇。 为什么用vscode? --轻量化,另外就是博主并不主使用cpp开发,cpp只是用来打算法的 教程实现什么? 1.可用“万能头文件 bits/stdc++.h” 2.结构清晰:所有 exe 文件统一输出到 bin 文件夹,cpp文件统一存放到src文件夹 一. 环境准备 1.vscode安装 vscode安装地址(https://code.visualstudio.com/) 下载完后点击安装: 最好不要装在C盘,更改安装路径的话,路径不要有中文和空格!其他选项默认就行。 需要中文的看这里: 安装完中文后重启vscode即可 2.MinGW安装 vscode本身只是一个文本编辑器,想使用某种语言需要安装对应的编译器,这里给出 MinGW-w64轻量化安装教程: 2.1从 WinLibs 获取

By Ne0inhk