JSONSchemaBench
收藏JSONSchemaBench 数据集概述
数据集简介
JSONSchemaBench 是一个包含约10,000个真实世界 JSON Schema 的基准测试集,旨在评估结构化输出生成引擎的效率和覆盖率。这些 JSON Schema 涵盖了广泛的约束和复杂性,适用于现代 LLM 应用中的结构化输出生成。
数据集来源
数据集中的 JSON Schema 来源于多个真实世界的场景,包括 GitHub、Kubernetes 配置和 API 规范。数据集经过精心筛选,确保其符合标准且可满足性。
数据集分类
数据集根据复杂性和领域进行了分类,具体分类如下:
| 数据集 | 类别 | 数量 |
|---|---|---|
| GlaiveAI-2K | 函数调用 | 1707 |
| Github-Trivial | 杂项 | 444 |
| Github-Easy | 杂项 | 1943 |
| Snowplow | 操作 API | 403 |
| Github-Medium | 杂项 | 1976 |
| Kubernetes | Kubernetes API | 1064 |
| Washington Post | 资源访问 API | 125 |
| Github-Hard | 杂项 | 1240 |
| JSONSchemaStore | 杂项 | 492 |
| Github-Ultra | 杂项 | 164 |
| 总计 | 9558 |
数据文件结构
数据集文件按类别存储在 data 目录下,每个文件夹包含相应的 JSON Schema 文件。例如:
data ├── Github_easy ├── Github_hard ├── Github_medium ├── Github_trivial ├── Github_ultra ├── Glaiveai2K ├── JsonSchemaStore ├── Kubernetes ├── Snowplow └── WashingtonPost
快速开始
- 加载 JSON Schema:可以从 GlaiveAI 数据集中加载一个 JSON Schema 文件。
- 生成结构化输出:使用提示词生成符合 Schema 的结构化输出。
- 使用结构化输出生成引擎:支持多种引擎,如 OpenAI、Gemini、Guidance、XGrammar、Outlines 和 Llamacpp。
输出验证
使用 jsonschema 库对生成的输出进行验证,确保其符合 JSON Schema Draft 2012 规范。
引用
如需引用该数据集,请使用以下 BibTeX 格式:
bibtex @misc{geng2025jsonschemabench, title={Generating Structured Outputs from Language Models: Benchmark and Studies}, author={Saibo Geng and Hudson Cooper and Michał Moskal and Samuel Jenkins and Julian Berman and Nathan Ranchin and Robert West and Eric Horvitz and Harsha Nori}, year={2025}, eprint={2501.10868}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2501.10868}, }




