SuperAPI AI 工具集

hypogenic

写作与研究

查看项目

更新于 10-15 13:11

技能介绍

Hypogenic 是一套利用大语言模型实现自动化科学假设生成与测试的框架,主要目标是加速科学发现过程。它支持三种方法:HypoGeniC、HypoRefine 与 Union 方法。

一、用途与主要能力

Hypogenic 面向需要假设驱动分析的场景,可用于:从观测数据集中生成科学假设;系统化地测试多个竞争假设;将文献见解与实证模式相结合;通过自动化假设构思加速研究发现。典型应用领域包括欺骗检测、AI 生成内容识别、心理健康指标、预测建模等实证研究。

其三种核心方法如下:

  1. HypoGeniC(数据驱动假设生成):仅从观测数据出发,通过迭代优化生成假设。流程为:先用小数据子集初始化生成候选假设,再根据性能迭代优化,并用困难示例替换表现不佳的假设。适用于没有现成文献的探索性研究、新数据集中的模式发现。

  2. HypoRefine(文献与数据整合):通过智能体框架将现有文献与实证数据协同结合。流程为:从相关研究论文(通常约10篇)中抽取见解,生成基于理论的假设,同时从观测模式生成数据驱动假设,并对两个假设库进行迭代优化。适用于已有理论基础的领域,用于验证或扩展既有理论。

  3. Union 方法:将仅来自文献的假设与框架输出进行机制化组合。变体包括 Literature ∪ HypoGeniC 和 Literature ∪ HypoRefine。适用于追求全面假设覆盖、在保持视角多样性的同时消除冗余。

二、使用方式

安装:使用 uv pip install hypogenic。可选依赖包括:Redis 服务器(端口 6832),用于缓存 LLM 响应以显著降低迭代假设生成中的 API 成本;s2orc-doc2json,用于 HypoRefine 工作流中的文献 PDF 处理;GROBID,用于 PDF 预处理。

克隆示例数据集:

  • HypoGeniC 示例:git clone https://github.com/ChicagoHAI/HypoGeniC-datasets.git ./data
  • HypoRefine/Union 示例:git clone https://github.com/ChicagoHAI/Hypothesis-agent-datasets.git ./data

快速开始:

安装包

uv pip install hypogenic

克隆示例数据集

git clone https://github.com/ChicagoHAI/HypoGeniC-datasets.git ./data

运行基础假设生成

hypogenic_generation --config ./data/your_task/config.yaml --method hypogenic --num_hypotheses 20

对生成的假设运行推理

hypogenic_inference --config ./data/your_task/config.yaml --hypotheses output/hypotheses.json

Python API 示例:

from hypogenic import BaseTask

# 用配置创建任务
task = BaseTask(config_path="./data/your_task/config.yaml")

# 生成假设
task.generate_hypotheses(method="hypogenic", num_hypotheses=20)

# 运行推理
results = task.inference(hypothesis_bank="./output/hypotheses.json")

数据集格式要求:必须遵循 HuggingFace datasets 格式,包含 <TASK>_train.json、<TASK>_val.json、<TASK>_test.json。JSON 必需键包括 text_features_1 至 text_features_n(字符串列表)和 label(字符串列表)。所有列表长度必须一致,label 格式必须与 extract_label() 函数输出格式匹配。

配置:每个任务需提供 config.yaml,指定数据集路径(train/val/test)及各类提示模板(观测生成、批量假设生成、假设推理、相关性检查、HypoRefine 的自适应方法)。模板支持数据集占位符动态注入变量(如 ${text_features_1}、${num_hypotheses})、领域特定的自定义标签抽取函数以及基于角色的提示结构。

文献处理(HypoRefine/Union 方法):需预处理 PDF 论文。步骤包括:首次运行 bash ./modules/setup_grobid.sh 安装 GROBID;将论文 PDF 放入 literature/YOUR_TASK_NAME/raw/;启动 GROBID 服务 bash ./modules/run_grobid.sh;在 examples 目录运行 python pdf_preprocess.py --task_name YOUR_TASK_NAME。未来版本将支持自动文献搜索。

CLI 与 Python API:hypogenic_generation 支持指定任务配置、模型选择、生成方法、假设数量与输出目录;hypogenic_inference 支持指定配置、假设库文件、测试数据集、推理方法与输出文件。Python API 还提供多假设推理 run_multi_hypothesis_inference,以及自定义 extract_label() 函数用于解析 LLM 输出(默认匹配 'final answer:\s+(.*)' 模式)。

三、性能优化与已知成效

优化方式包括:启用 Redis 缓存以减少重复 LLM 调用的 API 成本与计算时间;利用多 worker 并行处理大规模假设生成与测试;使用困难示例进行自适应优化以提升假设质量。

根据资料,研究显示:相较 few-shot 基线提升 8.97%,相较仅文献方法提升 15.75%,假设多样性达 80-84%(非冗余见解),人类评估者报告决策有显著提升。在 AI 内容检测任务中准确率提升 14.19%,欺骗检测任务中准确率提升 7.44%。

四、限制与注意事项

资料中提及的常见问题及解决方式包括:生成的假设过于笼统时需优化 config.yaml 中的提示模板;推理性能不佳时需确保数据集有足够训练样本、调整假设生成参数或增加假设数量;标签抽取失败时需实现自定义 extract_label() 函数;GROBID PDF 处理失败时需确保服务运行且 PDF 为有效研究论文。此外,使用 HypoRefine/Union 需要预先准备相关文献 PDF 并完成 GROBID 预处理。