ibm-research/nestful
收藏Hugging Face2025-05-22 更新2025-02-15 收录
下载链接:
https://hf-mirror.com/datasets/ibm-research/nestful
下载链接
链接失效反馈官方服务:
资源简介:
NESTFUL是一个用于评估大型语言模型(LLM)在嵌套API调用序列上的性能的基准数据集。该数据集包含超过1800个嵌套序列,主要来自数学推理和编码工具两个领域。数学推理部分来源于MathQA数据集,而编码部分来源于StarCoder2-Instruct数据集。数据集中的所有函数调用都是可执行的。每个样本包含用户查询、可用的工具目录、地面真实函数调用序列以及执行这些函数调用后的最终答案。
NESTFUL is a benchmark to evaluate LLMs on nested sequences of API calls. The dataset includes over 1800 nested sequences from two main areas: mathematical reasoning and coding tools. The mathematical reasoning portion is derived from the MathQA dataset, while the coding portion is derived from the StarCoder2-Instruct dataset. All function calls in the dataset are executable, and each sample consists of a user query, a catalog of available tools, a ground truth sequence of function calls, and the final answer after executing these function calls.
提供机构:
ibm-research搜集汇总
数据集介绍

构建方式
在大型语言模型(LLM)与外部工具交互的研究浪潮中,函数调用能力成为衡量模型实用性的关键维度。NESTFUL数据集专为评估模型处理嵌套API调用序列而设计,即一个API调用的输出作为后续调用的输入。该数据集包含超过1800个嵌套序列,其构建依托两大领域:数学推理部分源自MathQA数据集,编码工具部分则基于StarCoder2-Instruct数据集。所有函数调用均为可执行状态,确保了评估的真实性与可复现性。
特点
NESTFUL数据集的核心特色在于其嵌套函数调用的结构复杂性。每条样本包含用户查询(input)、可用工具目录(tools)、标准答案函数序列(output)及最终执行结果(gold_answer)。其中,output序列中的每个函数调用通过标签(label)传递中间结果,例如"$var_1",并在后续调用的参数中引用先前函数的输出,如"$var_2.result$",这种设计精准模拟了现实场景中API链式调用的依赖关系。
使用方法
使用NESTFUL数据集时,研究者可直接加载HuggingFace上的数据集,其中tools、output和gold_answer字段以字符串形式存储,需通过json.loads解析tools和output字段,使用eval解析gold_answer字段以还原原始类型。可执行函数的具体实现需从GitHub仓库获取。该数据集适用于文本生成任务,尤其适合评估LLM在复杂工具调用场景下的规划与变量管理能力,例如测试模型能否正确分配变量标签、利用API输出参数细节并避免参数传递错误。
背景与挑战
背景概述
随着大语言模型在复杂任务中的广泛应用,函数调用能力成为评估其智能水平的关键维度。现有基准多聚焦于单步或简单链式调用,然而现实应用常要求模型处理嵌套序列——即前一API调用的输出直接作为后续调用的输入。为填补这一空白,IBM研究院的研究团队于2024年创建了NESTFUL数据集,由Kinjal Basu、Ibrahim Abdelaziz等学者主导开发。该数据集包含超过1800个嵌套序列样本,覆盖数学推理与编码工具两大领域,分别源自MathQA与StarCoder2-Instruct数据集。NESTFUL的提出,为检验大语言模型在嵌套函数调用中的规划与执行能力提供了标准化测试平台,对推动智能代理技术的发展具有里程碑意义。
当前挑战
NESTFUL所揭示的核心挑战在于嵌套函数调用的复杂性。首先,模型需理解并执行多步依赖的API序列,这要求其具备超越简单链式推理的规划能力。实验表明,最佳模型在15个开源模型(参数规模1B至405B)中表现仍不理想,暴露出三个典型问题:变量分配困难、未能利用API规范中的输出参数细节、以及错误传递变量名与输出参数至后续调用。其次,数据构建过程本身亦充满挑战,需从现有数学与编码数据中自动生成可执行的嵌套序列,并确保工具定义与调用逻辑的一致性与准确性。这些障碍不仅考验模型的推理深度,也对数据集的生态构建提出了严苛要求。
常用场景
经典使用场景
NESTFUL数据集专为评估大语言模型在嵌套式API调用序列上的能力而设计,其核心场景聚焦于数学推理与编程工具两大领域。在数学推理方面,数据集基于MathQA构建,要求模型通过多步函数调用来解决复杂算术问题,例如计算区间内特定整数的平均值;在编程工具方面,则源自StarCoder2-Instruct,涉及代码生成与工具链衔接。每个样本均包含用户查询、可用工具集、标准答案及可执行的函数序列,其中函数调用之间通过变量标签形成依赖关系,输出结果需作为后续调用的输入,从而模拟真实世界中API调用的递进逻辑。这一设计使得NESTFUL成为检验模型在结构化任务中执行多步推理与工具编排能力的标杆。
实际应用
在实际应用中,NESTFUL所模拟的嵌套函数调用场景广泛存在于自动化工作流、智能助手与软件开发等领域。例如,在数据分析管道中,一个模型可能需要先调用API获取数据集,再执行过滤、聚合与可视化等操作,每一步的输出都直接决定后续步骤的输入。NESTFUL的训练数据与评估指标可被直接用于增强企业级AI代理的鲁棒性,帮助其准确完成多步骤任务,如自动化报告生成、代码调试与API编排。此外,该数据集的高可执行性使得开发者能够将其集成到持续集成/持续部署流水线中,作为模型上线前的关键验证环节,从而降低因函数调用错误导致的系统故障风险。
衍生相关工作
NESTFUL的发布催生了一系列相关研究工作。一方面,研究者基于该数据集提出了针对嵌套序列的微调策略,如通过因果语言建模与强化学习结合来优化模型在变量绑定与依赖追踪上的表现。另一方面,围绕NESTFUL衍生出若干增强型工具集,例如可执行的函数库扩展至更多领域(如数据库查询与Web API),并引入对抗性样本以测试模型的鲁棒性。此外,该数据集还被用于对比不同模型架构(如MoE与Transformer变体)在工具链推理上的效率差异,并启发了关于函数调用中错误传播与恢复机制的理论分析。这些工作共同推动了智能代理从单步指令执行向复杂任务自主规划的方向演进。
以上内容由遇见数据集搜集并总结生成



