找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 48|回复: 0

重新调用:重写工具调用以实现零次工具检索

[复制链接]

545

主题

0

回帖

1677

积分

金牌会员

积分
1677
发表于 2024-12-2 21:58:55 | 显示全部楼层 |阅读模式
我们提出了 Re-Invoke,一种无监督的工具检索方法,它可以根据具有多种潜在意图的用户查询从大型工具集中有效且高效地检索最相关的工具。
使用外部工具来增强大型语言模型 (LLM),而不是仅仅依靠其内部知识,可以释放其解决更具挑战性问题的潜力。这种“工具学习”的常见方法分为两类:(1) 监督方法来生成工具调用函数,或 (2) 上下文学习,使用描述预期工具用途的工具文档以及少量演示。工具文档提供有关工具功能及其调用方法的说明,使 LLM 能够掌握各个工具。
但是,这些方法在扩展到大量工具时面临着实际挑战。首先,它们受到输入令牌限制的影响。不可能在单个提示中提供整个工具列表,即使可能,LLM 仍然常常难以有效地处理来自冗长输入上下文的相关信息。其次,工具池在不断发展。LLM 通常与经过标记的查询-工具对训练的检索器配对,以推荐工具候选名单。但是,理想的 LLM 工具包应该庞大而动态,工具经常更新。提供和维护标签来训练检索器以适应如此广泛且不断发展的工具集是不切实际的。最后,必须应对模糊的用户意图。查询中的用户上下文可能会混淆底层意图,而无法识别它们可能会导致调用错误的工具。
在EMNLP 2024上发表的“ Re-Invoke:用于零样本工具检索的工具调用重写”中,我们介绍了一种专为工具学习而设计的新型无监督检索方法,以应对这些独特的挑战。Re-Invoke 利用 LLM 来丰富工具文档和提取用户意图,以增强各种用例中的工具检索性能。我们证明,所提出的 Re-Invoke 方法在工具使用基准数据集上涵盖单工具和多工具检索任务的基线方面持续且显着地改进了基线。
重新调用
工具检索任务被表述为,给定描述预期工具用途的工具文档列表,检索下游代理可以执行以满足用户查询的最相关工具。Re-Invoke 是一种完全无监督的工具检索方法,专为此类任务而设计。它由两个核心组件组成:
查询生成器:对于每个工具文档,LLM 都会生成各种由所提供工具回答的综合查询。这些查询丰富了工具文档,然后在离线提取工具文档时将其编码到嵌入空间中。
查询意图提取器:在线推理期间,LLM 从用户查询中提取与工具相关的核心意图,过滤掉不相关的背景内容。然后,将每个用户意图编码到与工具文档相同的嵌入空间中,以进行相似性匹配。
由于可以从用户查询中提取的每个意图中检索出不同的相关工具,因此我们引入了一种新颖的多视图相似度排名方法来考虑用户查询中表达的所有与工具相关的意图。我们根据每个意图中的相关性得分对工具进行单独排名,并从每个意图中检索出排名靠前的工具(参见下面的示例)。为了实现这一点,我们设计了一个排序函数,既考虑每个意图中检索到的工具的排名,也考虑嵌入空间中工具和意图之间的相似度得分值。提出的公式使我们能够捕获每个意图与工具文档不同方面的相关性,如合成查询所示。
实验
我们选择ToolBench和ToolE数据集来评估 Re-Invoke 的工具检索性能。这两个数据集都提供了反映真实场景的查询和真实工具文档对。ToolBench 数据集包含从RapidAPI 中心提取的 10,000 多个工具,适合大规模工具检索评估。我们使用nDCG@k 指标来评估仅考虑前k个检索到的工具的工具检索性能。我们使用相同的 ToolBench 数据集来评估将 LLM 代理与所提出的 Re-Invoke 检索方法集成时的端到端性能。
对于 Re-Invoke,我们在查询生成器中使用Google Vertex AI 的 text-bison@001 模型,采样温度为 0.7(以在模型响应中引入变化),为每个工具文档生成 10 个不同的合成查询。意图提取器中使用相同的 text-bison@001 模型(采样温度为 0.0)来合成来自用户查询的意图。然后,我们使用Google Vertex AI 的 textembedding-gecko@003 模型从增强工具文档和提取的意图中提取密集嵌入向量。对于稀疏检索方法,我们使用BM25嵌入向量。我们从扩展工具文档的多个副本中取嵌入值的平均作为工具文档的表示。我们使用其他 LLM 复制我们的实验,包括OpenAI 的 gpt-3.5 turbo 模型和Mistral AI 的 Mistral-7B-Instruct-v0.3 模型,并使用相同的提示和模型参数。请注意,这项研究主要在 2023 年 11 月进行,因此我们在实验中使用了 text-bison@001 模型。
Re-Invoke 在工具检索任务上的表现优于稀疏和密集检索基线
对于无监督稀疏检索方法,我们使用 BM25 和HyDE以及 Google Vertex AI 的 text-bison@001 模型作为主干 LLM 作为基线检索方法。在无监督密集检索方法中,我们应用 Google Vertex AI 的 textembedding-gecko@003 模型和 HyDE 以及 Google Vertex AI 的 text-bison@001 模型作为基线检索方法。nDCG@5 量化了针对真实标签的检索性能。
在所有基准数据集上,Re-Invoke 在稀疏和密集检索方法中的表现始终优于基线方法。这种改进在不同的主干 LLM 中是一致的。评估结果证明了使用合成查询增强工具文档和用户查询理解对于识别相关工具的有效性。
Re-Invoke 性能案例研究
为了定性地展示我们提出的 Re-Invoke 检索方法的性能改进,我们列出了一些使用 Re-Invoke 检索正确工具的示例。例如,当用户要求推荐有关机器学习的在线课程并需要访问相关的 PDF 或 URL 时,Re-Invoke 会识别两个意图,“推荐机器学习课程”和“访问相关 PDF 或 URL 以进行进一步阅读”。它还成功地检索了每个意图的正确工具CourseTool和PDF&URLTool。但是,基线检索方法检索CourseTool和搜索工具。
结论
我们提出了 Re-Invoke,这是一种完全无监督的工具检索方法,旨在将 LLM 工具学习扩展到大型工具集。我们利用 LLM 通过各种合成查询来增强工具文档上下文,并通过意图提取来提取与工具相关的基本意图。Re-Invoke 为可扩展的工具检索提供了全新的视角,优先考虑工具文档上下文增强和意图理解,而无需任何培训。
致谢
这项研究由 Yanfei Chen、Jinsung Yoon、Devendra Singh Sachan、Qingze Wang、Vincent Cohen-Addad、Mohammadhossein Bateni、Chen-Yu Lee 和 Tomas Pfister 进行。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|绿色天空实验室

GMT+8, 2024-12-28 02:28 , Processed in 0.077837 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表