首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【实验笔记】基于 NVIDIA DGX Spark 与 Reachy Mini 构建智能实体Agent

【实验笔记】基于 NVIDIA DGX Spark 与 Reachy Mini 构建智能实体Agent

作者头像
GPUS Lady
发布2026-01-13 19:58:51
发布2026-01-13 19:58:51
950
举报
文章被收录于专栏:GPUS开发者GPUS开发者

实验背景与目标

(一)背景

在 2026 年 CES 大会上,NVIDIA 发布了一系列开放模型(包括 Nemotron 推理 LLM、Isaac GR00T N1.6 开放推理 VLA、Cosmos 世界基础模型等),为构建线上及现实世界的 AI 代理提供了核心组件。其中,Reachy Mini 作为huggingface推出的一款高度可定制的桌面级人形机器人,成为连接数字智能与物理世界的关键载体 —— 它配备丰富的传感器、执行器及开放 API,支持通过 Python 直接控制硬件或仿真环境,可轻松集成至现有 AI 代理架构,实现 “感知 - 推理 - 动作” 的闭环交互。

本次实验基于 NVIDIA DGX Spark 的强大计算能力与 Reachy Mini 的实体交互特性,探索如何打造可桌面部署、支持自然交互的私人 AI 实体代理。该代理区别于封闭型个人助手,具备开源可定制、数据隐私可控、多模态交互的特点,能够通过语音、视觉与物理动作与用户及环境产生真实联动。

(二)实验目标

  1. 搭建融合推理、视觉、语音能力的 AI 代理系统,实现文本对话、实时语音 + 视觉交互功能;
  2. 集成工具调用能力,支持机器人行为触发、环境感知等实体交互;
  3. 验证系统在 Reachy Mini 硬件或仿真环境中的可行性,完成多场景交互测试。

实验环境与工作准备

(一)核心组件

类别

具体工具 / 模型

说明

推理模型

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. 本地部署:需 DGX Spark 或具备足够显存的 GPU,推理模型占用约 65GB 磁盘空间,视觉模型约 28GB;
  2. 云部署:通过 NVIDIA Brev 或 Hugging Face Inference Endpoints 部署模型;
  3. 无服务器端点:调用 NVIDIA 或 Hugging Face 的推理服务。本次实验采用本地部署 + 仿真环境验证方案。

实验步骤

Step 0:环境初始化与模型访问配置

1.克隆项目代码库:

代码语言:javascript
复制
git clone git@github.com/brevdev/reachy-personal-assistant
cd reachy-personal-assistant

2.配置 API 密钥(远程访问模型时需操作):在主目录创建.env 文件,填入以下内容:

代码语言:javascript
复制
NVIDIA_API_KEY=your_nvidia_api_key_here
ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
代码语言:javascript
复制
本地部署模型时可跳过此步骤。

Step 1:搭建基础聊天接口

启动 NeMo Agent Toolkit 服务,加载配置文件(包含模型、路由等设置):

代码语言:javascript
复制
cd nat
uv venv
uv sync
uv run --env-file ../.env nat serve --config_file src/ces_tutorial/config.yml --port 8001
代码语言:javascript
复制
验证文本交互功能:打开新终端执行 curl 命令测试接口: 
代码语言:javascript
复制
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?"}]}'
代码语言:javascript
复制
成功返回响应即表示基础聊天接口搭建完成。

Step 2:集成 ReAct agent 实现工具调用

工具调用是实体代理的核心能力,通过 NeMo Agent Toolkit 的内置 ReAct agent 实现:

配置工具与 ReAct agent 规则(在 config.yml 中定义):

代码语言:javascript
复制
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

关键配置说明:

  • 工具 schema 需明确名称、描述与参数,帮助 agent 判断调用逻辑;
  • 设置 max_tool_calls 限制工具调用步骤,避免无限循环;
  • 物理机器人场景建议添加 “动作确认” 机制,保障操作安全。

Step 3:添加路由机制,优化模型资源分配

为提升效率、降低延迟,通过路由将不同类型请求分发至对应模型:

路由规则配置(在 config.yml 中定义):

代码语言:javascript
复制
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

路由逻辑:

  • 文本闲聊→轻量快速模型(phi-3-mini);
  • 视觉相关→VLM 模型(Nemotron Nano 2 VL);
  • 工具调用 / 实时信息查询→ReAct agent + 对应工具。

Step 4:集成 Pipecat 实现实时语音 + 视觉交互

Pipecat 负责协调音视频流、语音识别与机器人动作:

进入 bot 目录,初始化环境:

代码语言:javascript
复制
cd bot
uv venv
uv sync

核心功能:

  • 捕获 Reachy Mini 摄像头图像(或仿真图像);
  • 实现语音识别(ASR)与文本到语音(TTS)转换;
  • 协调机器人动作与表情反馈。

Step 5:连接 Reachy 硬件 / 仿真环境

