\n{content}\n{role}>")
return '\n'.join(formatted)
# 使用示例
# from transformers import AutoTokenizer
# tokenizer = AutoTokenizer.from_pretrained('Qwen/Qwen2-7B')
# dataset = LoopToolDataset('looptool_2k_shuffled.jsonl', tokenizer)
```
### 2. 训练配置建议
#### 推荐超参数
| 参数 | 推荐值 | 说明 |
| ------------- | ----------- | --------------- |
| Learning Rate | 1e-5 ~ 5e-5 | 避免过拟合 |
| Batch Size | 16 ~ 32 | 根据GPU内存调整 |
| Epochs | 3 ~ 5 | 避免过度训练 |
| Max Length | 4096 | 支持长对话 |
| Warmup Ratio | 0.1 | 训练稳定性 |
#### 训练脚本示例
```python
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
TrainingArguments,
Trainer
)
# 加载模型和tokenizer
model_name = "Qwen/Qwen2-7B"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
# 准备数据集
train_dataset = LoopToolDataset(
'looptool_2k_shuffled.jsonl',
tokenizer,
max_length=4096
)
# 训练参数
training_args = TrainingArguments(
output_dir='./looptool-model',
num_train_epochs=3,
per_device_train_batch_size=16,
learning_rate=2e-5,
warmup_ratio=0.1,
logging_steps=10,
save_steps=500,
fp16=True, # 使用混合精度
)
# 开始训练
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
)
trainer.train()
---
## 比赛提交说明
### 数据集提交内容
本数据集用于比赛提交,包含以下文件:
```
submission/
├── looptool_2k_shuffled.jsonl # 主数据文件(打乱后)
├── shuffle_jsonl.py # 数据打乱脚本
├── README.md # 本说明文档
└── data_statistics.json # 数据统计信息(可选)
```
### 数据集创新点
1. **基于LOOPTOOL方法论**: 采用论文提出的三模块闭环框架构建
2. **质量保证**: 经JGLV多轮标签验证,确保标注准确性
3. **随机化增强**: 数据打乱消除顺序偏差,提升训练效果
4. **可重现性**: 固定随机种子,支持结果复现
5. **开源友好**: 完全基于开源模型生成,无API依赖
### 评估基准
Unitool-8B模型在以下基准测试中取得优异成绩:
| 基准测试 | 分数 | 排名 |
|----------|------|------|
| BFCL-v3 | - | 8B规模SOTA |
| ACEBench (Normal) | 85.5 | 8B规模第1 |
| ACEBench (Overall) | 74.1 | 8B规模第1 |
### 预期效果
使用本数据集训练的模型预期可达到:
- 工具调用准确率: 85%+
- 多轮对话一致性: 90%+
- 参数正确率: 95%+
- 格式规范率: 99%+
---
## 数据质量保证
### 1. 标注验证流程
```
原始数据 → GCP能力探测 → JGLV标签验证 → EDDE数据扩展 → 最终数据集
```
### 2. 质量检查项
- 所有样本格式规范
- 无重复样本
- 无缺失字段
- 工具调用语法正确
- 参数类型匹配
- 多轮对话逻辑一致
### 3. 数据统计
```json
{
"total_samples": 2000,
"avg_turns": 21,
"avg_tools_per_sample": 15.3,
"tool_categories": [
"API调用",
"数据检索",
"文件操作",
"计算处理",
"外部服务"
],
"data_integrity": "100%",
"shuffle_seed": 42
}
```
### 引用格式
如果您使用本数据集,请引用:
```bibtex
@article{zhang2025looptool,
title={LOOPTOOL: CLOSING THE DATA–TRAINING LOOP FOR ROBUST LLM TOOL CALLS},
author={Zhang, Kangning and Jiao, Wenxiang and Du, Kounianhua and Lu, Yuan and Liu, Weiwen and Zhang, Weinan and Yu, Yong},
journal={arXiv preprint},
year={2025},
institution={Shanghai Jiao Tong University and Xiaohongshu Inc.}
}
```
## 更新日志
| 版本 | 日期 | 更新内容 |
| ---- | ---------- | ----------------------- |
| v1.0 | 2026-03-15 | 初始版本,包含2000个样本 |
---">