five

ToolAlpaca|工具使用数据集|API文档数据集

收藏
github2023-06-01 更新2025-02-07 收录
工具使用
API文档
下载链接:
https://github.com/tangqiaoyu/ToolAlpaca
下载链接
链接失效反馈
资源简介:
ToolAlpaca数据集旨在提升模型使用常见工具的能力,包含总共3928个实例和超过400种工具。在构建过程中,从一个公共API仓库中随机选取了500个API作为起点,随后利用模型生成更全面的文档,从而形成一个多样化的工具集合。

The ToolAlpaca dataset is designed to enhance models' ability to utilize common tools, encompassing a total of 3928 instances and over 400 types of tools. During its construction, 500 APIs were randomly selected from a public API repository as starting points, followed by the generation of more comprehensive documentation using the model to form a diverse collection of tools.
提供机构:
中文信息处理实验室等
创建时间:
2023-06-01
原始信息汇总

ToolAlpaca数据集概述

数据集简介

  • 名称:ToolAlpaca
  • 目的:为紧凑型语言模型提供广义工具学习能力,最小化人类监督
  • 特点:通过多智能体模拟环境生成工具使用语料库,包含3.9k工具使用实例,覆盖400+工具

数据集组成

  • 训练数据train_data.json(400+ API)
  • 评估数据
    • eval_simulated.json(10个模拟API)
    • eval_real.json(11个真实API,部分需认证)

数据格式

json { "Name": "API名称", "Description": "API描述", "Category": "API类别", "Introduction": "LLM生成的介绍", "Functions": "LLM生成的NLDocumentation", "Documentation": "LLM生成的OpenAPI规范文档", "NLDocumentation": "自然语言文档", "Function_Description": "各功能描述", "Function_Projection": "功能到HTTP请求方法的映射", "Instructions": "LLM生成的指令", "Instances": [ { "input": "用户初始指令", "output": "最终输出", "Final Thought": "输出前的最终思考", "intermediate_steps": [ [ ["动作", "动作输入", "思考+动作+动作输入"], "观察结果" ] ] } ] }

数据集生成步骤

  1. 克隆仓库并安装依赖 bash git clone git@github.com:tangqiaoyu/ToolAlpaca.git cd ToolAlpaca pip install -r requirements.txt

  2. 下载公共API数据 bash python tool_maker/preprocess_public_apis.py -api data/public_apis.json

  3. 工具集构建 bash python tool_maker/get_elements.py -api data/public_apis.json -out ./data python tool_maker/natural_language_documentation.py -api ./data/api_data.json

  4. 工具使用实例生成 bash python instance_generation/instruction.py -api ./data/api_data.json -out ./data python instance_generation/simulator.py -api ./data/api_data.json python instance_generation/generation.py -api ./data/api_data.json -out ./data --use_cache

训练方法

bash deepspeed --num_gpus=2 --master_port=12345 train.py --model_name_or_path ${base_model_path} --data_path ${data_path} --output_dir outputs/vicuna-7b-toolalpaca/ --num_train_epochs 3 --per_device_train_batch_size 32 --learning_rate 2e-5

预训练模型

评估方法

  • 模拟API评估: bash python instance_generation/simulator.py -api ./data/eval_simulated.json python instance_generation/generation.py -api ./data/eval_simulated.json -out ./eval -llm TangQiaoYu/ToolAlpaca-13B python evaluation.py -api ${api_data_path} -out ./eval

  • 真实API评估: bash python instance_generation/generation.py -api ./data/eval_real.json -out ./data -llm TangQiaoYu/ToolAlpaca-13B --real python evaluation.py -api ${api_data_path} -out ./eval

引用

bibtex @misc{tang2023toolalpaca, title={ToolAlpaca: Generalized Tool Learning for Language Models with 3000 Simulated Cases}, author={Qiaoyu Tang and Ziliang Deng and Hongyu Lin and Xianpei Han and Qiao Liang and Le Sun}, year={2023}, eprint={2306.05301}, archivePrefix={arXiv}, primaryClass={cs.CL} }

