免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

详解Palantir AIP的两个利器:LLM和Tool

发布日期:2025-12-01 08:05:24 浏览次数: 1515
作者:壹号讲狮

微信搜一搜,关注“壹号讲狮”

推荐语

Palantir AIP的两大核心组件揭秘:LLM实现智能决策,Tool赋予执行能力,让AI真正落地业务场景。

核心内容:
1. UseLLM节点与Tool工具的核心作用解析
2. Callfunction工具配置四步法详解
3. 参数映射的三种模式与返回值处理策略

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

在Palantir AIP的Logic模块中,UseLLM节点是核心逻辑块,而Tool则是让LLM具备行动能力的关键。LLM通过工具Tool跟客户业务进行深度交互。所谓从决策到行动,主要靠的是LLM和Tool这两个利器。

最重要的两个工具是调用函数(executefunciton)和执行操作(applyaction)这两个。

一、调用函数(Callfunction)工具

给LLM配置Callfunction意味着允许LLM根据用户的指令,自主决定调用Foundry中预先定义好的TypeScript函数或由logic编排好的logic函数。

在AIPLogic中配置之前,必须在有一个已经发布好Function。函数定义时必须有明确的入参和返回值。文档注释是最关键的一点。LLM看不懂代码逻辑,它只能通过写的函数注释(/**...*/)来理解这个函数是做什么的、参数需要什么格式。

配置步骤详解

第一步:添加UseLLM节点

在AIPLogic的编辑器画布上,添加一个"UseLLM"块。

第二步:启用Tools(工具)

点击选中"UseLLM"节点。在右侧(或底部)的配置面板中,找到Tools部分。

点击Addtool(添加工具)。

在弹出的菜单中选择Callfunction。

第三步:选择目标函数

在出现的搜索框中,输入编写好的函数名称,并选中该函数。

第三步:配置参数映射

这是配置的核心。当选中函数后,你会看到该函数定义的所有输入参数。需要告诉AIPLogic如何处理这些参数。

通常有以下几种模式:

  • LLMGenerated(由LLM生成)

    •   推荐用法:希望LLM根据用户的自然语言Prompt提示词自动分析出应该填入什么参数。例如:用户说“帮我查询ID为123的订单”,函数需要orderId。LLM会自动提取123并填入。

        配置方法:通常保持默认,或者选择"Inferfromcontext"/"Modelgenerated"。此时,LLM会读取函数的参数名称和类型定义来生成JSON。

  • Fixed/StaticValue(固定值)

    •   无论用户说什么,这个参数永远传入一个固定的值。比如有一个通用查询函数,但在这个Logic中只想让它查询“Active”状态的条目,可以将status参数硬编码为"Active"。

  • Variable(变量映射)

    •   将Logic流程中上一步骤产生的变量直接传给函数,而不让LLM去猜。

第四步:配置函数执行后的行为

