链载Ai
标题:
Palantir Ontology 助力AIP Agent落地工具介绍:Object Query
[打印本页]
作者:
链载Ai
时间:
昨天 17:49
标题:
Palantir Ontology 助力AIP Agent落地工具介绍:Object Query
大语言模型被使用后,一方面搜索增强(RAG)技术把专家知识库挂载,可以使大模型的回答更加准确。另一方面怎么给大模型提出更好的问题、提供更好的指令,这个是跟大模型精准回答同样重要。所以给到大模型指令或者提问,同样需要知识库。
Palantir就使用Ontology 知识库给到大模型指令,让大模型可以基于业务逻辑来解决问题。
基于大语言模型的Agent怎么样可以理解业务逻辑和业务对象呢?除了上面一期说到的RAG内容框定Ontology Context以外, 给大语言模型的prompt里面也要嵌入框定的对象类型和属性的元数据,帮助Agent理解业务。这个构造prompt的工具就是本期要讲的Object Query。上图说明了这个过程。
本期在讲Object Query之前先讲一下对象类型和属性的元数据。
Palantir Ontology的元数据 (Metadata Reference)在Ontology中通过元数据来唯一表示和刻画对象类型/属性,Palantir的对象类型有被12个元数据所表示,他们是:
ID:对象类型的唯一标识符,主要在配置应用程序时用于引用该类型的对象。
RID:Foundry平台中为每个资源自动生成的唯一标识符。在平台各处出现的错误信息中会引用对象类型的RID。
图标:作为对象类型视觉标识的图片与颜色组合,当用户在应用程序中查看该类型对象时显示。
显示名称:在用户应用程序中访问该类型对象时向用户展示的名称。
复数显示名称:在用户应用程序中访问多个该类型对象时向用户展示的名称。
描述:关于对象类型的说明文本,任何用户都可在应用程序中查看。
群组:用于对对象类型进行分类的标签。
API名称:在代码中通过编程方式引用对象类型时使用的名称。
可见性:向用户应用程序指示对象类型显示显著程度的参数。显著的对象类型会被应用程序优先展示给用户,隐藏的对象类型则不会显示。
状态:向用户和其他本体构建者标示对象类型开发进程的指标,可分为活跃、实验性、已弃用三种状态。
索引状态:对象类型及其支撑数据源最近一次重新索引的状态,可能为成功、失败或未开始。详细了解索引状态。
回写功能:标示对象类型是否已生成回写数据集,以及是否允许终端用户编辑该类型对象的开关设置。详细了解回写数据集。
Palantir的属性有被13个元数据所表示,他们是:
ID:属性的唯一标识符,主要在配置应用程序时用于引用该属性。
Display name:在用户应用程序中查看该属性值时向任何人显示的名称。
Description:关于该属性的解释性文本,任何人都可以在用户应用程序中阅读。
RID:为Foundry中每个资源自动生成的唯一标识符。属性的RID将在整个平台的错误消息中被引用。
Status:向用户和其他本体构建者发出的信号,表明属性在开发流程中所处的阶段。可以是“可用”、“测试中"或"已弃用"。
API名称:在代码中以编程方式引用属性时使用的名称。
Key:指示该属性是否为对象类型的标题键(title key) 或主键 (primary key)。标题键:作为此类型对象显示名称的属性。主键:作为对象类型每个实例唯一标识符的属性,这意味着后备数据源中的每一行在此属性上必须具有不同的值。
Base type:指示此属性值的类型,并决定用户应用程序中可用的操作集合。
Value formatting:根据属性的基础类型,可以应用数字格式化、日期和时间格式化、用户ID和资源ID格式化到该属性,将其原始值转换为用户应用程序中更易读的版本。
Conditional formatting:在属性上设置的规则,规定该属性值在面向用户的应用程序中如何呈现(例如颜色、对齐方式等)。
Type classes:由用户应用程序解释的附加元数据。
Render hints:向用户应用程序发出的关于如何渲染该属性的指示,可能与相同基础类型的大多数属性不同。许多渲染提示可用于影响属性所在对象类型重新索引的性能。13. Visibility:向用户应用程序发出的关于属性显示突出程度的指示。突出属性将导致应用程序首先向用户显示此属性。隐藏属性不会出现在用户应用程序中。
Visibility:向用户应用程序发出的关于属性显示突出程度的指示。突出属性将导致应用程序首先向用户显示此属性。隐藏属性不会出现在用户应用程序中。
其中,Description这个元数据是非常重要的,在组装Object Query的时候可以帮助Agent理解业务对象。
下面用一个例子来说明:
以下是在AIP Agent Studio里面开发了Agent,使用了Object Query这个工具来分析对象类型“Order”,包括9个属性:“Order ID”, “Cost Price Per Unit”, “Custmer ID”, “Customer Status”, “ Date Order Was Placed”, “Delivery Date”, “Product ID”, “Quantity Ordered”, “Total Retail Price For This Order”。图中还显示了用户编辑的给到大语言模型的Instructions。
以下是配置完毕基于业务对象“Order”和9个属性之后,系统自动组装出来给到大模型的指令,这个长指令分两部分:
第一部分工具介绍“###Object Query Tool##MCP" style="color: #576B95 !important;" data-topic="1">#”:这一部分最关键,把对象类型和属性的元数据组装到大模型指令中,用到了对象类型和属性的元数据,特别是属性API名称和属性描述两个元数据,给大模型灌输了业务逻辑,如果这两个元数据没有很好定义,大模型将无法按照要求完成任务。
在这个例子中的“CustomerStatus”的描述,把客户的状态分为三个等级“银客户、金客户、铂金客户”,如果这个描述元数据没有给到大模型,或者没有说清楚,后面用户要问诸如“铂金客户的订单量是多少?”,“金客户贡献了多少订单”此类问题,Agent将无法回答。
第二部分主要是取数和运算逻辑,以及给大模型的学习例子也包括思考链路和任务拆解,这些是通用的部分,和对象类型没有关系,有兴趣的读者可以参考:
综上可以看出,基于Ontology的Agent,其实是一种面向对象的Agent,Object-Oriented Agent (OOA),这个和目前通行的面向对象编程,Object-Oriented Programming(OOP),异曲同工。
下一期将介绍Ontolgy的整体架构,敬请关注。
本期主要参考内容:
1. 案例视频 Tool Use in AIP Agents: Object Queries:
https://www.youtube.com/watch?v=o9NWiJIB1tg
2.文档:
https://www.palantir.com/docs/foundry/agent-studio/tools/
https://www.palantir.com/docs/foundry/object-link-types/object-type-metadata/
https://www.palantir.com/docs/foundry/object-link-types/property-metadata/
上一期文章:市值3000亿的Palantir是如何构造AI产品及服务(四):Ontology驱动的AIP Agent Studio介绍
欢迎光临 链载Ai (https://www.lianzai.com/)
Powered by Discuz! X3.5