AI搜集汇总
数据集介绍
main_image_url
构建方式
ToolAlpaca数据集的构建依托于多智能体模拟环境,通过生成工具使用语料库来支持语言模型的工具学习能力。该数据集包含了超过400种工具的3900个工具使用实例,涵盖了从公开API中提取的工具信息,并通过大语言模型生成的自然语言文档进行补充。数据集的构建过程包括从公开API中提取数据、生成自然语言文档以及模拟工具使用实例,最终形成一个结构化的工具学习语料库。
特点
ToolAlpaca数据集的特点在于其广泛覆盖的工具类型和丰富的工具使用实例。数据集不仅包含了400多种工具的详细描述和功能文档,还通过大语言模型生成了自然语言形式的工具使用说明和示例。此外,数据集还提供了模拟和真实API的评估数据,支持对语言模型工具学习能力的全面测试。数据格式清晰,包含了工具名称、描述、功能映射以及使用实例的详细步骤,便于研究人员进行深入分析。
使用方法
ToolAlpaca数据集的使用方法包括数据下载、工具集构建和工具使用实例生成。用户可以通过克隆GitHub仓库并安装依赖包来获取数据集。随后,通过运行预定义的脚本,用户可以从公开API中提取数据并生成自然语言文档。工具使用实例的生成则通过模拟环境完成,用户可以根据需求生成训练或评估数据。训练模型时,用户需将数据集组织为标准SFT训练格式,并使用提供的训练脚本进行模型优化。评估阶段则支持对模拟和真实API的测试,用户可通过指定模型和提示模板来生成评估结果。
背景与挑战
背景概述
ToolAlpaca数据集由Qiaoyu Tang等人于2023年提出,旨在通过多智能体模拟环境生成工具使用语料库,以提升紧凑型语言模型的工具使用能力。该数据集包含超过400种工具的3900个工具使用实例,涵盖了广泛的API操作。其核心研究问题在于如何在最小化人类监督的情况下,使语言模型具备泛化的工具使用能力。ToolAlpaca的提出为自然语言处理领域中的工具学习任务提供了新的研究范式,推动了语言模型在实际应用中的工具交互能力。
当前挑战
ToolAlpaca数据集面临的挑战主要体现在两个方面。首先,在领域问题层面,如何使语言模型在复杂的工具使用场景中准确理解并执行API调用仍是一个难题,尤其是在涉及多步骤操作和动态环境交互时。其次,在数据集构建过程中,生成高质量的工具使用实例需要克服模拟环境的真实性和多样性问题,同时还需确保生成的语料库能够覆盖广泛的工具类别和操作场景。此外,如何有效评估模型在真实API环境中的表现,尤其是在涉及认证和动态数据的情况下,也是一个亟待解决的挑战。
常用场景
经典使用场景
ToolAlpaca数据集在自然语言处理领域中被广泛应用于工具学习的研究。通过多智能体模拟环境生成工具使用语料库,该数据集为语言模型提供了丰富的工具使用实例,涵盖了400多种工具和3900多个工具使用场景。研究人员可以利用这些数据来训练和评估语言模型在工具使用任务中的表现,尤其是在无需大量人工监督的情况下,提升模型的泛化能力。
衍生相关工作
ToolAlpaca数据集衍生了一系列相关研究工作,特别是在工具学习和语言模型泛化能力方面。例如,基于该数据集的研究成果已被应用于开发更高效的多智能体协作系统,以及提升语言模型在复杂任务中的推理能力。此外,该数据集还为其他工具学习框架提供了基准测试数据,推动了该领域的标准化和进一步发展。
数据集最近研究
最新研究方向
在自然语言处理领域,ToolAlpaca数据集的最新研究方向聚焦于提升语言模型在工具使用方面的泛化能力。通过多智能体模拟环境生成工具使用语料库,该数据集提供了超过400种工具的3900个工具使用实例,极大地丰富了语言模型在工具学习中的训练数据。当前研究热点包括如何通过最小化人类监督,使紧凑型语言模型能够高效地学习和应用多种工具。这一研究方向不仅推动了语言模型在实际应用中的智能化水平,还为解决复杂任务提供了新的可能性。ToolAlpaca的推出,标志着工具学习领域的一个重要里程碑,其影响深远,为未来的研究和应用奠定了坚实的基础。
以上内容由AI搜集并总结生成
用户留言
有没有相关的论文或文献参考?
这个数据集是基于什么背景创建的?
数据集的作者是谁?
能帮我联系到这个数据集的作者吗?
这个数据集如何下载?
点击留言
数据主题
具身智能
数据集  4098个
机构  8个
大模型
数据集  439个
机构  10个
无人机
数据集  37个
机构  6个
指令微调
数据集  36个
机构  6个
蛋白质结构
数据集  50个
机构  8个
空间智能
数据集  21个
机构  5个
5,000+
优质数据集
54 个
任务类型
进入经典数据集
热门数据集

中国裁判文书网

中国裁判文书网是中国最高人民法院设立的官方网站,旨在公开各级法院的裁判文书。该数据集包含了大量的法律文书,如判决书、裁定书、调解书等,涵盖了民事、刑事、行政、知识产权等多个法律领域。

wenshu.court.gov.cn 收录

Yahoo Finance

Dataset About finance related to stock market

kaggle 收录

AIS数据集

该研究使用了多个公开的AIS数据集,这些数据集经过过滤、清理和统计分析。数据集涵盖了多种类型的船舶,并提供了关于船舶位置、速度和航向的关键信息。数据集包括来自19,185艘船舶的AIS消息,总计约6.4亿条记录。

github 收录

CMAB

CMAB数据集由清华大学创建,是中国首个全国范围的多属性建筑数据集,涵盖了3667个自然城市,总面积达213亿平方米。该数据集通过集成多源数据,如高分辨率Google Earth影像和街景图像,生成了建筑的屋顶、高度、功能、年龄和质量等属性。数据集的创建过程结合了地理人工智能框架和机器学习模型,确保了数据的高准确性。CMAB数据集主要应用于城市规划和可持续发展研究,旨在提供详细的城市3D物理和社会结构信息,支持城市化进程和政府决策。

arXiv 收录

CE-CSL

CE-CSL数据集是由哈尔滨工程大学智能科学与工程学院创建的中文连续手语数据集,旨在解决现有数据集在复杂环境下的局限性。该数据集包含5,988个从日常生活场景中收集的连续手语视频片段,涵盖超过70种不同的复杂背景,确保了数据集的代表性和泛化能力。数据集的创建过程严格遵循实际应用导向,通过收集大量真实场景下的手语视频材料,覆盖了广泛的情境变化和环境复杂性。CE-CSL数据集主要应用于连续手语识别领域,旨在提高手语识别技术在复杂环境中的准确性和效率,促进聋人与听人社区之间的无障碍沟通。

arXiv 收录