当LLM决定调用函数后,AIPLogic会暂停LLM的生成,去后台执行这个函数,然后拿到返回值。需要决定拿到返回值后做什么:

  • FeedbacktoLLM(传回给LLM)

    1.   默认行为。函数的返回值(例如查询到的库存数量、更新成功的消息)会被作为上下文再次喂给LLM。LLM会根据返回值生成最终的自然语言回复。例如:“库存查询成功,当前剩余50件。”

  • PasstoLogicOutput(输出到Logic变量)

      1.   如果只是利用LLM来做意图识别并提取参数来运行函数,而不需要LLM再说话,可以直接把函数的结果作为整个Logic的输出。

      为了让Callfunction准确工作,以下几点至关重要:

      (1)良好的函数描述(DescriptionisKing)

      LLM是根据函数的DisplayName和Description来决定是否调用该工具的。

      代码示例:

      codeTypeScript

      /** *Searchesforemployeesbasedontheirdepartmentandrole. *Usethiswhentheuseraskstofindstafflists. * *@paramdepartmentThedepartmentcode(e.g.,'IT','HR') *@paramroleThejobtitle */@Function() publicsearchEmployees(department:string,role:string):Promise<Employee[]>{...}

      如果描述写得含糊不清(例如只写了"Searchfunction"),LLM可能不知道何时使用它,或者参数提取错误。

      (2)尽量使用简单类型

      虽然FoundryFunctions支持传递对象(Objects),但在AIPLogic的Tool调用中,让LLM生成String(字符串),Number(数字),Boolean(布尔值)或Date(日期)是最稳定的。尽量避免让LLM直接构造复杂的JSON对象作为参数,除非模型非常强(如GPT-5)。

      (3)错误处理

      LLM可能会产生幻觉参数(比如捏造一个不存在的ID)。函数内部应该包含try-catch或逻辑判断,如果查不到数据,应该返回清晰的字符串(如"NoorderfoundwithID123"),而不是直接抛出代码异常。这样LLM收到"Noorderfound"后,可以优雅地回复用户“抱歉,没找到这个订单”。

      假设配置了一个updateCustomerEmail(id,newEmail)的函数工具。

      用户输入:“把ID是C-001的客户邮箱改为test@example.com”。

      UseLLM节点

      1.   接收Prompt。

      1.   查看可用工具列表。

      1.   判定:用户的意图匹配updateCustomerEmail的描述。

      1.   提取参数:id="C-001",newEmail="test@example.com".

      1.   生成结构化调用请求(SystemAction)。

      AIPLogic引擎

      1.   拦截调用请求。

      1.   在Foundry后端执行函数。

      1.   获取返回值:{success:true,message:"Emailupdated"}.

      UseLLM节点(再次被激活):

      1.   看到函数的返回值。

      1.   生成最终回复:“已成功将客户C-001的邮箱更新为test@example.com。”

      配置Callfunction的核心不在于界面点击,而在于函数的语义化定义。确保函数名、参数名和注释清晰易懂,LLM就能像人类开发者一样准确地调用它。

      二、执行操作(applyaction)工具

      在Palantir AIPLogic中,配置UseLLM节点以使用Tool(工具)中的ApplyAction(执行动作)是一个强大的功能。这允许LLM根据对话上下文,自主决定修改本体(Ontology)中的数据、如创建对象、更新属性、删除对象等。

      在AIPLogic中配置之前,必须确保在OntologyManager(本体管理器)中已经定义好了相应的Action(行动)。

      例如:有一个名为UpdateCaseStatus的Action,它接受CaseIDNewStatus作为参数。关键点是确保在OntologyManager中为该Action及其参数编写了清晰的Description(描述)。LLM极其依赖这些描述来理解何时调用该工具以及如何填充参数。

      详细配置步骤

      (1)添加或选择"UseLLM"节点

      在Logic流程图中,添加一个新的UseLLM节点(或者点击已有的节点)。

      (2)启用Tools(工具)功能

      在右侧的配置面板中,向下滚动找到Tools部分。点击Addtool(添加工具)按钮。在弹出的菜单中,选择Actions。

      (3)选择具体的Action

      系统会弹出一个选择框,列出所有可用的Ontology Actions。搜索并选择想要授权给LLM使用的那个Action(例如UpdateCaseStatus)。选中后,点击确认。

      (4)配置Action参数

      这是最关键的一步。当Action被添加到工具列表中后,会看到它的参数列表。通常有两种配置模式,但在UseLLM的Tool语境下,我们主要依赖自动推断(LLM Inferred)

      • Infer from context(从上下文推断):

        •   默认情况下,Palantir会让LLM根据用户的Prompt和对话历史自动决定填入什么参数。原理是LLM会先读取Action的定义(例如参数TargetDate是日期类型),然后分析Prompt(例如“把截止日期推迟到下周五”),自动计算并填入NextFriday的具体日期。

      • Force/Hardcode(强制指定-较少用):

        •   如果希望某个参数永远是固定值(例如ModifiedBy永远填"AIBot"),可以手动锁定该参数的值,不让LLM自由发挥。

      (5)编写Prompt提示词工程

      仅仅添加了工具是不够的,需要在Prompt中引导LLM使用它。

      • System Prompt(系统提示词): 明确告诉LLM它的角色和权限。比如"你是一个客服助手。当用户要求更改工单状态时,请使用提供的UpdateCaseStatus工具。在调用工具前,请确保你已经有了工单ID和新的状态。"

      • Few-ShotExamples(少样本示例-可选但推荐):

        •   在配置面板中,可以提供示例(Examples)。

            UserInput:"把工单123关掉。"

            ModelOutput:(展示模型应该如何生成ToolCall的结构,通常AIP界面里有专门的Example录入区,或者直接写在Prompt里)。

      当配置好并运行Logic时,流程如下:

      (1)输入分析: LLM接收用户输入(例如:“把当前这个案子的优先级改为高”)。

      (2)工具检索: LLM查看它可用的Tools列表,读取UpdateCasePriorityAction的描述。

      (3)推理决策: LLM判断:“用户的意图匹配UpdateCasePriority工具。”

      (4)参数提取: LLM从上下文中提取CaseID(可能来自前序节点的变量)和Priority=High

      (5)生成调用请求(ToolCall):

      1.   注意在AIPLogic的某些配置模式下,LLM节点输出的是一个"建议的动作调用"(Proposed Action),而不是直接在数据库中执行。如果节点配置为Execute Tools(执行工具):Logic引擎会拦截这个调用请求,实际去执行OntologyAction,并将执行结果(成功/失败)返回给LLM。如果节点配置仅为Plan(规划):它会输出一个JSON格式的计划,用户需要后续接一个专门的ApplyAction节点来实际执行。但在最新的"Use LLM"增强版中,通常勾选"Allow execution"即可自动闭环。

      Apply action工具配置中,描述至关重要,如果在Ontology中Action的参数名为p_id,LLM可能看不懂。需要在Ontology Manager中将其描述为"The unique identifier of the project"。LLM依靠这些元数据来准确填参。

      为了确保安全性,不要给LLM具有破坏性的Action(如DeleteAllData),除非有严格的审批流。AIPLogic通常运行在当前用户的权限上下文中。如果用户没权限执行该Action,LLM调用也会失败。

      处理歧义也至关重要,在Prompt中指示LLM:如果缺少必要参数(例如用户只说了“改状态”但没说改成什么),不要瞎猜,而是反问用户获取更多信息,然后再调用工具。

      通过使用Logic的Debugger模式可以看到LLM输出的原始思维链(Chain of Thought),检查它是否正确识别了工具,以及它提取的参数值是否正确。

      配置Apply Action的核心在于在Use LLM节点的Tools栏位中挂载Ontology Action,并依赖Ontology中良好的元数据描述配合清晰的Prompt指令,让LLM能够自动推断参数并发起调用。


      53AI,企业落地大模型首选服务商

      产品:场景落地咨询+大模型应用平台+行业解决方案

      承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

      联系我们

      售前咨询
      186 6662 7370
      预约演示
      185 8882 0121

      微信扫码

      添加专属顾问

      回到顶部

      加载中...

      扫码咨询