做 RAG 检索增强或模型微调时,一份结构规整的语料数据集能省掉大量清洗工作。站点将精选的数据集归档在夸克网盘「数据集」专区。本指南介绍该资源库的定位、当前收录的数据集及其使用方法。

前置教程

如想快速开始学习本教程,你可能需要先完成以下前置教程:

资源下载

1. 数据集资源库是什么

1.1 定位与作用

数据集资源库收录适合直接投入 RAG 检索增强、模型微调与数据处理练习的语料数据集,每个数据集一个独立文件夹,内含数据文件与说明文档。与示例代码分区(代码资源)、模型文件分区(模型权重)并列,数据集分区提供的是喂给模型的知识与语料。

资源中心共设示例代码、模型文件、skills技能、直播回放、数据集五个分区,本指南介绍其中的数据集分区。

1.2 数据集从下载到使用

graph LR A["下载数据集"] --> B["解析 JSONL 记录"] B --> C["清洗与切分"] C --> D["向量化入库或构造训练样本"] D --> E["RAG 问答或模型微调"] style A fill:#e8f4f8,stroke:#1a6b8a style B fill:#d6eaf8,stroke:#2980b9 style C fill:#ffecd6,stroke:#b7950b style D fill:#d5f5e3,stroke:#27ae60 style E fill:#fdebd0,stroke:#e67e22

2. 当前收录:全病种医患对话数据集

2.1 基本信息

资源库当前收录 opus5-5diseaseconversations(全人类疾病医患对话数据集),由 Claude Opus 5.5 逐病种生成并经自动化校验,是 Opus 4.8 版同类数据集的续作:

项目 说明
记录数 2,194 条临床诊疗记录,覆盖 2,194 种独立人类疾病
格式 JSONL,每行一条记录,每条记录 20 个键
体积 约 75 MB
对话 ChatML 格式,平均 33.4 轮,每条约 5,700 token,全集约 1,250 万 token
引用 共 6,377 条经 NCBI 核验的 PubMed 文献引用,涉及 4,198 个不同 PMID
语言 英文
许可 Apache-2.0

文件夹内除 JSONL 数据文件外,还附英文原版 README 与中文译版 README,中文译版仅供理解数据集使用,口径以英文原版为准。

2.2 数据结构

每条记录固定 20 个键,核心字段如下:

字段组 说明
name、aliases、search 病种规范名、同义名与检索词
description 临床描述
related_drugs 相关药物,含品牌名、成分与 ATC 编码
drug_interactions、food_interactions 药物相互作用与食物相互作用
pubmed_refs 本记录实际引用的 PubMed 文献(PMID、标题、年份)
icd10、prevalence、body_systems ICD-10 编码、流行病学描述与涉及的人体系统
clinician_persona、patient_scenario 医生角色设定与患者场景设定
conversation ChatML 对话主体,角色为 system、user、assistant
common_mistakes、differential_diagnosis 临床易错点与鉴别诊断
related_diseases、executive_summary 相邻病症与病例摘要

2.3 数据质量特性

该数据集在生成环节做了多重校验,这也是它适合直接使用的原因:结构化临床字段取自人工策展数据源,模型不自行编造;每条记录的文献引用逐一在 NCBI 核验过标题;血气分析、阴离子间隙、给药剂量等数值满足内部一致性约束;药物相互作用经加拿大卫生部开放数据核验。每场对话还设计有且仅有一处患者隐瞒或说谎的情节,由医生委婉识破并纠正,更贴近真实问诊。

3. 获取与使用步骤

3.1 下载数据集

从站点顶部导航「资源」下拉菜单选择「数据集」进入分享页,将 opus5-5diseaseconversations 文件夹转存到自己的网盘后下载,总体积不到 100 MB,网页端直接下载也可行。

3.2 解析 JSONL

JSONL 每行一个独立的 JSON 对象,用 Python 逐行读取即可:

import json

records = []
with open("opus5-5diseaseconversations.jsonl", "r", encoding="utf-8") as f:
    for line in f:
        line = line.strip()
        if line:
            records.append(json.loads(line))

print(len(records))                     # 记录总数
print(records[0]["name"])               # 第一条记录的病种名
print(len(records[0]["conversation"]))  # 对话轮数

3.3 两种典型用法

做 RAG 知识库。 将每条记录的 executive_summary 与 description 等字段构造为知识条目,向量化后导入向量数据库,conversation 部分可作为长对话语料按轮切分,检索流程见前置教程。

做微调语料。 conversation 字段即用型 ChatML 格式,可直接转换为训练框架要求的消息列表:

messages = [
    {"role": m["role"], "content": m["content"]}
    for m in records[0]["conversation"]
]

4. 使用建议与合规

注意语料语言与合成属性。 对话语料为英文,且全部为模型合成的模拟病例,不代表真实患者记录;用于中文场景前需评估语言适配,用于医疗相关产品前需专业人士复核。

遵守许可协议。 数据集采用 Apache-2.0 许可,商用与二次分发按协议条款执行;官方 README 明确说明该数据集不构成医疗建议。

5. 总结

5.1 核心内容回顾

  • 数据集分区收录适合 RAG 与微调的规整语料,当前收录全病种医患对话数据集。
  • 数据集共 2,194 条记录、20 键结构、ChatML 对话格式,文献引用经 NCBI 核验。
  • 典型用法是构造 RAG 知识条目,或转换为微调训练样本。

5.2 常见问题与解答

问:数据集有中文版吗?

答:对话语料为英文;分享内附中文译版 README 便于理解数据结构,数据本身以英文原版为准。

问:可以用于商业项目吗?

答:数据集采用 Apache-2.0 许可,允许商用;医疗场景请自行完成合规评估与专业复核。

问:为什么数据集分区当前只有一个数据集?

答:数据集分区按需精选收录,随教程与项目推进陆续扩充,已收录的数据集会长期维护。