跳转至

开发具身智能体

在TongAgents应用开发平台上开发具身智能体应用大致可以分为三步,创建设备工作流Agent、增加工作流节点和发布工作流。接下来我们结合具体实例,以机器人制作咖啡这个例子详细地介绍一下开发具身智能体的开发流程。

创建具身智能体工作流

首先,打开TongAgents应用开发平台网站首页,如图1所示。在该页面上有两种方法创建具身智能体的工作流:

  1. 通过菜单栏的右侧创建按钮进行创建
  2. 通过页面主窗口区域中的创建按钮进行创建。此外,在个人空间页面也可以创建具身智能体的工作流。

TongAgents应用平台首页

图1 TongAgents应用开发平台首页

其次,开始创建设备工作流Agent。将鼠标悬停在上述的任一创建按钮上,页面将会显示三个创建选项,分别是自主规划Agent,工作流Agent和设备工作流Agent,如图2所示。

创建工作流方式1

图2 创建工作流菜单

选中并点击设备工作流Agent,创建设备工作流Agent的初始页面将会打开如图3所示。

创建具身智能工作流初始页面

图3 创建具身智能工作流

该页面主要分为两个主要部分:

  1. 左侧区域为设备工作流Agent的基本信息以及对话推荐问等选项。基本信息部分由用户对该工作流Agent应用进行简要的配置和说明,如应用的标题简短描述
  2. 右侧区域为工作流的编辑区域,在该区域中可以通过拖拉拽的方式进行工作流设计和编辑。对工作流节点的操作分为添加节点,删除节点和修改节点。

创建设备工作流Agent的具体步骤

接下来我们以机器人制作咖啡为例,介绍创建设备工作流Agent的具体操作步骤和细节介绍。

1. 设置应用信息

在设备工作流Agent的创建页面(图4)中,将基本信息栏中的第一个输入框修改为:"机器人制作咖啡",第二个文本框中输入:"使用TongAgents创建创建一个具身智能体应用,使用机器人制作咖啡...",如图4所示。

设置具身智能工作流基本信息

图4 具身智能工作流的基本信息

2. 添加多模态信息提取节点

在工作流的编辑区域,以默认的输入节点为开始节点,且输入节点是不能被删除的。其它所有要添加的业务逻辑相关的工作流节点都要以输入节点为基础。

对于机器人制作咖啡来说,需要一个和用户进行交互的节点,我们希望用户可以通过语音的方式进行咖啡点单,而不是通过屏幕操作让用户输入信息。因此,我们需要添加一个多模态信息提取节点,实现从用户的语音输入中获取制作咖啡的关键信息。

在输入节点的右侧单击加号,在弹出的快捷菜单中选择具身分类下的多模态信息提取选项并点击该选项。然后可以看到,多模态信息提取节点已经添加到工作流中,并且作为输入节点的输出接收节点,如图5所示。

添加多模态信息提取节点

图5 添加多模态信息提取节点

选中多模态信息提取节点并点击,将会在右侧显示节点的配置窗口如图6,可以修改节点的名称和参数。节点名称修改后,编辑区中对应节点的名称会同步更新。节点参数用来让用户自己根据需要定义参数,每一个参数都包括三个属性分别是参数名,参数类型和描述和可选项。其中,参数名和参数类型是必填项,其它可以根据需要进行填写。

设置多模态信息提取节点

图6 设置多模态信息提取节点

在本例中,节点名称被修改为咖啡口味选择,并依次增加了三个参数,包括:

  1. beverage,类型为select
  2. ice,类型为select
  3. sugar,类型为select

表示从语音信息中提取的该参数的值须是预定义值中的其中一个,如图7所示。比如,加冰的量,预定义的值包括无冰、少冰、正常冰和多冰,那么,从语音信息中提取到的ice参数必须是这四个值中的一个。

设置信息提取参数的属性

图7 为多模态信息提取节点添加参数

Instruction字段为Agent输入给大模型的提示词,在这里Agent的角色被定义为制作咖啡的机器人

3. 添加取杯子节点

添加功能为取杯子的具身指令节点。在咖啡口味选择节点后添加一个节点,类型为具身指令节点,如图8。并在其属性编辑窗口中,将节点名称修改为取杯子。然后在command输入框中输入与机器人原子动作相匹配的命令"fetch_cup",由于该节点不需要输入参数,故无需增加参数。

具身指令节点取杯子

图8 添加具身指令节点取杯子

4. 添加加冰节点

添加功能为设置加冰的具身指令节点。在取杯子节点后添加一个节点,类型为具身指令节点,如图9。在其属性编辑窗口中,将节点名称修改为加冰。同时,在command输入框中输入与机器人原子动作相匹配的命令"set_ice_level",并为该指令增加一个输入参数,名称为ice,对应的值设置为咖啡口味选择节点下的ice参数。

具身指令节点加冰

图9 添加具身指令节点加冰

5. 添加加糖节点

添加功能为设置加糖的具身指令节点。在加冰节点后添加一个节点,类型为具身指令节点,如图10。然后,将节点名称修改为加糖,接着在command输入框中输入与机器人原子动作相匹配的命令"set_sugar_level",最后为该指令增加一个参数,名称为sugar,对应的值设置为咖啡口味选择节点下的sugar参数。

具身指令节点加糖

图10 添加具身指令节点加糖

6. 添加设置口味节点

添加功能为设置口味的具身指令节点。在加糖节点后添加一个节点,类型为具身指令节点,如图11所示。然后,单击此节点进行属性设置,在弹出的节点属性编辑窗口中修改节点名称,如"设置口味",在Command对应的输入框中输入与机器人的原子动作相匹配的命令set_beverage;接着设置Args参数,单击+增加字段按钮,在弹出的提示框中添加一个参数,名称为beverage,冰将对应的值设置为咖啡口味选择节点下的beverage参数。

具身指令节点设置口味

图11 添加具身指令节点设置口味

7. 添加出品节点

添加功能为出品的具身指令节点。在设置口味的节点后新增一个节点,类型为具身指令节点,如图12所示。然后选中并点击新添加的节点,在弹出的节点属性编辑窗口中,将节点名称设置为出品,再将Command对应的输入框中输入deliver_coffee。由于该节点无需输入参数,故不用增加参数字段。

具身指令节点出品

图12 添加具身指令节点出品

删除节点

如果需要删除工作流节点,只需要选中该工作流节点,然后点击工作流节点上方的删除图标即可,如图13所示。

删除工作流节点

图13 删除工作流节点

发布工作流

最后,点击页面顶部的发布按钮,在弹出的下拉列表中选择执行该工作流的智能体。因为,我们打算使用机械臂做咖啡,故选择列表中的机械臂类型的智能体如机械臂-001,如图14所示。

发布工作流

图14 发布工作流

发布的具身智能体工作流将会由前端页面将数据保存至工作流数据的存储服务,同时,会根据选择的智能体把工作流的描述信息包括工作流标识、以及数据传输的通道信息发送给选定的智能体。具身智能体介绍到工作流的描述信息后,将触发向工作流的后端发起工作流执行请求,开始工作流的执行过程。

以上就是使用TongAgents应用平台进行具身智能体应用开发的完整过程。