系列文章目录
目录
系列文章目录
前言
一、所需材料
二、赋予Reachy自主行动能力
三、构建智能体
3.1 设置并获取模型与服务访问权限
3.2 构建聊天界面
3.3 添加 NeMo Agent Toolkit 内置的 ReAct 代理用于工具调用
3.4 添加路由器将查询导向不同模型
3.5 添加Pipecat机器人实现实时语音+视觉交互
3.6 将所有组件连接至Reachy(硬件或模拟环境)
3.7 运行完整系统
3.7.1 终端 1:Reachy 守护进程
3.7.2 终端 2:机器人服务
3.7.3 终端 3:NeMo Agent Toolkit 服务
3.8 尝试以下示例提示
3.9 后续探索方向
前言
在2026年国际消费电子展上,英伟达今日揭晓了一系列全新开放模型,为线上与现实世界的智能代理未来铺就道路。从新近发布的NVIDIA Nemotron推理大型语言模型,到全新NVIDIA Isaac GR00T N1.6开放推理VLA及NVIDIA Cosmos世界基础模型,所有构建模块现已就位,助力AI开发者打造专属智能代理。
但若能在办公桌前唤醒专属智能体呢?一个既能提供实用帮助又能私密处理数据的AI伙伴?
在今日CES主题演讲中,黄仁勋展示了如何通过NVIDIA DGX Spark与Reachy Mini的协同运算能力,打造可对话协作的迷你办公助手——专属你的办公版R2D2。
本文提供了一份分步指南,指导您如何在家中使用DGX Spark和Reachy Mini复制这一非凡体验。
一、所需材料
若想立即开始烹饪,请参阅演示源代码。
我们将使用以下组件:
- 推理模型:演示采用NVIDIA Nemotron 3 Nano
- 视觉模型:演示采用NVIDIA Nemotron Nano 2 VL
- 文本转语音模型:演示使用ElevenLabs
- Reachy Mini(或Reachy Mini仿真)
- Python v3.10+环境,需安装uv库
欢迎自由调整配方,打造专属方案——您可通过多种方式将模型集成至应用程序:
- 本地部署——在自有硬件上运行(DGX Spark或配备充足显存的GPU)。本方案需约65GB磁盘空间用于推理模型,约28GB用于视觉模型。
- 云端部署——通过NVIDIA Brev或Hugging Face推理端点等服务将模型部署至云GPU。
- 无服务器模型端点——向NVIDIA或Hugging Face推理服务商发送请求。
二、赋予Reachy自主行动能力
将AI助手从简单的聊天界面转变为可自然交互的存在,能让对话更具真实感。当AI助手能通过摄像头观察、发出声音并执行动作时,体验将更加引人入胜。这正是Reachy Mini实现的可能性。
Reachy Mini的设计注重可定制性。通过接入传感器、执行器和API,您可轻松将其接入现有智能体架构——无论是通过模拟环境还是直接用Python操控真实硬件。
本文聚焦于组合现有构建模块而非重新发明轮子。我们整合了用于推理与视觉的开源模型、用于协调的智能体框架,以及执行动作的工具处理器。各组件采用松耦合设计,便于随时替换模型、调整路由逻辑或添加新行为。
与封闭式个人助手不同,本架构保持完全开放。您可自主掌控模型、提示词、工具及机器人的动作。Reachy Mini 仅作为智能体物理终端,实现感知、推理与行动的融合。
三、构建智能体
本示例采用 NVIDIA NeMo Agent Toolkit——这款灵活轻量、框架无关的开源库,将智能体所有组件无缝连接。它能无缝对接LangChain、LangGraph、CrewAI等其他智能体框架,处理模型间的交互、输入输出路由,让您轻松尝试不同配置或添加新功能,无需重写核心逻辑。该工具包还内置性能分析与优化功能,可追踪跨工具和智能体的令牌使用效率及延迟,识别瓶颈,并自动调整超参数以在降低成本和延迟的同时最大化准确率。
3.1 设置并获取模型与服务访问权限
首先,克隆包含所有所需代码的仓库:
git clone git@github.com/brevdev/reachy-personal-assistant cd reachy-personal-assistant要访问由 NVIDIA Nemotron 模型驱动的智能层,您可以通过 NVIDIA NIM 或 vLLM 进行部署,或通过 build.nvidia.com 提供的远程端点进行连接。
以下说明假设您是通过端点访问 Nemotron 模型。请在主目录中创建一个包含 API 密钥的 .env 文件。对于本地部署,您无需指定 API 密钥,可跳过此步骤。
NVIDIA_API_KEY=your_nvidia_api_key_here ELEVENLABS_API_KEY=your_elevenlabs_api_key_here3.2 构建聊天界面
首先通过 NeMo Agent Toolkit 的 API 服务器运行基础 LLM 聊天工作流。NeMo Agent Toolkit 支持通过 `nat serve` 运行工作流并提供配置文件。此处传递的配置文件包含代理所需的所有必要设置信息,包括用于聊天和图像理解的模型,以及代理使用的路由器模型。NeMo Agent Toolkit 用户界面可通过 HTTP/WebSocket 连接,使您能像使用标准聊天产品那样与工作流对话。在此实现中,NeMo Agent Toolkit 服务器在端口 8001 上启动(以便您的机器人和用户界面均可调用):
cd nat uv venv uv sync uv run --env-file ../.env nat serve --config_file src/ces_tutorial/config.yml --port 8001接下来,请通过另一个终端验证能否发送纯文本提示,以确保所有设置均正确无误:
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?"}]}'在审查代理配置时,您会发现其定义的功能远不止简单的聊天补全。后续步骤将详细说明这些功能。
3.3 添加 NeMo Agent Toolkit 内置的 ReAct 代理用于工具调用
工具调用是 AI 代理的核心功能。NeMo Agent Toolkit 内置的 ReAct 代理能够在工具调用间进行推理,并在响应前调用多个工具。我们将“操作请求”路由至具备工具调用权限的ReAct代理(例如触发机器人行为或获取当前状态的工具)。
需注意以下实用要点:
- 保持工具架构简洁(明确名称/描述/参数),代理将据此决定调用对象。
- 为步骤设置硬性上限(max_tool_calls),防止智能体陷入无限循环。
- 若使用实体机器人,建议采用“执行前确认”模式处理物理动作,确保运动安全。
请参阅配置文件的此部分:它定义了工具(如维基百科搜索),并指定了用于管理工具的ReAct智能体模式。
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_agent3.4 添加路由器将查询导向不同模型
核心理念:避免单一模型处理所有需求。转而基于意图进行路由:
- 文本查询可使用快速文本模型
- 视觉查询必须通过视觉语言模型处理
- 操作/工具请求路由至ReAct智能体+工具集
路由实现方式多样(启发式算法、轻量级分类器或专用路由服务)。若需生产级方案,NVIDIA LLM路由器开发者示例提供完整参考实现,包含评估与监控模式。
基础路由策略示例如下:
- 若用户提出环境相关问题,则将请求连同摄像头(或Reachy)采集的图像发送至VLM。
- 若用户提出需实时信息的问题,则将输入发送至ReACT智能体,通过工具调用执行网络搜索。
- 若用户提出简单问题,则将请求发送至专为闲聊优化的轻量级快速模型。
配置文件的这些部分定义了路由拓扑结构并指定路由器模型。
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注意:若需降低延迟/成本或离线运行,可自行托管其中一个路由模型(通常为“fast text”模型),同时保持VLM远程运行。常见方案是通过NVIDIA NIM或vLLM提供服务,并将NeMo Agent Toolkit指向兼容OpenAI的端点。
3.5 添加Pipecat机器人实现实时语音+视觉交互
现在进入实时环节。Pipecat是专为低延迟语音/多模态智能体设计的框架:它协调音视频流、AI服务及传输协议,助您构建自然对话。在此项目中,机器人服务负责:
- 视觉采集(机器人摄像头)
- 语音识别与文本转语音
- 协调机器人动作与表情行为
所有Pipecat机器人代码位于`reachy-personal-assistant/bot`文件夹。
3.6 将所有组件连接至Reachy(硬件或模拟环境)
Reachy Mini 提供一个守护进程供系统其他组件连接。该仓库默认在模拟环境中运行守护进程(--sim)。若您拥有实体 Reachy 设备,可移除此参数,相同代码即可控制您的机器人。
3.7 运行完整系统
您需要三个终端来运行整个系统:
3.7.1 终端 1:Reachy 守护进程
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 标志。
3.7.2 终端 2:机器人服务
cd bot uv venv uv sync uv run --env-file ../.env python main.py3.7.3 终端 3:NeMo Agent Toolkit 服务
如果 NeMo Agent Toolkit 服务尚未在步骤 1 中运行,请现在在终端 3 中启动它。
cd nat uv venv uv sync uv run --env-file ../.env nat serve --config_file src/ces_tutorial/config.yml --port 8001所有终端配置完成后,需重点关注两个主窗口:
- Reachy Sim – 在终端1启动模拟器守护进程时自动显示此窗口。当您使用Reachy mini模拟器替代实体设备运行时适用。
- Pipecat Playground – 此客户端界面可用于连接智能体、启用麦克风和摄像头输入,并查看实时转录内容。在终端2中,打开机器人服务暴露的URL:http://localhost:7860/。点击浏览器中的“CONNECT”按钮。初始化可能需要几秒钟,系统将提示您授予麦克风(及可选摄像头)访问权限。
当两个窗口均启动运行后:
客户端与代理的状态指示器应显示READY(就绪)
机器人将以欢迎语“您好,今天需要什么帮助?”开启对话
此时即可开始与您的智能助手互动!
3.8 尝试以下示例提示
以下简单提示可帮助您测试个人助理功能。您可从这些示例开始,随后添加自定义提示语观察助手的响应效果!
纯文本指令(调用快速文本模型)
- “用一句话说明你能做什么”
- “总结我刚才说的内容”
视觉指令(调用视觉语言模型)
- “我举在摄像头前的物品是什么?”
- “读取此页面的文字并进行总结”
3.9 后续探索方向
这并非“黑盒”助手,而是构建了可私有化、可定制的系统基础,您可同时掌控智能与硬件。支持本地化检查、扩展及运行,全面掌握数据流向、工具权限以及机器人的感知与行为机制。
根据您的目标,可探索以下方向:
- 性能优化:运用LLM路由器开发者示例,通过智能调度查询任务在不同模型间平衡成本、延迟与质量。
- 参阅教程,使用Nemotron开源模型构建带防护机制的语音驱动RAG智能体。
- 硬件掌控:探索Reachy Mini SDK及仿真文档,在部署至实体系统前设计并测试高级机器人行为。
- 探索并参与社区为Reachy开发的应用程序。
想立即尝试?在此部署完整环境。一键启动,即刻运行。