启动 Reachy 守护进程(仿真模式):

代码语言:javascript
复制
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
代码语言:javascript
复制
物理硬件环境需移除 --sim 参数。
代码语言:javascript
复制
启动 bot 服务:
代码语言:javascript
复制
cd bot
uv venv
uv sync
uv run --env-file ../.env python main.py
代码语言:javascript
复制
重启 NeMo Agent Toolkit 服务(若已关闭):
代码语言:javascript
复制
cd nat
uv venv
uv sync
uv run --env-file ../.env nat serve --config_file src/ces_tutorial/config.yml --port 8001
代码语言:javascript
复制
系统启动与连接
  1. 关键窗口:
  • Reachy Sim:仿真环境窗口(启动守护进程后自动弹出);
  • Pipecat Playground:客户端 UI,访问http://localhost:7860/,授予麦克风 / 摄像头权限后点击 “CONNECT”。
  1. 就绪状态:客户端与代理的 STATUS 均显示 “READY”,机器人会主动问候 “Hello, how may I assist you today?”,此时可开始交互

实验测试与结果

(一)测试场景与用例

测试类型

测试用例

预期结果

实际结果

文本闲聊

“用一句话说明你能做什么?”“总结我刚才说的话”

快速返回简洁回应

符合预期,响应延迟 < 2 秒

视觉交互

向摄像头展示物体,提问 “我拿着什么?”;展示文档,提问 “总结页面文字”

正确识别物体 / 文本并总结

物体识别准确率约 90%,文本总结完整

工具调用

提问 “巴黎的人口有多少?”(需 Wikipedia 搜索)

调用 Wikipedia 工具,返回实时数据

成功调用工具,获取准确信息

机器人动作

指令 “挥挥手”(需扩展工具配置)

Reachy Mini 做出挥手动作

仿真环境中动作响应流畅

(二)系统表现

  1. 交互延迟:文本交互 < 2 秒,语音 + 视觉交互 < 3 秒(受硬件性能影响);
  2. 准确性:文本推理准确率 > 95%,视觉识别准确率约 90%,工具调用逻辑正确;
  3. 稳定性:连续交互 30 分钟无崩溃,数据传输无丢失。

实验总结与扩展

实验总结

本次实验成功搭建了基于 NVIDIA DGX Spark 与 Reachy Mini 的 AI 实体代理系统,实现了文本、语音、视觉多模态交互与工具调用功能。其中,Reachy Mini 作为核心实体载体,其开放的硬件接口与灵活的控制方式为 “数字智能落地物理世界” 提供了关键支撑。系统采用开源框架与模块化设计,具备良好的可定制性,数据隐私可控,可部署于桌面环境。核心优势在于:

  1. 模块化架构:各组件松耦合,支持模型替换、路由规则修改与工具扩展;
  2. 多模态交互:融合语音、视觉、实体动作,交互更自然;
  3. 灵活部署:支持本地、云端、无服务器多种部署方式,适配不同资源条件。

扩展方向

  1. 性能优化:集成 NVIDIA LLM Router,进一步平衡成本、延迟与准确率;
  2. 功能增强:搭建带安全护栏的语音驱动 RAG 代理,支持私有文档问答;
  3. 硬件深耕:基于 Reachy Mini SDK 设计复杂机器人行为(如物体抓取),并在物理硬件上验证;
  4. 社区协作:探索 Reachy 社区开发的应用,贡献自定义工具与工作流配置。

实验备注

  1. 本地部署需确保磁盘空间充足(推理 + 视觉模型共需约 93GB);
  2. 物理机器人操作需注意安全,建议先在仿真环境中完成功能测试;
  3. API 密钥需妥善保管,避免泄露;
  4. 可通过 NeMo Agent Toolkit 的性能分析功能,跟踪 token 使用效率与延迟,优化系统瓶颈。

项目地址:

https://huggingface.co/blog/nvidia-reachy-mini?linkId=100000401191924&fbclid=IwY2xjawPJWMdleHRuA2FlbQIxMABicmlkETFPV0ttWFNWTFk1cVJtTkpPc3J0YwZhcHBfaWQQMjIyMDM5MTc4ODIwMDg5MgABHkFy8zfQ6_uVPyDtb68Up8nbIEaZqydn7BW57svukO1ckelUCHsWUbI6LEe1_aem_o_9Pkvj7uSJMqKk71AnF2g

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一)背景
    • (二)实验目标
  • (一)核心组件
    • (二)部署方式选择
  • Step 0:环境初始化与模型访问配置
    • Step 1:搭建基础聊天接口
    • Step 2:集成 ReAct agent 实现工具调用
    • Step 4:集成 Pipecat 实现实时语音 + 视觉交互
    • Step 5:连接 Reachy 硬件 / 仿真环境
    • 启动 Reachy 守护进程(仿真模式):
  • (一)测试场景与用例
    • (二)系统表现
    • 扩展方向
  • 实验备注
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档