遇见数据集

toti-cakery-toolcall

收藏
Hugging Face2026-07-16 更新2026-07-17 收录
官方服务:

资源简介:

Toti Cakery WhatsApp Chatbot — Tool-Calling SFT 是一个合成监督微调数据集,专门用于微调蛋糕店WhatsApp聊天机器人的工具调用能力。数据集为双语,包含约79%的印尼语和约21%的英语,旨在提升小模型在调用9个LangChain工具时的准确性,同时防止对话能力退化。数据构成方面,约63%的样本涉及工具调用,约37%为对话、拒绝或澄清等非工具交互。数据集分为训练集(1005行)、验证集(102行)和测试集(100行,自v1版本起冻结用于功能评估)。数据格式遵循OpenAI聊天补全结构,每条样本包括messages序列(系统提示、用户消息、助手消息/工具调用)、9个工具的JSON模式字符串(tools_json)以及元数据(如样本类型、语言、多轮、是否含噪)。v4版本针对生产环境测试中的失败模式进行了关键改进:训练数据不包含菜单/价格/产品内容以避免模型记忆;历史记录精确模拟生产环境并使用紧凑标记;工具参数直接使用用户原话;系统提示中集成了运行时路由提醒。数据集通过确定性模板生成(种子42),未使用LLM合成,并经过独立审计,适用于Qwen3等模型在Unsloth框架下的工具调用微调任务。

Toti Cakery WhatsApp Chatbot — Tool-Calling SFT is a synthetic supervised fine-tuning dataset designed to fine-tune the tool-calling capabilities of a cake shop WhatsApp chatbot. The dataset is bilingual, with approximately 79% Indonesian and 21% English, specifically aimed at improving the accuracy of small models when calling 9 LangChain tools while avoiding degradation in conversational abilities. In terms of data composition, about 63% of samples involve tool calling, and about 37% are non-tool interactions such as conversation, rejection, or clarification. The dataset includes three splits: training set (1005 rows), validation set (102 rows), and test set (100 rows, frozen from version v1 for functional evaluation). The data format follows the OpenAI chat completion structure, with each sample containing a messages sequence (system prompt, user message, assistant message/tool call), a JSON schema string for 9 tools (tools_json), and metadata (sample type, language, multi-turn, noise inclusion). Version v4 introduces key improvements based on failure modes identified in production testing: 1) training data excludes menu/price/product content to prevent model memorization; 2) history accurately simulates production environments using compact tokens; 3) tool parameters directly use users original utterances; 4) system prompts integrate runtime routing reminders. The dataset is generated via deterministic templates (seed 42), without using LLM synthesis, and has been independently audited, suitable for tool-calling fine-tuning tasks with models like Qwen3 in the Unsloth framework.

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

数据集概述:Toti Cakery Tool-Calling SFT

该数据集是为 WhatsApp 蛋糕店聊天机器人合成的双语(印尼语 ~79% / 英语 ~21%)SFT 数据集,旨在提升小模型在不降低对话能力前提下的工具调用准确性。

数据集特点

  • 任务类型:文本生成(Text Generation)
  • 标签:函数调用(function-calling)、工具使用(tool-use)、印尼语、聊天机器人
  • 许可证:MIT
  • 语言:印尼语(id)、英语(en)
  • 大小:n<1K(少于1000条)
  • 版本:v4(2026-07-16)

数据集用途

该数据集用于微调一个 WhatsApp 蛋糕店聊天机器人,该机器人使用 9个 LangChain 工具。数据集中的工具调用行约占 63%,对话/拒绝/澄清行约占 37%。

数据格式

每条数据包含 messages 数组、tools_json(9个工具 JSON schema 的序列化字符串)和 meta 元信息。

消息格式示例

  • system: 生产级系统提示 + FAQ 上下文 + 工具调用提醒
  • user: 用户输入(如“menu dong”、“beli 4 cupcake”)
  • assistant: 可包含对话回复或工具调用(tool_calls),工具参数为用户原文

关键点

  • 行末的助手回复以 tool_calls 结束(单次工具调用模式,无后续 LLM 二次传递)
  • arguments 为 JSON 字符串,tools_json 为字符串以确保 Arrow schema 稳定
  • 训练时仅对最后一个助手轮次进行掩码训练

