这个案例展示了AIP如何在Agent中调用工具(此处调的是Action工具望本体中添加新的对象)、使用变量实现记忆。
关键技术:Action、变量、本体、对象、Agent Studio、LLM、workshop、Agent组件
Palantir AIP通过变量给Agent记忆能力。
Agent记忆支持两种类型的变量:string和本体对象集。
String变量实现简单记忆。
本体对象集实现复杂记忆。
我们先看一个最简单的例子,然后再看一个复杂些的例子。
第一个例子:使用String叫Agent记忆
每个变量需要配置:变量名称、变量类型、变量描述、变量缺省值。
特别是变量描述非常重要,会作为LLM的上下文的一部分来使用。变量的缺省值也可以不指定。
当然还可以控制该变量对LLM是否可见。
变量定义好之后,在prompt中可以通过/来选择引用变量。变量的值可以在agent制作时配置缺省值,也可以在workshop配置时绑定workshop中的变量。简言之:要么输入缺省值、要么绑定一个workshop其他变量
通过/引用变量。当然通过/也可以引用工具,比如agent的action工具。
配置的变量可以作为agent的输入信息,在右侧的panel中修改变量数值,这个操作和AIP Logic的输入节点中的变量十分类似,可遵照之。
在workshop中添加一个agent组件,绑定上面制作的agent,可看到该agent需要配置的输入变量。agent的输入变量是可以指定workshop中其他变量的,这样就可以实现agent和其他组件的联动。别忘了:在workshop中变量是链接不同组件的纽带。也是链接本体和workshop组件的纽带。
第二个例子:使用本体对象给Agent记忆
我们现在创建一个本体,用来存储记忆。
这个本体有三个字段:记忆id、用户id、记忆内容。
同时给记忆本体创建三个action,用于记忆的增、删、改。
创建两个变量,一个是string类型存储用户id,另一个是本体对象类型存储用户记忆。
创建本体对象类型的变量时需要选择本体。
每个变量对应的在右侧panel上可以指定缺省值,不指定也可以。如果不指定,就意味着在workshop中绑定输入变量,即用workshop中定义的其他变量作为agent的输入。道理和在workshop中配置logic function是一模一样、注意是一模一样的,请仔细品。
创建一个action类型的工具,用于创建新的记忆,就是生成一个记忆对象。在prompt中可以通过/选择创建的这个action工具。
用户提问时,agent按照指令后台读变量的值,刚开始变量值是空的。
用户在对话中告诉agent要记住。此时,agent遵照指令调用创建记忆的action工具,准备记住用户说的内容。
用户决定是否真的让agent记忆。
用户点击会话中的创建记忆action,该action弹出画面让用户录入对应本体对象的属性值,实现在该本体中新增一个对象。
在workshop中选用该agent
在workshop中定义两个变量,一个string变量赋值为当前用户的id,一个本体对象变量赋值为记忆本体的用该用户做条件筛选出来的对象集。然后把这两个变量作为agent的输入对应上。
此时用户再和agent互动时,agent会根据记忆来回答用户的问题。
注意:aip的资料和视频有新有旧,因为AIP产品也在持续迭代,有些资料和视频是旧的,容易迷惑人,需要甄别。
| 欢迎光临 链载Ai (http://www.lianzai.com/) | Powered by Discuz! X3.5 |