

实验背景与目标
在 2026 年 CES 大会上,NVIDIA 发布了一系列开放模型(包括 Nemotron 推理 LLM、Isaac GR00T N1.6 开放推理 VLA、Cosmos 世界基础模型等),为构建线上及现实世界的 AI 代理提供了核心组件。其中,Reachy Mini 作为huggingface推出的一款高度可定制的桌面级人形机器人,成为连接数字智能与物理世界的关键载体 —— 它配备丰富的传感器、执行器及开放 API,支持通过 Python 直接控制硬件或仿真环境,可轻松集成至现有 AI 代理架构,实现 “感知 - 推理 - 动作” 的闭环交互。
本次实验基于 NVIDIA DGX Spark 的强大计算能力与 Reachy Mini 的实体交互特性,探索如何打造可桌面部署、支持自然交互的私人 AI 实体代理。该代理区别于封闭型个人助手,具备开源可定制、数据隐私可控、多模态交互的特点,能够通过语音、视觉与物理动作与用户及环境产生真实联动。

实验环境与工作准备
类别 | 具体工具 / 模型 | 说明 |
|---|---|---|
推理模型 | NVIDIA Nemotron 3 Nano | 提供核心逻辑推理与文本交互能力 |
视觉模型 | NVIDIA Nemotron Nano 2 VL | 处理图像理解、环境感知相关任务 |
语音模型 | ElevenLabs | 实现文本到语音(TTS)转换 |
硬件 / 仿真 | Reachy Mini(或仿真版) | 桌面级人形机器人,配备传感器、执行器,支持 Python 控制,为实体交互终端 |
开发环境 | Python 3.10+、uv | 依赖管理与虚拟环境工具 |
框架工具 | NVIDIA NeMo Agent Toolkit | 连接各组件的开源框架,支持工作流编排、工具调用 |
实时交互框架 | Pipecat | 低延迟处理音视频流,协调语音识别、机器人动作 |
辅助工具 | Git、curl | 代码克隆与接口测试 |
实验步骤
1.克隆项目代码库:
git clone git@github.com/brevdev/reachy-personal-assistant
cd reachy-personal-assistant2.配置 API 密钥(远程访问模型时需操作):在主目录创建.env 文件,填入以下内容:
NVIDIA_API_KEY=your_nvidia_api_key_here
ELEVENLABS_API_KEY=your_elevenlabs_api_key_here本地部署模型时可跳过此步骤。启动 NeMo Agent Toolkit 服务,加载配置文件(包含模型、路由等设置):
cd nat
uv venv
uv sync
uv run --env-file ../.env nat serve --config_file src/ces_tutorial/config.yml --port 8001验证文本交互功能:打开新终端执行 curl 命令测试接口:
curl -s http://localhost:8001/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "test", "messages": [{"role": "user", "content": "What is the capital of France?"}]}'
成功返回响应即表示基础聊天接口搭建完成。工具调用是实体代理的核心能力,通过 NeMo Agent Toolkit 的内置 ReAct agent 实现:
配置工具与 ReAct agent 规则(在 config.yml 中定义):
functions:
wikipedia_search:
_type: wiki_search
max_results: 2
..
react_agent:
_type: react_agent
llm_name: agent_llm
verbose: true
parse_agent_response_max_retries: 3
tool_names: [wikipedia_search]
workflow:
_type: ces_tutorial_router_agent
agent: react_agent关键配置说明:
Step 3:添加路由机制,优化模型资源分配
为提升效率、降低延迟,通过路由将不同类型请求分发至对应模型:
路由规则配置(在 config.yml 中定义):
functions:
..
router:
_type: router
route_config:
- name: other
description: Any question that requires careful thought, outside information, image understanding, or tool calling to take actions.
- name: chit_chat
description: Any simple chit chat, small talk, or casual conversation.
- name: image_understanding
description: A question that requires the assistant to see the user eg a question about their appearance, environment, scene or surroundings. Examples what am I holding, what am I wearing, what do I look like, what is in my surroundings, what does it say on the whiteboard. Questions about attire eg what color is my shirt/hat/jacket/etc
llm_name: routing_llm
llms:
..
routing_llm:
_type: nim
model_name: microsoft/phi-3-mini-128k-instruct
temperature: 0.0
路由逻辑:
Pipecat 负责协调音视频流、语音识别与机器人动作:
进入 bot 目录,初始化环境:
cd bot
uv venv
uv sync核心功能:
cd bot
# macOS:
uv run mjpython -m reachy_mini.daemon.app.main --sim --no-localhost-only
# Linux:
uv run -m reachy_mini.daemon.app.main --sim --no-localhost-only
物理硬件环境需移除 --sim 参数。启动 bot 服务:
cd bot
uv venv
uv sync
uv run --env-file ../.env python main.py重启 NeMo Agent Toolkit 服务(若已关闭):
cd nat
uv venv
uv sync
uv run --env-file ../.env nat serve --config_file src/ces_tutorial/config.yml --port 8001
系统启动与连接实验测试与结果
测试类型 | 测试用例 | 预期结果 | 实际结果 |
|---|---|---|---|
文本闲聊 | “用一句话说明你能做什么?”“总结我刚才说的话” | 快速返回简洁回应 | 符合预期,响应延迟 < 2 秒 |
视觉交互 | 向摄像头展示物体,提问 “我拿着什么?”;展示文档,提问 “总结页面文字” | 正确识别物体 / 文本并总结 | 物体识别准确率约 90%,文本总结完整 |
工具调用 | 提问 “巴黎的人口有多少?”(需 Wikipedia 搜索) | 调用 Wikipedia 工具,返回实时数据 | 成功调用工具,获取准确信息 |
机器人动作 | 指令 “挥挥手”(需扩展工具配置) | Reachy Mini 做出挥手动作 | 仿真环境中动作响应流畅 |
实验总结与扩展
实验总结
本次实验成功搭建了基于 NVIDIA DGX Spark 与 Reachy Mini 的 AI 实体代理系统,实现了文本、语音、视觉多模态交互与工具调用功能。其中,Reachy Mini 作为核心实体载体,其开放的硬件接口与灵活的控制方式为 “数字智能落地物理世界” 提供了关键支撑。系统采用开源框架与模块化设计,具备良好的可定制性,数据隐私可控,可部署于桌面环境。核心优势在于:
项目地址:
https://huggingface.co/blog/nvidia-reachy-mini?linkId=100000401191924&fbclid=IwY2xjawPJWMdleHRuA2FlbQIxMABicmlkETFPV0ttWFNWTFk1cVJtTkpPc3J0YwZhcHBfaWQQMjIyMDM5MTc4ODIwMDg5MgABHkFy8zfQ6_uVPyDtb68Up8nbIEaZqydn7BW57svukO1ckelUCHsWUbI6LEe1_aem_o_9Pkvj7uSJMqKk71AnF2g