数据集划分

划分 行数 用途
train 1005 权重更新
validation 102 验证(与训练集同分布)
test 100 保持不变的测试集(自 v1 起冻结),用于功能评估

v4 版本更新(2026-07-16)

针对实际 WhatsApp 测试中发现的四种失败模式进行修复:

  1. 训练助手回复中不包含任何菜单/价格/产品内容
  2. 历史记录精确模拟生产环境:之前的机器人回复被压缩为标记(如 [Aku sudah menampilkan daftar menu via tool get_menu]
  3. 工具参数直接使用客户的原文(如“beli 4 cupcake” → {"product": "cupcake", "qty": 4}
  4. 运行时路由提示被嵌入系统提示末尾

数据生成

  • 由项目仓库中的 finetune/generate_dataset.py 确定性生成(种子 42)
  • 使用真实菜单的模板+槽填充生成,未使用任何 LLM 合成数据
  • 每次发布前均独立审查结构、规则、行为、统计数据和数据泄漏

训练建议

  • 使用 Unsloth 的 SFTTrainer,设置 eval_dataset=ds["validation"] 监控验证损失
  • 使用 train_on_responses_only 并额外掩码除最后一个 <|im_start|>assistant 段以外的所有内容
  • 建议配置:LoRA r=16, alpha=16, lr=2e-4, 2 个 epoch, 有效批次大小 8
  • 训练后导出 GGUF(q4_k_m 量化),使用与基础模型相同的聊天模板创建 Ollama 模型

评估方法

运行功能评估工具(BFCL 风格)在保持不变的测试集上,以及回归场景测试集:

  • python finetune/eval_tool_calling.py --model <model_name>
  • python finetune/scenario_suite.py --model <model_name>

评估指标:函数选择准确率、参数匹配度、无效调用率、无关检测率、虚假工具调用率,以及针对生产事故的回归测试。

搜集汇总
数据集介绍
toti-cakery-toolcall 数据集图片
构建方式
该数据集专为印尼巴厘岛蛋糕店Toti Cakery的WhatsApp聊天机器人设计,旨在通过微调小模型提升工具调用精度而不牺牲对话能力。数据集采用确定性生成方式(种子42),基于真实菜单通过模板与槽填充构建,未使用任何大语言模型合成样本。数据包含9个LangChain工具,系统提示、工具架构及服务契约均与生产环境逐位一致。版本v4针对线上测试中发现的四种失败模式(如幻觉菜单、错误路由等)进行了针对性修复,如确保训练数据中助手回答不含菜单内容、工具参数直接源自用户原词、历史消息采用压缩标记等。
特点
数据集为双语合成(印尼语约79%、英语约21%),共1005条训练数据,包含工具调用行(约63%)与对话/拒绝/澄清行(约37%)。工具调用采用单轮模式,每条数据以助手的工具调用回合结束,无后续tool角色轮次。训练时仅掩码最后一个助手片段,避免模型学习历史中的无关内容。数据集还包含对抗性近负例(如不能对‘如何取消’调用取消订单工具),用于强化决策边界。测试集自v1版本后保持字节一致,确保评估可比性。
使用方法
使用HuggingFace Datasets库加载数据集,需通过apply_chat_template结合tools_json参数将消息格式化为文本。训练时建议使用Unsloth的SFTTrainer,将验证集作为eval_dataset监控过拟合。需特别注意仅对最后一条助手消息进行响应掩码训练。训练后导出GGUF量化模型,通过Ollama部署并确保聊天模板与基座模型一致。最后使用功能评估工具在真实服务路径上对测试集进行评测,对比指标包括函数选择准确率、参数匹配、无效调用率等,以评估模型实际表现。
背景与挑战
背景概述
在自然语言处理与对话系统的交叉领域中,工具调用(Tool-Calling)能力正成为智能体系统迈向实用化的关键瓶颈。2026年7月,由研究团队LasagnaS开发的Toti Cakery Tool-Calling SFT数据集正式发布,旨在解决小参数模型在真实生产环境(WhatsApp蛋糕店聊天机器人)中保持对话流畅性的同时,精准调用LangChain工具的难题。该数据集基于Qwen3架构,包含约1005条训练样本,采用印尼语(约79%)与英语(约21%)的双语合成数据,其系统提示、工具模式及服务协议均与生产环境实现比特级一致。作为首个面向小型模型工具调用微调的专用数据集,它不仅为低资源语言的功能调用研究提供了标准化基准,更通过严格的训练/测试拆分(测试集自v1起冻结)确立了可重复的评估范式,对推动轻量级对话智能体的产业落地具有里程碑意义。
当前挑战
该数据集面临的核心挑战可归纳为领域问题与构建过程两个维度。在领域问题层面,小模型在工具调用中极易出现三大典型失效模式:一是从训练数据中记忆菜单价格并产生幻觉,二是将无关详情查询错误路由至菜单工具,三是在历史对话中盲目模仿而非发起正确工具调用。这些缺陷直接导致生产环境中的订单混乱与用户困惑。在构建过程中,研究人员须应对多重技术难题:确保工具参数完全采用用户原文(如“beli 4 cupcake”直接映射为JSON参数),避免模型自行编造产品变体;在历史会话中嵌入标记性摘要(如"[Aku sudah menampilkan daftar menu via tool get_menu]")的同时,仍要求模型能主动触发工具;将生产系统的路由提示精确合并到系统内容尾部,以对齐Ollama运行时机制。此外,还需设计严苛的非工具行(如FAQ回答、拒绝澄清)教会模型决策边界,并通过零重叠的测试拆分杜绝数据泄露——这些工程细节共同构成了数据集构建的复杂挑战。
常用场景
经典使用场景
Toti Cakery Tool-Call数据集专为训练小型语言模型在现实对话场景中精准执行工具调用而设计,其核心用途是优化WhatsApp聊天机器人的订货与客服功能。该数据集覆盖了9种LangChain工具,涵盖菜单查询、商品分类浏览、产品详情获取、多商品对比、单件与多件商品下单、订单跟踪、取消操作、人工升级以及店主报告等典型场景。每一训练样本均忠实复刻生产环境中的单次调用流程,模型仅需生成工具调用而无需输出工具返回内容,从而避免将非对话信息纳入语言模型参数内。这种数据构造方式使得小型模型能够在保持流畅自然对话能力的同时,显著提升工具选择的准确率与参数填充的精确度,为资源受限的设备部署高效能任务型对话系统提供了可靠的训练基础。
衍生相关工作
该数据集衍生出一整套完整的工具调用模型训练与评估工作流程,包括配套的Unsloth微调笔记本(finetune/finetune_toti_qwen3.ipynb)、功能评估工具(finetune/eval_tool_calling.py)以及回归场景测试套件(finetune/scenario_suite.py)。评估框架借鉴了BFCL(Berkeley Function Calling Leaderboard)的评估风格,在冻结的测试集上报告函数选择准确率、参数匹配度(依据解析后产品引用而非逐字匹配)、无效调用率、无关检测能力及假阳性工具调用率等多项指标。回归测试套件将v4之前直播事故的六个典型场景编码为自动化测试,确保每次模型更新不退化已有能力。这一标准化评估范式为同类工具调用模型的性能对比提供了可复现的标杆,其最终判决依据的是与同框架基线的对比结果,而非单一的训练损失数值,从而推动了工具调用领域研究方法的科学化与规范化。
数据集最近研究
最新研究方向
该数据集聚焦于面向真实生产环境的小型对话模型工具调用能力精调,代表了将函数调用从理论框架落地至工业级聊天机器人的前沿探索。研究通过构建位与运行时完全一致的合成数据集(涵盖印尼语与英语的双语场景),系统性地解决了模型在实际部署中暴露的菜单信息幻觉、历史对话污染、参数生成非标准化等关键失效模式。其创新在于模拟真实单次调用协议(Ollama + ChatOllama.bind_tools),强制模型仅输出工具调用请求而非内化商品数据,并引入标记性历史上下文、逐字参数提取以及系统提示语内嵌路由提醒等针对性策略。该工作为资源受限场景下保持对话流畅性与工具调用精确性的平衡提供了可复现的范式,尤其在电商客服领域对降低幻觉率与提升任务完成度具有显著工程借鉴意义。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务