使LLMs能够以正确的顺序进行正确的API调用

作者:API传播员 · 2025-12-15 · 阅读时间:5分钟
本文提出FLAP方法,一种基于图形的工作流依赖建模解码策略,用于解决大型语言模型在任务导向对话中难以遵循API调用顺序的问题。通过评分机制优化生成计划,显著减少API幻觉和冗余,提升小型模型性能,为LLM商业化应用提供高效解决方案。

引言

在大型语言模型(LLM)取得惊人成功之前,基于对话的人工智能(AI)系统研究主要沿着两条路径展开:一是聊天机器人,旨在实现开放式对话;二是面向任务的对话模型,目标是为API提取参数并代表用户执行任务。尽管LLM在开放式对话方面取得了显著进展,但在任务导向的对话领域仍面临诸多挑战。

其中一个主要难点在于,LLM在执行任务时难以遵循规定的操作顺序,尤其是在涉及复杂的工作流和API依赖关系时。例如,旅行社应用可能需要在客户预订航班后推荐租车服务;类似地,调用搜索航班选项的API必须在将城市名称转换为机场代码的API调用之后执行。


方法概述:基于图形的工作流依赖建模

为了解决上述问题,我们提出了一种基于图形的解决方案,用于表示API和工作流的依赖关系。通过这一方法,我们设计了一个提示系统,能够生成计划(plan),即一系列API调用,并为每个调用提供自然语言解释。这种方法通过以下步骤实现:

  1. 生成候选序列:给定提示,LLM预测出k个最可能的后续令牌。
  2. 向前生成:对每个候选令牌继续生成固定长度的输出序列。
  3. 评分机制:根据生成序列的语义内容及其对依赖关系图的遵守程度进行评分,最终选择得分最高的序列。

这种方法的核心在于利用依赖关系图来约束生成过程,确保API调用的顺序符合逻辑。


数据集与实验设计

数据集构建

由于现有的面向任务的对话数据集缺乏操作序列依赖的特征,我们创建了一个新的数据集。该数据集包含:

  • 13个不同的工作流:每个工作流由多个API调用组成。
  • 64个API调用:涵盖了多种任务场景。
  • 20个相关查询:每个工作流对应20种不同措辞的用户请求。

此外,每个工作流都配备了黄金标准计划,明确规定了API调用的顺序。

实验设置

我们对比了不同解码策略下的模型表现,包括:

  • 基线模型:使用贪婪解码、核采样和波束搜索等传统解码方法。
  • FLAP方法:结合依赖关系图的评分机制,优化生成计划的准确性。

实验评估指标包括:

  1. 计划偏差:生成计划与黄金标准计划的差异。
  2. API幻觉:生成不存在的API调用。
  3. API冗余:重复调用同一API。

实验结果与分析

减少计划偏差与错误

实验结果表明,FLAP方法显著减少了API幻觉和序列外生成的数量,相较于基线模型,错误率降低了一个甚至两个数量级。此外,FLAP方法生成的计划与黄金标准计划的编辑距离减少了8%至64%,具体取决于模型和解码方法的超参数设置。

提升小型模型性能

令人鼓舞的是,FLAP方法使较小规模的LLM(约70亿参数)达到了与更大规模模型(300-400亿参数)相当的性能。这一结果表明,FLAP方法在提升模型效率的同时,也降低了计算成本,为LLM的商业化应用提供了更具性价比的解决方案。


FLAP方法详解

FLAP(Flow-Adhering Planning)是一种面向任务的解码策略,其核心思想是通过评分系统引导令牌选择,使生成的计划符合API和工作流的依赖关系。具体步骤如下:

  1. 语义相似性评分:使用语义相似性模型,识别生成内容与工作流规范中最相似的步骤。
  2. 依赖关系验证:基于依赖关系图,检查当前生成的步骤是否满足前置条件。如果满足,则给予高分;否则,降低评分。
  3. API调用评分:根据API调用的执行顺序是否符合依赖关系图进行评分。
  4. 用户查询匹配:测量生成内容与用户查询之间的相似性。
  5. 语法验证:确保生成的计划遵循特定的语法格式,例如<think, API调用>

通过上述评分机制,FLAP方法能够从k个候选序列中选择最优的计划。


指令集实验与解码策略对比

我们在实验中测试了两种指令集变体:

  1. 全域指令集:包含所有工作流约束。
  2. 相关指令集:仅包含与当前任务相关的工作流。

结果显示,FLAP方法在所有测试的LLM中均优于基线模型。此外,即使在某些指标上FLAP的改进较为温和,它在其他指标上的表现通常更为显著。


未来工作方向

当前的FLAP实现能够根据用户查询生成初始计划。然而,在实际应用中,用户的意图可能会随着对话的进行而发生变化。因此,我们计划研究能够动态调整初始计划的模型,使其能够适应用户在对话中不断变化的需求。


总结

本文提出了一种基于图形的解码策略FLAP,旨在解决LLM在任务导向对话中难以遵循操作顺序的问题。实验结果表明,FLAP方法不仅显著提高了计划生成的准确性,还降低了API幻觉和冗余的发生率。此外,FLAP方法使小型LLM的性能接近大型模型,为LLM的高效商业化应用提供了新的可能性。未来,我们将进一步探索动态调整计划的能力,以更好地适应实际应用场景。

原文链接: https://www.amazon.science/blog/enabling-llms-to-make-the-right-api-calls-in-the-right-order