专家工具
](https://github.com/hivellm/expert-tools/releases/tag/v0.1.0)  
   
规划MCP/工具调用并发出结构化JSON控制计划的工具编排专家({"tool_call": {"name": ..., "arguments": ...}}).优化了Context7、矢量器、HTTP和内部自动化端点的分类,并具有明确的回退推理。
版本: 0.1.0(脚手架)| 检查点: TBD| 数据集: 8500列车+1499验证(仅英语,30 % 合成故障)
状态: ⚠️ 实验 — 数据集扩展和管道仍在演变\ 依赖关系 : 要求 expert-json 最终 JSON 序列化/验证 (manifest.constraints.requires)
快速开始
# 1. Activate project environment
cd F:/Node/hivellm/expert
source .venv/bin/activate # Windows: .venv/Scripts/activate
# 2. Enter expert workspace
cd experts/expert-tools
# 3. Construir dataset (gera train + validation + falhas sintéticas)
python preprocess.py --output datasets/train.jsonl --metadata datasets/train.metadata.json
# 3.1 (Opcional) Gerar gráficos de distribuição
python scripts/generate_distribution_charts.py # arquivos em docs/
# 4. Train DoRA adapter (ensure expert-json is available for JSON validation)
../../cli/target/release/expert-cli train --manifest manifest.json
# 5. Run smoke tests
python tests/test_expert_tools.py
# 6. Package checkpoint (placeholder)
../../cli/target/release/expert-cli package --manifest manifest.json --output expert-tools-qwen3-06b.v0.1.0.expert能力(目标)
- ✅ 具有验证模式的结构化工具调用JSON(
tool_call,next_step,fallback) - ✅ 跨Context7、矢量器、HTTP和内部操作的MCP资源选择
- ✅ 多步骤计划提示(后续问题、恢复计划)
- ⚠️ 工具参数验证和模式实施(正在进行中)
- ⚠️ 工具不可用或不合适时的故障说明
最适合✅
- 当有多个工具可用时,选择正确的MCP端点
- 需要Context7搜索+回退摘要的文档查找
- 通过矢量化器MCP路由的嵌入/矢量化指令
- 具有明确失败路径的HTTP获取计划
- 需要“下一步行动”指导的多步骤工作流程
已知限制⚠️
- 生成后尚未强制执行JSON模式验证
- 为>2步工具链和浏览器自动化提供稀疏覆盖
- 评估工具取决于本地训练的适配器检查点
- 数据集仍在构建中(当前占位符≥10000个示例)
数据集计划(英语优先,10k目标)
| 来源 | 分割 | 计数(快照) | 目的 |
|---|---|---|---|
| BitAgent/tool_calling | 列车 | 3045 | 单圈事实工具调用 |
| jvhoffbauer/gsm8k-toolcalls | train | 1861 | 数学推理 + 计算器 |
| roborovski/合成醇球-v2-dpo-pairs | 火车 | 612 | dpo(飞机) |
| roborovski/合成-托波尔-卡尔v2 | 列车 | 147 | 单圈进站 |
| interstalarnija/工具调用多圈+共享 | 训练 | 481 | 计划多圈 |
| interstellarninja/tool-calls-dpo | train | 75 | 首选项(计划与备份) |
| llamafactory/glaive_toolcall (zh) | train | 216 | 一般意图 |
| tejeshbhalla/tool_calling | 火车 | 110 | 数字/商业提示 |
| 合成错误跟踪(HiveLLM) | 训练 | 1953 | 回退(超时/认证/模式/速率限制) |
| Layue13/mcp工具调用数据集 | 训练 | 20 | mcp列表管理 |
| MCPToolBench/MCPToolBenchPP | eval | 500 | 基准提示和回归集 |
| 商数/mcp工具使用eval | eval | 1000 | 工具选择质量评估 |
| qualifire/mcp工具使用质量基准 | eval | 5000 | 错误挖掘+QA标签 |
| alihmaou/代理_MCP_后台_工具_列表(+丰富) | 元 | 2086 | 工具元数据查找 |
快照(2025-11-08): 8.5k 训练 + 1.5k 验证(全英文),合成失败率为 30%。目标: 保持 ~10k 个实例,有 ~1/3 个多回合、 ~1/3 个对齐/失败和 ~1/3 个实际任务。
预处理工作流程(计划)
python preprocess.py \
--datasets-file configs/datasets.yaml \
--output datasets/train.jsonl \
--dedupe \
--min-length 64 \
--max-length 2048 \
--schema configs/tool_schema.json \
--include-eval datasets/eval.jsonl管道步骤:
- 通过加载Hugging Face数据集
datasets(本地缓存) - 使用显式规范化为ChatML
system/user/assistant角色 - 强制使用与清单对齐的工具名称(
context7.search,vectorizer.lookup,http.get, …) - 当痕迹缺失时,注入后备叙事
next_step提示 - Gerar exemplos通过以下方式回退(超时/身份验证/模式/速率限制)
inject_error_examples - 由以下人员删除(
user,tool_call.name,arguments) - 制造商
train.jsonlevalidation.jsonl保持成功,反弹和谈判的组合
训练配置(manifest.json)
| 参数 | 值 | ||
|---|---|---|---|
| 基础模型 | F:/Node/hivellm/expert/models/Qwen3-0.6B | ||
| 适配器 | DoRA(r=16, alpha=32,辍学 0.1) | ||
| 方法 | SFT(无布加速) | ||
| 学习率/时代 | 4.5e-4 / 2.5 | ||
| 预热/日程安排 | 10 % 预热,余弦带重启(3个循环) | ||
| 批量大小/GA | 4 / 6 (有效期24) | ||
| 渐变检查点 | full | ||
| 记录/评估/保存 | 地籍10 | 100 | 100步 |
| 绳索结垢 | NTK(按零件)(系数8.0) |
评估工具
tests/test_cases.json:烟雾测试以确定正确的工具路由(Context7搜索、矢量器查找、无工具回退)tests/test_expert_tools.py:加载基座+适配器,生成响应,提取tool_call.name,主张平等- 计划添加:MCPToolBench回归套件、JSON模式验证、回退质量评分
路线图
- ✅ 库存拥抱面部工具/MCP数据集
- ⏳ 使用数据集注册表+10k合并实现预处理管道
- ⏳ 扩展评估案例(Context7文档、矢量器嵌入、浏览器/工具组合)
- ⏳ 训练DoRA适配器并发布校验和
- ⏳ 更新文档/包含质量指标和变更日志条目
- ⏳ 包裹
.expert带有签名哈希的工件
仓库的规划
expert-tools/
├── configs/ # Dataset registry & schemas (planned)
├── datasets/
│ ├── train.jsonl # Curated tool-calling corpus (10k target)
│ └── eval.jsonl # Held-out regression prompts (planned)
├── manifest.json # Training + runtime metadata
├── preprocess.py # Dataset builder (pending implementation)
├── README.md # Documentation (this file)
├── tests/
│ ├── test_cases.json # Expected tool routing behaviours
│ └── test_expert_tools.py # Minimal evaluation harness
└── weights/ # Adapter checkpoints (empty placeholder)贡献说明
- 使数据集添加与MCP/Tool模式保持一致
manifest.json - 更新
LICENSE引入新的上游数据集时 - 记录基准增量
docs/CHANGELOG.md在标记发布之前 - 遵循@hivellm/规则手册QA管道(测试→ lint → 覆盖→ 文档更新)
