遇见数据集

fable-5-traces-sft-chatml

收藏
Hugging Face2026-07-13 更新2026-07-14 收录
官方服务:

资源简介:

Fable-5 Traces SFT ChatML是一个用于智能体任务监督微调(SFT)的数据集,基于Glint-Research/Fable-5-traces原始语料库构建,该语料库包含真实的Claude Fable 5智能体会话记录。数据集的核心价值在于将原始扁平化的会话转录文本转换为标准化的ChatML消息格式,并采用OpenAI函数调用格式的结构化工具调用(tool_calls),方便用户直接用于主流训练框架(如axolotl、LLaMA-Factory、TRL等),无需自行解析格式。数据内容包含4,665个样本,每个样本代表智能体与环境的单次交互步骤,核心是`messages`数组,其中包含完整的对话历史,角色包括`user`、`assistant`和`tool`。助手回合可能包含结构化的工具调用,工具回合则包含匹配的`tool_call_id`。每个样本的最后一个助手回合是训练目标,以思维链(Chain-of-Thought)推理块开头,后跟该步骤的实际行动(工具调用或纯文本回复)。数据规模方面,样本源自60个原始会话,其中以工具调用为目标的样本有3,799条,以文本回复为目标的样本有866条。整个数据集共包含38,697次工具调用,工具类型分布广泛,主要包括Bash、Edit、Read、Write、PowerShell等,反映了真实的智能体工作(如Shell操作、文件编辑、验证循环)。每个样本的对话轮数在2到45之间,中位数为18轮,数据集约包含1,100万令牌。字段包括`messages`、`uid`/`session`、`target_type`、`context_truncated`和`tool_args_valid`。适用任务包括训练支持工具调用和复杂推理的语言模型,适用于智能体、工具使用、函数调用等任务的监督微调。限制包括所有会话轨迹均来自单一助手模型(Claude Fable 5),主要涉及编码和终端工作,可能存在风格迁移,大部分样本的对话上下文开头被截断,数据许可证为AGPL-3.0。

Fable-5 Traces SFT ChatML is a dataset designed for supervised fine-tuning (SFT) of agent tasks. It is built from the Glint-Research/Fable-5-traces original corpus, which contains real Claude Fable 5 agent session traces. The core value of this dataset lies in converting the original flattened session transcripts into a standardized ChatML message format with structured tool calls in OpenAI function calling format, eliminating the need for users to parse the format manually and making it directly usable in mainstream training frameworks (e.g., axolotl, LLaMA-Factory, TRL). The data consists of 4,665 samples, each representing a single interaction step between the agent and the environment. The core of each sample is a `messages` array containing the complete dialogue history, with roles including `user`, `assistant`, and `tool`. Assistant turns may include structured tool calls (`tool_calls`), while tool turns contain matching `tool_call_id`. The last assistant turn in each sample is the training target, always starting with a Chain-of-Thought reasoning block (`[思考]...[/思考]`) followed by the actual action for that step (a tool call or a plain text response). In terms of scale and statistics, the samples originate from 60 original sessions, with 3,799 samples targeting tool calls (`tool_use`) and 866 targeting text responses (`text`). The entire dataset contains 38,697 tool calls, with a wide distribution of tool types, primarily including Bash (15,068 calls), Edit (10,068 calls), Read (4,552 calls), Write (3,186 calls), PowerShell (1,438 calls), reflecting real agent work (e.g., Shell operations, file editing, verification loops). The number of dialogue turns per sample ranges from 2 to 45, with a median of 18 turns. The dataset contains approximately 11 million tokens. Fields include: `messages`, `uid`/`session`, `target_type`, `context_truncated`, and `tool_args_valid`. It is suitable for training language models that support tool calling and complex reasoning, applicable to tasks such as agent, tool-use, and function-calling for supervised fine-tuning. Limitations include that all session traces come from a single assistant model (Claude Fable 5) and primarily involve coding and terminal work, which may lead to style transfer. Most samples (two-thirds) have truncated dialogue context beginnings, making them suitable for learning to act mid-session but not for full dialogue modeling. The data inherits the AGPL-3.0 license from the original corpus, and commercial use requires compliance with relevant service terms due to the original traces being from a third-party assistant.

创建时间:
2026-07-09
原始信息汇总

数据集名称

Fable-5 Traces SFT ChatML

数据集简介

该数据集是 Claude Fable 5 智能体(Agent)会话轨迹语料库的重新格式化版本。它将原始数据集中的扁平化转录字符串,解析并重构为标准 ChatML 消息格式,并采用 OpenAI 风格的函数调用结构。数据集可直接用于支持聊天模板的 SFT 训练框架(如 Axolotl、LLaMA-Factory、TRL 等),无需额外的格式处理。

