ThoughtSource
生物医学领域最大的思维链推理数据集仓库,汇集22个数据集的人类+AI推理链,赋能大模型可解释推理研究
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
生物医学领域最大的思维链推理数据集仓库,汇集22个数据集的人类+AI推理链,赋能大模型可解释推理研究
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:你是一名医学生,正在备考执业医师资格考试。面前有道题目:「患者出现黄疸伴腹痛,可能的诊断是什么?」AI 模型的回答是「胆管结石」,但你不知道它是怎么得出这个结论的——是真正理解了医学知识,还是在「蒙答案」?
ThoughtSource 正是为解决这类问题而生的。作为生物医学领域最大的思维链(Chain-of-Thought, CoT)推理数据集仓库,它收录了 22 个公开数据集,并为每个样本标注了「人类推理过程」和「AI 推理过程」,让研究者能够系统性地评估和比较不同大模型的推理能力。
2022 年,Google 研究院的 Wei 等人在论文 Chain-of-Thought Prompting Elicits Reasoning in Large Language Models 中首次提出:给大模型展示「解题思路」,模型就能产生更准确的答案。这篇论文引爆了整个 AI 社区,CoT 成为评估 LLM 推理能力的核心范式。
然而,CoT 研究面临一个根本问题:缺乏统一的数据标准和评估框架。不同研究团队各自为战,使用不同的数据集格式、不同的评估指标,实验结果难以横向比较。
维也纳大学 Samwald 研究团队敏锐地捕捉到了这一痛点,于 2023 年初正式发布 ThoughtSource——一个「中央枢纽」式的开源项目,目标是为 CoT 推理研究提供统一的数据、工具和评测基准。
ThoughtSource 采用 monorepo 结构,包含三个核心组成部分:
libs/cot:Python 核心推理库这是整个项目的心脏,提供了完整的数据处理和推理生成能力。核心模块包括:
数据加载(dataloader.py)
Collection 类是统一的数据加载接口,支持从 HuggingFace Datasets 格式直接加载所有 22 个数据集。关键特性包括:支持从本地 JSON 文件恢复数据集(Collection.from_json())、支持样本选择(collection.select())来筛选特定数据集/切分/样本量、支持加载预生成的推理链(load_pregenerated_cots)避免重复调用 API。
推理生成(generate.py)
通过 generate() 方法调用外部大模型生成思维链。内置支持两种 API 服务:openai(GPT 系列)和 huggingface_hub(Flan-T5、Cohere 等开源模型)。配置通过 instruction_keys、cot_trigger_keys、answer_extraction_keys 三个参数精细控制提示词模板,适配不同模型的不同响应格式。
性能评估(evaluate.py)
统一的评估框架,支持准确率(Accuracy)指标,自动从模型输出中提取答案并与标准答案比对,返回格式化的评测报告。
apps/:三个配套应用annotator(React + TypeScript) — 推理链标注工具。允许研究者高亮不同推理链之间的相似片段,直观比较同一问题下不同模型的推理路径差异,便于筛选最优推理结果。
annotator-backend(Flask + MongoDB) — annotator 的后端服务,提供推理链的存储和相似度计算。依赖 scikit-learn 的相似度算法,支持版本管理。
dataset-viewer(Streamlit) — 数据集浏览器。以交互式 Web 界面展示 ThoughtSource 数据集的内容和元数据,用户可直接在浏览器中浏览样本、查看推理链结构。
ThoughtSource 收录的数据集分为三大类:
通用问答类:CommonsenseQA(常识推理)、StrategyQA(隐含推理策略)、OpenBookQA(基础科学知识)、WorldTree V2(词网层级推理)。
数学应用题类:GSM8K(小学数学)、Aqua(代数推理)、ASDiv(多样化数学问题表述)、MAWPS 和 SVAMP(其他数学数据集)。
生物医学类(项目的核心特色):MedQA 涵盖美国执业医师考试(USMLE)真实题目;MedMCQA 来自印度医学入学考试;MMLU 的 6 个医学子集(解剖学、临床知识、生物学等);PubMedQA 基于 PubMed 文献摘要的生物医学问答;以及 ThoughtSource 团队自建的 ThoughtSource-100 精选集合,汇集了多个数据集中的代表性样本。
每个数据集提供三种推理链来源:人类标注(黄金标准)、AI 生成(few-shot) 和 AI 生成(zero-shot),方便研究者对比人类与 AI 的推理差异。
# 安装
pip install -e ./libs/cot[api]
# 加载数据集(以 WorldTree 为例)
from cot import Collection
collection = Collection(["worldtree"], verbose=False)
collection = collection.select(split="train", number_samples=10)
# 配置模型推理参数
config = {
"instruction_keys": ['qa-01'],
"cot_trigger_keys": ['kojima-01'],
"answer_extraction_keys": ['kojima-A-D'],
"api_service": "huggingface_hub",
"engine": "google/flan-t5-xl",
"warn": False,
"verbose": False,
}
# 生成推理链 + 评估
collection.generate(config=config)
collection.evaluate()
# 输出: {'accuracy': {'qa-01_kojima-01_kojima-A-D': 0.6}}
尽管 ThoughtSource 是目前最全面的 CoT 推理数据集之一,但它也存在一些局限:
数据集质量参差不齐:并非所有数据集都经过了严格的人工校验,部分推理链存在标注错误或歧义。
医学领域的局限性:虽然 ThoughtSource 重点关注生物医学,但其覆盖的医学数据集仍以选择题为主,与真实临床场景中的开放式诊断推理存在差距。
模型依赖 OpenAI API:推理生成高度依赖外部 API 服务,存在成本和隐私方面的顾虑。
缺乏自动化评估指标:目前仅支持准确率这一单一指标,无法评估推理过程的质量和逻辑连贯性。
ThoughtSource 的出现标志着 CoT 推理研究从「各自为战」走向「标准化协作」。它不仅是一个数据集仓库,更是一套完整的研究方法论——统一的数据格式、标准化的评测流程、可复现的推理生成工具。
截至目前,该项目已获得 1016 颗 GitHub Stars,被多篇学术论文引用,成为生物医学 AI 推理领域的重要基准资源。随着 Samwald 团队持续更新数据集和工具,ThoughtSource 有望在推动可信赖 AI 推理(Trustworthy AI Reasoning)方面发挥更大作用。
项目链接:OpenBioLink/ThoughtSource | 许可证:MIT | 主分支:main | 编程语言:Jupyter Notebook(主要)+ Python