mukunda1729/llm-output-extraction-cases
收藏资源简介:
该数据集名为llm-output-extraction-cases,包含20个真实世界的LLM输出,每个输出都配有要提取的JSON数据。这些数据用于测试容忍性JSON提取器(如agentcast),涵盖了各种情况,包括有/无边界块的JSON、散文包裹的JSON、拒绝、格式错误的有效载荷、JSON5、被误认为JSON的JavaScript、Unicode和边缘原语。数据集模式包括id、raw(LLM原始输出)、expected(期望提取的JSON或null表示不可提取)、extractor(推荐的提取策略)和notes(案例的说明)。
--- license: 麻省理工学院许可证(MIT) language: - 英语 tags: - 大语言模型(LLM) - 结构化输出 - 解析 - JSON(JSON) - 测试 - agentcast size_categories: - 样本量少于1000 configs: - config_name: 默认配置 data_files: - split: 训练集 path: data.jsonl --- # 大语言模型输出提取案例集(llm-output-extraction-cases) 本数据集包含20条贴合真实应用场景的大语言模型(LLM)输出样本,每条样本均附带待提取的目标JSON内容。它是用于测试容错型JSON提取器的经典测试集(例如 [`agentcast`](https://pypi.org/project/agentcast-py/)),覆盖了带代码块标记/无代码块标记的JSON、散文式文本包裹的JSON、模型拒绝输出、格式错误的负载数据、JSON5、被误识别为JSON的JavaScript代码、Unicode字符,以及边界基础数据类型等多种场景。 ## 数据格式规范 jsonc { "id": "字符串", "raw": "字符串", // 大语言模型的原始输出文本 "expected": "对象 | 数组 | 空值", // 待提取的目标JSON内容,若无法提取则为null "extractor": "字符串", // 推荐使用的提取器策略 "notes": "字符串" // 该样本的特色说明 } 当`expected`字段值为`null`时,表示该样本为故意设计的不可提取场景,可用于测试提取器的故障处理能力。 ## 提取器策略 | 提取策略 | 适用场景 | |---|---| | `raw-json` | 输出整体为纯JSON格式 | | `fenced-json` | JSON内容包裹在` json ... `代码块中 | | `fenced-no-lang` | 无语言标签的代码块包裹的JSON内容 | | `fenced-json-first` | 存在多个代码块时,取首个代码块内的JSON | | `fenced-json-array` | 顶层结构为JSON数组 | | `inline-json` | 嵌入在散文式文本中的JSON对象 | | `find-balanced-braces` | 无代码块标记的JSON,通过匹配大括号定位目标内容 | ## 快速使用指南 python from datasets import load_dataset import json ds = load_dataset("mukunda1729/llm-output-extraction-cases", split="train") extractable = [r for r in ds if r["expected"] is not None] print(f"可提取样本数:{len(extractable)},总样本数:{len(ds)}") ## 相关资源 - [PyPI平台上的agentcast库](https://pypi.org/project/agentcast-py/) - [AI智能体可靠性栈](https://mukundakatta.github.io/agent-stack/) ## 许可证 本数据集采用MIT许可证。



