简单易学的分离式部署小米智能家居Miloco方法

一、安装环境

  • Windows用户:安装WSL2以及Docker
  • macOS/Linux用户:安装Docker
    此处不再赘述,网上随便找个教程即可。特别地,对于Windows用户来说,你需要将 WSL2 的网络模式设置为 Mirrored。

二、使用Docker部署Miloco后端

以下均为bash命令。请Windows用户进入WSL2 / Linux、macOS用户进入终端操作:

mkdir miloco cd milico vi docker-compose.yml 

以下是compose的内容(不会使用vi的同学可以傻瓜式操作:先按i,再使用粘贴功能,然后按冒号,输入wq然后回车,记得关闭输入法):

services:backend:container_name: miloco-backend image: ghcr.nju.edu.cn/xiaomi/miloco-backend:latest 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 restart: unless-stopped healthcheck:disable:true

再写个.env

vi .env 

以下是.env的内容:

TZ=Asia/Shanghai BACKEND_HOST=0.0.0.0 BACKEND_PORT=8000 BACKEND_LOG_LEVER=info AI_ENGINE_HOST=0.0.0.0 AI_ENGINE_PORT=8001 AI_ENGINE_LOG_LEVER=info 

继续执行命令:

mkdir -p data mkdir -p log/backend docker compose up -d 

静待下载镜像以及运行即可。

三、部署视觉大模型

对于小白用户(含非专业的AMD用户),此处建议使用LM StudioOllama来部署GGUF版的VL模型。
如果你有一张高性能NVIDIA显卡(RTX3090、RTX4090、RTX5090等显存>=24G的),想要更加专业稳定的服务,那么建议使用vLLMSGLang进行生产级服务部署。
此处为了照顾Windows及macOS小白用户,以简单易用的LM Studio举例。

下载LM Studio并安装

https://lmstudio.ai/

设置及下载模型

点击界面最右下角的设置图标,

  • App Settings-General-Language-简体中文
  • App Settings-Developer-启用本地 LLM 服务

检查环境安装情况

还是在设置页-Runtime

NVIDIA用户
  • Vulkan llama.cpp
  • CUDA llama.cpp
  • CPU llama.cpp
  • CUDA 12 llama.cpp
  • Harmony
AMD用户
  • Vulkan llama.cpp
  • ROCm llama.cpp
  • CPU llama.cpp
  • Harmony
苹果用户
  • Vulkan llama.cpp
  • Metal llama.cpp
  • MLX llama.cpp
  • CPU llama.cpp
  • Harmony

下载模型

Model Search-搜索框中输入:xiaomi-open-source/Xiaomi-MiMo-VL-Miloco-7B-GGUF
点击右下角Download即可

运行模型并提供API服务

  • 下载完成后点击页面左侧的“开发者”(一个绿色终端图标,位于对话图标下方)
  • 点击页面顶部加载模型
  • 你应该能够看到xiaomi-mimo-vl-miloco-7bREADY状态。
  • 页面顶部有一个Status: Stopped,点击开关,切换到Running
  • 点击Server Settings,打开“在网络中提供服务”。
  • 你将得到一个局域网地址,显示在右侧的Reachable at中,如:http://192.168.50.210:1234。复制它。

四、与Miloco对接

假设你的Docker宿主机IP为192.168.50.123,那么就访问https://192.168.50.123:8000/。首次设置会让你登录账号,登录后有一个callback地址,也填写192.168.50.123:8000

对接VL模型

点击模型管理-云端模型-添加模型:
Base URL输入http://192.168.50.210:1234/v1
API Key随便填
模型ID填xiaomi-mimo-vl-miloco-7b,再点击一下以添加。
完成后在上方“视觉理解大模型”中选择云端:xiaomi-mimo-vl-miloco-7b

对接规划模型

对于许多用户来说,走到这一步的时候,想必你的显存/统一内存已经所剩无几了吧!让我们白嫖一下硅基流动的大模型。

  • 访问https://cloud.siliconflow.cn/,注册并登录。
  • 点击左侧的API密钥,生成一个,复制出来(sk开头的)
  • 还是添加云端模型:
    Base URL输入https://api.siliconflow.cn/v1
    API Key填刚才生成的
    模型ID选Qwen/Qwen3-8B
    完成后在上方“规划大模型”中选择云端:Qwen/Qwen3-8B

回到AI中心,开始你的Miloco之旅吧!

