模型工具调用测试集
收藏魔搭社区2026-05-23 更新2025-11-22 收录
下载链接:
https://modelscope.cn/datasets/evalscope/GeneralFunctionCall-Test
下载链接
链接失效反馈官方服务:
资源简介:
# 通用函数调用测试数据集(GeneralFunctionCall-Test)
本数据集用于评估模型的 ToolCall 能力,聚焦两项指标:
- ToolCall-Trigger Similarity:是否应触发工具(由官方结果的K2-thinking模型结果对齐得到的 should_call_tool 标注)
- ToolCall-Schema Accuracy:当触发工具时,参数是否满足既定 JSON Schema(由评测工具计算)
数据集以 JSONL 形式提供,每行一个样本,包含对话上下文与工具列表,并给出是否应触发工具的标签,便于复现实验与自动化回归测试。
数据由官方 MoonshotAI [公开样本](https://github.com/MoonshotAI/K2-Vendor-Verifier)合成。
## 数据格式
每行一个 JSON 对象,示例结构:
```json
{
"messages": [
// OpenAI 格式消息,含 role 与 content
],
"tools": [
// OpenAI 工具定义,含 type:function 与 function:{name, parameters}
],
"should_call_tool": true
}
```
字段说明:
- messages:评测输入上下文
- tools:可用函数(用于约束与评测 schema)
- should_call_tool:是否应触发工具的标签(来源于官方 K2-thinking模型结果中 `finish_reason == "tool_calls"`)
## 使用方法
安装 evalscope 工具并运行评测:
```python
from evalscope import TaskConfig, run_task
task_cfg = TaskConfig(
model='qwen-plus',
api_url='https://dashscope.aliyuncs.com/compatible-mode/v1',
api_key=env.get('DASHSCOPE_API_KEY'),
datasets=['general_fc'], # 工具调用格式固定为 'general_fc'
# 如需显式指定,可加入 dataset_args={"general_fc": {"dataset_id": "evalscope/GeneralFunctionCall-Test"}}
)
run_task(task_cfg=task_cfg)
```
具体请参考evalscope工具中的 [自定义模型工具调用评测文档](https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/custom_dataset/llm.html#fc)
输出示例:
```text
+-----------+------------+-------------------------------+----------+-------+---------+---------+
| Model | Dataset | Metric | Subset | Num | Score | Cat.0 |
+===========+============+===============================+==========+=======+=========+=========+
| qwen-plus | general_fc | count_finish_reason_tool_call | default | 10 | 3 | default |
+-----------+------------+-------------------------------+----------+-------+---------+---------+
| qwen-plus | general_fc | count_successful_tool_call | default | 10 | 2 | default |
+-----------+------------+-------------------------------+----------+-------+---------+---------+
| qwen-plus | general_fc | schema_accuracy | default | 10 | 0.6667 | default |
+-----------+------------+-------------------------------+----------+-------+---------+---------+
| qwen-plus | general_fc | tool_call_f1 | default | 10 | 0.5 | default |
+-----------+------------+-------------------------------+----------+-------+---------+---------+
```
指标说明:
- `count_finish_reason_tool_call`:模型预测调用工具的样本数(`finish_reason == "tool_calls"`)
- `count_successful_tool_call`:在尝试调用的样本中,工具名匹配且参数通过 JSON Schema 校验的样本数
- `schema_accuracy`:在尝试调用的样本中,参数校验通过的比例
- `tool_call_f1`:基于标签 `should_call_tool` 与模型是否调用工具的二分类 F1
## 许可
本数据集遵循 Apache License 2.0。
# 通用函数调用测试数据集(GeneralFunctionCall-Test)
本数据集旨在评估大语言模型的工具调用(ToolCall)能力,聚焦两项核心评估指标:
- 工具调用触发相似度(ToolCall-Trigger Similarity):判断是否应当触发工具(标注依据为官方K2-thinking模型结果对齐得到的`should_call_tool`标签)
- 工具调用Schema准确率(ToolCall-Schema Accuracy):触发工具时,参数是否符合既定JSON Schema(由评测工具计算得出)
数据集采用JSONL格式存储,每行对应一个样本,包含对话上下文、工具列表以及是否应触发工具的标签,可支撑实验复现与自动化回归测试。
本数据集由官方MoonshotAI公开样本合成,公开样本链接:https://github.com/MoonshotAI/K2-Vendor-Verifier
## 数据格式
每行对应一个JSON对象,示例结构如下:
json
{
"messages": [
// OpenAI 格式消息,含 role 与 content
],
"tools": [
// OpenAI 工具定义,含 type:function 与 function:{name, parameters}
],
"should_call_tool": true
}
字段说明:
- `messages`:评测输入上下文
- `tools`:可用函数列表(用于约束与校验JSON Schema)
- `should_call_tool`:是否应当触发工具的标签(标注来源为官方K2-thinking模型结果中`finish_reason == "tool_calls"`的判定结果)
## 使用方法
安装evalscope工具并运行评测:
python
from evalscope import TaskConfig, run_task
task_cfg = TaskConfig(
model='qwen-plus',
api_url='https://dashscope.aliyuncs.com/compatible-mode/v1',
api_key=env.get('DASHSCOPE_API_KEY'),
datasets=['general_fc'], # 工具调用格式固定为 'general_fc'
# 如需显式指定,可加入 dataset_args={"general_fc": {"dataset_id": "evalscope/GeneralFunctionCall-Test"}}
)
run_task(task_cfg=task_cfg)
详细使用方法请参考evalscope工具的[自定义模型工具调用评测文档](https://evalscope.readthedocs.io/zh-cn/latest/advanced_guides/custom_dataset/llm.html#fc)
输出示例:
text
+-----------+------------+-------------------------------+----------+-------+---------+---------+
| Model | Dataset | Metric | Subset | Num | Score | Cat.0 |
+===========+============+===============================+==========+=======+=========+=========+
| qwen-plus | general_fc | count_finish_reason_tool_call | default | 10 | 3 | default |
+-----------+------------+-------------------------------+----------+-------+---------+---------+
| qwen-plus | general_fc | count_successful_tool_call | default | 10 | 2 | default |
+-----------+------------+-------------------------------+----------+-------+---------+---------+
| qwen-plus | general_fc | schema_accuracy | default | 10 | 0.6667 | default |
+-----------+------------+-------------------------------+----------+-------+---------+---------+
| qwen-plus | general_fc | tool_call_f1 | default | 10 | 0.5 | default |
+-----------+------------+-------------------------------+----------+-------+---------+---------+
指标说明:
- `count_finish_reason_tool_call`:模型预测触发工具的样本数(对应`finish_reason == "tool_calls"`的情况)
- `count_successful_tool_call`:在触发工具的样本中,工具名称匹配且参数通过JSON Schema校验的样本数量
- `schema_accuracy`:在触发工具的样本中,参数校验通过的占比
- `tool_call_f1`:基于标签`should_call_tool`与模型实际触发工具情况的二分类F1分数
## 许可
本数据集采用Apache License 2.0开源许可协议。
提供机构:
maas
创建时间:
2025-11-17
搜集汇总
数据集介绍

背景与挑战
背景概述
通用函数调用测试数据集(GeneralFunctionCall-Test)是一个用于评估模型ToolCall能力的测试集,包含对话上下文、工具列表和触发工具标签,以JSONL格式提供。数据集聚焦于工具触发相似性和参数JSON Schema准确性两项指标,适用于自动化回归测试和模型能力评估。
以上内容由遇见数据集搜集并总结生成



