TrioBench
收藏TrioBench 数据集概述
基本信息
- 名称: TrioBench
- 语言: 英文
- 许可证: CC-BY-4.0(底层Yelp数据受Yelp Dataset License约束)
- 数据集大小: 1K < n < 10K
- 任务类型: 文本生成、问答
- 标签: SQL、向量搜索、知识图谱、跨模态检索、Yelp、基准测试、LLM评估、代码生成、查询规划
数据集描述
TrioBench用于评估大语言模型作为混合查询规划器的能力,涵盖三种数据库引擎——SQLite(结构化事实与聚合)、Milvus(语义文本/图像检索)和Neo4j(图约束与多跳推理)——基于Yelp开放数据集。给定自然语言问题,规划器需要协调三种检索方式,生成两个产物:(1)可执行的多步骤JSON计划,(2)完整的可执行端到端Python程序。
数据集结构
数据集包含两个配置,每个配置存储为单个Parquet文件。
1. questions — 341行
每行对应一个自然语言问题,包含每个模型独立的难度评估、查询类型、计划步数,以及多数投票共识。
| 列名 | 类型 | 描述 |
|---|---|---|
question_id |
int32 | 1索引(1–341) |
natural_question |
string | 英文自然语言问题 |
difficulty_claude |
string | easy / medium / hard |
difficulty_gpt |
string | |
difficulty_gemini |
string | |
difficulty_qwen |
string | |
difficulty_deepseek |
string | |
query_types_claude |
string | JSON数组:["sql", "vector", "graph"] |
query_types_gpt |
string | |
query_types_gemini |
string | |
query_types_qwen |
string | |
query_types_deepseek |
string | |
num_plan_steps_claude |
int32 | 模型计划的执行步数 |
num_plan_steps_gpt |
int32 | |
num_plan_steps_gemini |
int32 | |
num_plan_steps_qwen |
int32 | |
num_plan_steps_deepseek |
int32 | |
difficulty_consensus |
string | 5个模型的多数投票结果 |
difficulty_agreement |
int32 | 达成一致的模型数量(3、4或5) |
2. all_models — 1,705行(341 × 5)
每行对应一个(问题,模型)对,按question_id和model_name排序。
| 列名 | 类型 | 描述 |
|---|---|---|
question_id |
int32 | 1–341 |
model_name |
string | claude / gpt / gemini / qwen / deepseek |
natural_question |
string | 问题文本 |
difficulty |
string | 模型分配的难度 |
query_types |
string | JSON数组(标准化为sql/vector/graph) |
num_plan_steps |
int32 | 计划步数 |
plan_json |
string | JSON计划步骤对象数组 |
complete_code |
string | 完整的可执行Python程序 |
analysis |
string | 模型的推理文本 |
每个plan_json中的计划步骤结构如下: json { "step": 1, "parameters": { "ms_names": ["table/collection"], "filter_condition": {...} }, "result_var": "variable_name", "description": { "narrative": "what this step does", "example_query": "executable SQL / Cypher / vector search expression" } }
快速统计
341个问题,覆盖3个难度级别和3种引擎组合模式。
难度分布(每个模型的独立评估):
| 难度 | Claude | GPT | Gemini | Qwen | DeepSeek | 共识 |
|---|---|---|---|---|---|---|
| hard | 189 | 121 | 118 | 119 | 89 | 124 |
| medium | 136 | 211 | 209 | 217 | 250 | 213 |
| easy | 16 | 9 | 14 | 5 | 2 | 4 |
共识一致性:
- 5/5模型一致:130个问题
- 4/5模型一致:120个问题
- 3/5模型一致:91个问题
使用示例
python from datasets import load_dataset
加载带有每个模型标签的问题
questions = load_dataset("iwei0/TrioBench", "questions", split="train")
加载所有模型输出
all_models = load_dataset("iwei0/TrioBench", "all_models", split="train")
按模型筛选
claude = all_models.filter(lambda x: x["model_name"] == "claude")
比较问题2的所有5个模型
q2 = all_models.filter(lambda x: x["question_id"] == 2)
局限性
- 每个行的错误标签未包含在内;基准的错误分类分析是手动进行的
complete_code包含硬编码的Windows路径(例如D:/Yelp-JSON/db/sqlite3/business.db),需要根据环境调整- 部分GPT和DeepSeek的
analysis字段包含中文文本
引用
bibtex @dataset{triobench, title = {TrioBench: A Cross-Database × Cross-Modal Retrieval Planning Benchmark}, year = {2025}, url = {https://github.com/AgentCombo/TrioBench-dev}, note = {341 questions, 5 LLM outputs, SQLite + Milvus + Neo4j on Yelp Open Dataset} }