五、一点Tips

  • 对于规划模型,你可以尝试使用更强的大模型,它们调用工具更稳定,比如Kimi K2Minimax M2等。Qwen3-8B的训练时间较早且对齐略有问题,可能不能很好地稳定调用工具。这只是一个便宜的入门之选。
  • 对于VL模型,有条件的同学可以尝试部署全精度版本,使用vLLM提供服务,会获得更棒的体验。
  • 官方文档中推荐的安装方式只是多集成了一个AI Engine,本质上就是对llama.cpp的封装。分离式部署大模型服务更灵活。
  • 吐槽:我曾经想着提个pr来适配更多平台,但发现代码里硬编码了许多CUDA/nvidia相关的东西,蒜鸟蒜鸟。
  • 有疑问可以联系我:[email protected],不保证时效性。

Read more

Jetson + OpenClaw + 飞书机器人:构建一个让边缘设备成为 AI Agent 助手的远程交互系统

Jetson + OpenClaw + 飞书机器人:构建一个让边缘设备成为 AI Agent 助手的远程交互系统

1. 背景 最近我希望在 Jetson 上部署一个本地 Openclaw,并通过飞书机器人进行远程交互,从而让闲置的边缘设备秒变我的高级AI助手。整体目标很简单: * 在 Jetson 上运行 OpenClaw * 接入自己的模型 API(我使用的是阿里的Coding Plan) * 通过飞书群聊 @机器人 或者私聊机器人直接调用本地 Agent 最终希望实现这样的工作流: Feishu Group ↓ Feishu Bot ↓ OpenClaw Gateway (Jetson) ↓ Agent ↓ LLM API ↓ 返回飞书消息 这篇文章记录一下从源码部署 OpenClaw,到接通飞书机器人的完整过程,以及过程中踩到的几个关键坑。 2. 环境信息 本文使用环境如下: Jetson 环境 uname -a # 输出 Linux agx229-desktop 5.10.216-tegra

Flutter 三方库 wallet_connect 的鸿蒙化适配指南 - 实现 Web3 钱包协议连接、支持 DApp 授权登录与跨链交易签名实战

Flutter 三方库 wallet_connect 的鸿蒙化适配指南 - 实现 Web3 钱包协议连接、支持 DApp 授权登录与跨链交易签名实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 wallet_connect 的鸿蒙化适配指南 - 实现 Web3 钱包协议连接、支持 DApp 授权登录与跨链交易签名实战 前言 在进行 Flutter for OpenHarmony 的去中心化应用(DApp)或加密货币钱包开发时,支持标准的 WalletConnect 协议是链接用户钱包的关键。wallet_connect 是该协议的 Dart 实现,它能让你的鸿蒙 App 安全地与 MetaMask、Trust Wallet 等钱包建立双向加密连接。本文将探讨如何在鸿蒙系统下构建安全、稳定的 Web3 授权流程。 一、原理解析 / 概念介绍 1.1 基础原理

如何快速实现无人机RemoteID合规?ArduRemoteID开源方案完整指南

如何快速实现无人机RemoteID合规?ArduRemoteID开源方案完整指南 【免费下载链接】ArduRemoteIDRemoteID support using OpenDroneID 项目地址: https://gitcode.com/gh_mirrors/ar/ArduRemoteID ArduRemoteID是一个专为无人机设计的开源RemoteID解决方案,基于OpenDroneID标准实现,完美支持FAA与欧盟法规要求。通过MAVLink和DroneCAN协议与飞行控制器通信,提供WiFi广播、蓝牙5等多种传输模式,兼容ESP32-S3/C3等主流硬件平台,帮助开发者轻松实现无人机身份识别功能。 🚁 项目核心功能解析 多协议兼容的身份发射系统 ArduRemoteID模块集成了MAVLink与DroneCAN双协议支持,可无缝对接ArduPilot等主流飞控系统。通过RemoteIDModule/transmitter.cpp实现的发射逻辑,能同时广播无人机位置、速度、高度等关键飞行数据,确保监管平台实时获取设备状态。 全平台硬件适配方案 支持ESP3

FPGA加速图像处理:核心算法全解析

FPGA加速图像处理:核心算法全解析

FPGA(现场可编程门阵列)在图像处理领域因其并行处理能力、低延迟、高能效和可定制化 的特点而极具优势,特别适合于实时性要求高、算法固定、功耗受限 的应用场景。 以下是FPGA上常实现的主流图像处理算法,按处理流程和类别划分: 一、底层图像预处理(像素级操作) 这类算法高度并行,非常适合FPGA。 1. 色彩空间转换 * RGB转灰度:Y = 0.299R + 0.587G + 0.114B,可通过移位和加法实现,无需乘法器。 * RGB与YCbCr互转:视频压缩(如JPEG, H.264)中的关键步骤,FPGA可以并行计算三个分量。 2. 几何变换 * 旋转、缩放、平移:需要插值算法(如双线性插值、最邻近插值)。FPGA可以并行计算多个输出像素的坐标和插值。 3. 图像校正 * 镜头畸变校正:通过查找表(LUT)