数据集规模与统计

  • 样本数量:4,665 个(每个样本为一个智能体步骤)
  • 来源会话数:60 个独立会话
  • 最终轮次类型分布
    • 工具调用目标(tool_use):3,799 个
    • 文本回复目标(text):866 个
  • 上下文中的总工具调用次数:38,697 次
  • 每个样本的轮次范围:最少 2 轮,中位数 18 轮,最多 45 轮
  • 预估总 Token 数:约 1100 万

数据样本结构

每个样本是一个 JSON 对象,包含以下字段:

  • messages:ChatML 格式的消息列表,包含角色(userassistanttool)。助手轮次可能包含 tool_calls(OpenAI 函数调用格式),工具轮次包含匹配的 tool_call_id。最终助手轮次始终以 <think>...</think> 推理块开头。
  • uid / session:来源语料库中的唯一标识符与会话标识符。相邻样本共享重叠上下文,建议按 session 拆分训练/测试集。
  • target_type:最终轮次的类型,tool_usetext
  • context_truncated:布尔值,指示上下文窗口是否截断了会话的开头(4,121 个样本为 true)。
  • tool_args_valid:布尔值,指示历史工具调用的参数是否被截断导致 JSON 不完整(3,102 个样本为 false),最终轮次的参数始终有效。

工具调用分布(基于 38,697 次调用)

工具名称 调用次数
Bash 15,068
Edit 10,068
Read 4,552
Write 3,186
PowerShell 1,438
WebSearch 529
TaskUpdate 489
ToolSearch 423
其他(如浏览器预览、调度工具) 较少

使用方式

python from datasets import load_dataset ds = load_dataset("AnkitAI/fable-5-traces-sft-chatml", split="train")

from transformers import AutoTokenizer tok = AutoTokenizer.from_pretrained("Qwen/Qwen3-4B") text = tok.apply_chat_template(ds[0]["messages"], tokenize=False)

数据字段说明

  • messages:ChatML 格式的消息列表。
  • uid / session:来源会话的追踪键。
  • target_type:最终轮次类型(tool_usetext)。
  • context_truncated:上下文是否被截断。
  • tool_args_valid:历史工具调用参数是否完整。

数据集构建方法

  1. 将每个扁平化转录解析为带类型标记的轮次(USER:ASSISTANT (message):ASSISTANT (tool call)TOOL RESULT:)。
  2. 将工具调用规范化为 OpenAI 函数调用格式,并生成匹配的调用 ID。
  3. 删除开头孤立的工具结果,确保每个样本以模板干净的方式开始。
  4. 将来源中的 cot 字段作为 <think> 推理内容,output 字段作为结构化动作,附加为训练目标。
  5. 进行密钥、令牌的清理和精确去重。

已知限制

  • 来自同一会话的步骤因滑动上下文窗口而高度重叠,评估时应按 session 拆分或去重。
  • 约三分之二的样本上下文开头被截断,模型会学习在会话中途开始行动,这匹配智能体部署场景,但不适合全对话建模。
  • 所有轨迹均来自 Claude Fable 5 在编程和终端任务中的行为,输出会包含风格迁移和特定能力。

许可信息

该数据集继承自 Glint-Research/Fable-5-traces,许可证为 AGPL-3.0。由于轨迹源自第三方助手,其提供者的使用条款可能适用于下游训练与蒸馏。商业使用时需确认相关条款。

