【免费下载链接】tool-use-multiturn-reasoning
📚tool-use-multiturn-reasoning是一个开源的多轮工具调用(multi-turn tool use)数据集,专门用于训练和评测大模型"调用工具→读取结果→再推理"的循环能力。本文带你从零读懂它的对话结构:conversations里一条记录如何从instruction走到observation,最终收敛为模型答案。
一、30秒认识这个数据集
tool-use-multiturn-reasoning 是一个Apache-2.0 协议的英文对话数据集,数据源自 BFCL(函数调用基准)生态,带有tool-use、multiturn、agentic、reasoning等标签。核心信息一眼速览:
| 项目 | 说明 |
|---|---|
| 训练样本数 | 14,579 条 |
| 数据规模 | 下载约 26.6 MB,展开约 131 MB |
| 任务类型 | question-answering(问答式工具调用) |
| 语言 | 英文 |
| 协议 | Apache-2.0 |
仓库非常精简,只有两个部分:
- 元信息与字段定义:README.md
- 唯一的数据文件:data/train-00000-of-00001.parquet
二、5个字段:一张表看懂数据骨架
打开数据后你只会看到 5 个字段,含义如下:
| 字段 | 类型 | 含义 |
|---|---|---|
conversations | 列表 | 核心字段,按时序排列的{from, value}对话轮次 |
tools | 字符串 | 本任务可调用工具的 JSON 定义(JSON Schema) |
task | 字符串 | 样本所属的具体任务 |
category | 字符串 | 任务分类,方便分层采样 |
source | 字符串 | 数据来源 |
其中conversations是全文 80% 的阅读重点,tools定义了模型"能调用什么",task/category/source则用于筛选和统计分析。
三、conversations 详解:从 instruction 到 observation 的完整回合
这是多轮工具调用数据区别于普通问答的关键。每一轮对话由两个键组成:
from:角色标签,决定这一轮"是谁在说"value:该轮的具体文本内容
一条典型样本的回合顺序如下:
system—— 系统指令,交代可用工具与输出约定human(instruction)—— 用户提出的初始请求gpt(function_call)—— 模型发起的第一次工具调用,value通常是一段 JSON(工具名 + 参数)observation—— 工具被真实执行后的返回结果- 第 3~4 步可循环多轮(这正是"多轮"的含义)
- 最后一轮
gpt—— 模型汇总所有 observation,给出最终自然语言答案
用一个极简 JSON 感受一下这个结构:
[ {"from": "system", "value": "你可以调用 get_weather(city),请基于结果回答……"}, {"from": "human", "value": "旧金山今天天气怎么样?"}, {"from": "gpt", "value": "{\"name\": \"get_weather\", \"arguments\": {\"city\": \"San Francisco\"}}"}, {"from": "observation", "value": "{\"temperature\": 18, \"condition\": \"cloudy\"}"}, {"from": "gpt", "value": "旧金山今天多云,气温 18°C。"} ]💡记忆技巧:human提出问题,gpt负责"调工具"和"说答案",observation永远只代表"环境反馈"。看到observation就想到"这是执行结果,不是模型说的"。
读懂数据时的三个检查点
- 调用格式是否合法:
gpt轮的value解析后应是合法 JSON,且工具名存在于tools字段中 - observation 是否对应:每一次工具调用后面必须紧跟一条对应的
observation - 结尾是否收敛:样本应以一轮不带工具调用的最终答案收尾
四、tools 字段:工具定义在哪里
tools是一个 JSON 字符串,内含本任务全部可调用工具的 JSON Schema 定义(函数名、参数、类型说明)。它相当于模型的"工具说明书":
- 做微调时,它通常要拼进
system提示或独立的消息字段 - 做校验时,用它判断模型发出的调用是否在允许范围内
五、快速上手:两步打开数据文件
先克隆仓库(仓库地址:https://gitcode.com/hf_mirrors/interstellarninja/tool-use-multiturn-reasoning ):
git clone https://gitcode.com/hf_mirrors/interstellarninja/tool-use-multiturn-reasoning⚠️ 注意:数据文件由Git LFS管理。如果拉下来的 parquet 文件只有几百字节(是 LFS 指针),请再执行一次
git lfs pull获取真正的 26.6 MB 数据。
然后用 pandas 即可读取:
import pandas as pd df = pd.read_parquet("data/train-00000-of-00001.parquet") print(df.shape) # (14579, 5) print(df.iloc[0]["conversations"][0]) # 查看第一条样本的 system 轮字段定义可对照 README.md 中的dataset_info元数据,数据本体在 data/train-00000-of-00001.parquet。
六、拿到数据能做什么?
- 🎯SFT 微调:把
conversations转换成"指令-回应"训练对,训练模型的多轮函数调用能力(重点保留observation轮,它是多轮推理的命脉) - 📊分布分析:按
task/category统计任务覆盖,按conversations长度统计平均调用轮数 - 🧪能力评测:用同一批任务做工具调用正确率、多轮成功率评测
七、总结
一句话回顾多轮工具调用格式的阅读路线:system定规矩 →human发 instruction →gpt发 function_call →observation回执行结果 → 循环多轮 →gpt给最终答案。掌握了这条主线,再配合tools字段做合法性校验,你就可以自如地驾驭 tool-use-multiturn-reasoning 中的全部 14,579 条样本了。
【免费下载链接】tool-use-multiturn-reasoning
相关推荐
10分钟搞懂tool-use-multiturn-reasoning数据集:1.4万条多轮工具调用对话,专治Agent训练难题
10分钟搞懂tool use multiturn reasoning数据集:1.4万条多轮工具调用对话,专治Agent训练难题 正在训练大模型工具调用(Tool
tool-use-multiturn-reasoning实战:14579条多轮工具调用数据实现ReAct式多步推理的完整指南
tool use multiturn reasoning实战:14579条多轮工具调用数据实现ReAct式多步推理的完整指南 tool use multitur
Duix Mobile开源数字人SDK移动端落地指南
Duix Mobile开源数字人SDK移动端落地指南 Duix Mobile 是 duix.com 开源的端侧实时交互式 AI 数字人 SDK,适合想在手机、平
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考