搜集汇总
数据集介绍
fable-5-traces-sft-chatml 数据集图片
构建方式
Fable-5 Traces SFT ChatML数据集源自Glint-Research收集的Claude Fable 5智能体会话原始语料,经过系统化重构形成适用于监督微调的标准化格式。具体流程包括:首先将扁平化的转录字符串解析为角色分明的多轮对话单元,涵盖用户、助手及工具消息;接着将工具调用统一映射为OpenAI函数调用格式,并为每个调用生成唯一标识符以确保与工具结果精准配对;随后去除因上下文窗口截断导致的孤立工具结果,确保每一条样本起始于完整的模板结构;最后将来源中的思考链与结构化动作拼接为最终目标轮次,并执行密钥脱敏与精确去重操作,保持原始4665条样本数量不变。
特点
该数据集包含4665条智能体交互轨迹,源自60个完整会话,平均每轮展示18次交互,总工具调用次数高达38697次,涵盖Bash、Edit、Read、Write等十余种实际开发工具。每条样本以ChatML格式组织,包含完整的消息列表,其中最终助手轮次包含以think标签包裹的推理过程与结构化的工具调用或文本回复,直接作为训练目标。数据集提供丰富的元数据字段,如目标类型、上下文是否截断及工具参数是否有效,便于研究者按需筛选。样本间因滑动窗口机制存在天然重叠,按会话ID划分可避免数据泄漏。
使用方法
研究者可通过HuggingFace Datasets库直接加载该数据集训练集,使用现代分词器配合任意支持工具调用的聊天模板即可渲染消息序列。在训练时,建议将损失掩码应用于除最终助手消息外的所有轮次,以实现单目标掩码训练。数据集内嵌的生产级链路已被验证可显著降低模型在同类任务上的困惑度,且兼容Axolotl、LLaMA-Factory、TRL、mlx-lm及Unsloth等主流微调框架。需注意,由于上下文截断样本占比近九成,模型将习得于会话中间介入的能力,这贴合实际部署场景但不利于完整对话建模。
背景与挑战
背景概述
Fable-5 Traces SFT ChatML 数据集由 AnkitAI 团队于近期创建,源自 Glint-Research 公开的 Claude Fable 5 智能体会话语料库。该数据集聚焦于工具调用与推理能力的监督微调,将原始非结构化的代理交互轨迹转换为标准的 ChatML 消息格式,并采用 OpenAI 函数调用规范。共包含 4,665 个样本,跨越 60 个真实代理会话,覆盖 Bash、Edit、Read 等近 38,697 次工具调用,为智能体领域的研究提供了高质量、可直接用于训练的结构化数据。其衍生模型 Parable 系列在该数据训练下取得了 47% 的损失降低,凸显了其在智能体行为建模与推理增强方面的重要价值。
当前挑战
该数据集所应对的领域挑战在于解决智能体任务中推理与工具调用协同学习的难题。传统文本生成模型难以有效学习多步推理与外部工具交互的复杂序列,而原始代理轨迹常以扁平字符串形式呈现,缺乏标准化的角色、工具调用标识与消息结构,导致数据难以被主流训练框架直接使用。在构建过程中,主要挑战包括:从转录文本中准确解析混合了用户、助手与工具的多种消息类型,并为每个工具调用生成正确配对的 ID 与 OpenAI 格式参数;处理源数据因上下文窗口截断导致的工具结果丢失与参数残缺,通过丢弃孤立结果确保样本格式一致性;同时需去除重叠会话步长中的冗余信息,并清洗 API 密钥等敏感内容,以保障数据质量与安全性。
常用场景
经典使用场景
在智能体(Agent)与工具调用(tool-use)微调领域,Fable-5 Traces SFT ChatML 数据集常被用于监督式微调(Supervised Fine-Tuning, SFT)训练,以增强语言模型在复杂任务中自主使用工具、执行多步推理的能力。该数据集包含来自Claude Fable 5真实对话会话的4,665条样本,每条样本将原始对话流转换为标准ChatML格式的消息序列,并保留<think>推理过程与结构化工具调用。研究者可直接利用此数据配合Axolotl、LLaMA-Factory、TRL等主流SFT框架,训练模型学会在代码编写、终端操作、文件编辑、网页搜索等场景中动态调用工具并完成推理。
解决学术问题
该数据集主要解决了工具增强型语言模型在训练数据稀缺与格式标准化方面的学术难题。以往构建高质量工具调用数据集需要人工模拟复杂多轮交互,成本高昂且难以规模化;而Fable-5 Traces SFT ChatML通过解析真实代理会话日志,提供了大规模、经过清洗的agent轨迹数据,包含38,697次工具调用记录。研究者得以深入探究模型在工具选择、参数生成、结果反馈整合与逐步推理等环节的行为规律,推动了对工具调用泛化能力、长上下文推理鲁棒性及多步任务执行的系统性研究。其意义在于为构建具备自主决策与协作能力的下一代AI系统奠定了坚实的数据基础。
衍生相关工作
围绕该数据集衍生了一系列重要工作,其中最引人注目的是Parable模型系列。Parable系列(如Parable-Qwen3-4B-fable)通过在此数据集上微调,验证了标准化agent轨迹数据对模型工具调用能力的显著提升。此外,研究者还利用该数据探索了思维链推理与工具调用的结合机制、多步轨迹中的知识蒸馏方法、以及会话级去重与上下文截断对训练效果的影响。相关研究推动了工具增强语言模型从学术原型走向实际部署,并为后续诸如ReAct模式强化、函数调用格式统一、以及开源agent框架(如Ollama、LM Studio)的模型生态建设提供了可复现的数据基准。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务