当前位置: 首页 > news >正文

今日开源[第21期]yifanfeng97/Hyper-Extract - zhang

yifanfeng97/Hyper-Extract 项目分析

分析日期:2026-06-21
项目地址:https://github.com/yifanfeng97/Hyper-Extract


一、项目介绍

1.1 项目概述

Hyper-Extract 是一个智能的、由大语言模型(LLM)驱动的知识提取与演进框架。核心理念是 "Stop reading. Start understanding."(告别文档焦虑,让信息一目了然)。它能以一条命令将高度非结构化的文本转化为持久化、可预测、强类型的知识摘要(Knowledge Abstracts)

项目由 Yifan Feng(evanfeng97@gmail.com)开发,采用 Apache-2.0 协议开源。当前版本 v0.2.0(2026-05-18),处于 Alpha 活跃开发阶段,于 2026 年 6 月 19 日登上 GitHub Trending。

1.2 项目地址与官网

项目 链接
GitHub 仓库 https://github.com/yifanfeng97/Hyper-Extract
官方文档 https://yifanfeng97.github.io/Hyper-Extract/latest/
作者 Yifan Feng (evanfeng97@gmail.com)
许可证 Apache-2.0
当前版本 v0.2.0 (2026-05-18)
开发状态 Alpha(活跃开发中)
Star 数 约 2,000+(2026-06-19 登上 GitHub Trending)
编程语言 Python 100%

1.3 项目示意图

文档中包含多张架构图和效果图:

  • Hero 工作流图:展示从文档到知识摘要的完整流程
  • 知识结构矩阵图:8 种 Auto-Types 的可视化概览
  • 系统架构图:三层架构(Templates → Methods → Auto-Types)
  • AutoGraph 可视化效果图:交互式知识图谱可视化截图
  • 知识图谱交互式可视化:Web 端的图谱浏览效果

二、项目亮点

2.1 核心亮点

亮点 说明
8 种知识结构 AutoModel、AutoList、AutoSet、AutoGraph、AutoHypergraph、AutoTemporalGraph、AutoSpatialGraph、AutoSpatioTemporalGraph,覆盖从简单列表到复杂时空超图的全谱系
10+ 提取引擎 GraphRAG、LightRAG、Hyper-RAG、Hypergraph-RAG、Cog-RAG、KG-Gen、iText2KG、iText2KG*、ATOM 等
80+ YAML 模板 零代码提取,覆盖金融、法律、医疗、中医、工业、通用 6 大领域
增量演进 随时喂入新文档,自动扩展和精炼知识库,无需重新处理
Obsidian 导出 将提取的图谱导出为 Obsidian 知识库,支持 [[双向链接]] 关联的 Markdown 笔记
MCP 服务器 通过 Model Context Protocol 暴露知识摘要给 Claude Desktop、IDE 智能体等
交互式 CLI 完整的命令行工具,支持解析、搜索、可视化、对话、导出
多语言支持 中英文双语支持

2.2 主要功能

功能 描述
CLI 工具 he parse(解析文档)、he search(语义搜索)、he show(可视化)、he talk(对话问答)、he feed(增量添加)、he export obsidian(导出 Obsidian)
Python SDK Template.create() 创建模板、parse() 提取、feed_text() 增量添加、search() 搜索、chat() 对话、show() 可视化、dump()/load() 持久化
语义搜索与 RAG 问答 基于 FAISS 向量索引的语义检索
Provider 系统 统一接口支持 OpenAI、阿里云百炼、本地 vLLM、Anthropic Claude

2.3 8 种 Auto-Types 详解

类别 类型 说明 典型场景
记录型 AutoModel 单结构化对象 论文元数据、人物简介
记录型 AutoList 有序数组 操作步骤、事件时间线
记录型 AutoSet 去重集合 关键词集合、标签列表
图谱型 AutoGraph 二元关系图 作者-论文、公司-高管
图谱型 AutoHypergraph 多元关系(超边) 多方合同、方剂组成
图谱型 AutoTemporalGraph 时序关系 事件演化、股价时序
图谱型 AutoSpatialGraph 空间关系 地理分布、设备拓扑
图谱型 AutoSpatioTemporalGraph 时空关系 疫情传播、物流轨迹

2.4 10+ 提取引擎

引擎 类别 特点
iText2KG 直接提取 高质量三元组提取
iText2KG* 直接提取 增强版 iText2KG
KG-Gen 直接提取 知识图谱生成器
ATOM 直接提取 时序知识图谱 + 证据溯源
LightRAG RAG 增强 轻量级图 RAG,速度最快
GraphRAG RAG 增强 社区检测 + 层次摘要,适合超大文档
Hyper-RAG RAG 增强 超图 RAG,N 元关系
Hypergraph-RAG RAG 增强 高级超图 RAG
Cog-RAG RAG 增强 认知 RAG

三、项目运行环境与运行条件

3.1 技术栈

类别 技术
编程语言 Python >= 3.11
LLM 框架 langchain >= 1.2.6
向量索引 FAISS (faiss-cpu >= 1.3.2)
CLI 框架 Typer + Rich
日志 structlog
本体可视化 ontosight
语义哈希 semhash
包管理 推荐 uv(也支持 pip)

3.2 核心依赖

依赖 用途
langchain (>=1.2.6) LLM 框架基础
langchain-openai (>=1.1.7) OpenAI 兼容接口
langchain-community (>=0.4.1) 社区扩展
faiss-cpu (>=1.3.2) 向量索引与语义搜索
structlog (>=25.5.0) 结构化日志
ontomem (>=0.2.3) 本体记忆
ontosight (>=0.1.8) 本体可视化
semhash (>=0.4.1) 语义哈希
typer (>=0.13.0) CLI 框架
rich (>=13.7.0) 终端美化输出
tomli-w (>=1.0.0) TOML 配置写入
python-dotenv (>=1.2.1) 环境变量管理

3.3 可选依赖

依赖组 用途
langchain-anthropic (>=0.3.0) Anthropic Claude 支持
langchain-google-genai (>=2.1.0) Google Gemini 支持
MCP 支持 pip install 'hyperextract[mcp]'

3.4 已验证的模型

平台 模型 能力 显存需求
OpenAI gpt-4o, gpt-4o-mini, gpt-5 LLM + Embedding 无(云端)
Anthropic claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5 仅 LLM 无(云端)
阿里云百炼 qwen-plus, qwen-turbo, deepseek-r1 LLM + Embedding 无(云端)
本地 vLLM Qwen3.5-9B (GPTQ-Marlin 4bit) LLM ~8GB VRAM
本地 vLLM BAAI/bge-m3 Embedding ~2GB VRAM

3.5 关键限制

Hyper-Extract 依赖 LLM 的 json_schema 结构化输出能力。阿里云百炼的 qwen-max 和 deepseek-v3 不支持 json_schema,无法使用。本地部署需要禁用 thinking 模式(--default-chat-template-kwargs '{"enable_thinking": false}')。

3.6 安装方式

# 基础安装
pip install hyperextract# 或使用 uv
uv pip install hyperextract# 安装 MCP 支持
pip install 'hyperextract[mcp]'# 安装 Anthropic 支持
pip install 'hyperextract[anthropic]'

四、项目代码介绍

4.1 代码架构图

Hyper-Extract/
├── .github/                    # GitHub Actions CI/CD 配置
├── docs/                       # 文档站点资源(MkDocs Material)
│   └── assets/                 # 图片、Logo 等静态资源
├── examples/                   # 示例代码(中英文)
│   ├── en/                     # 英文示例
│   └── zh/                     # 中文示例
├── hyperextract-skills/        # 技能/教程文档
├── hyperextract/               # 核心源代码
│   ├── __init__.py             # 包入口,暴露所有公共 API
│   ├── mcp_server.py           # MCP 服务器实现
│   ├── cli/                    # CLI 命令行工具
│   ├── types/                  # 8 种 Auto-Type 数据结构
│   ├── methods/                # 提取算法/方法
│   ├── templates/              # YAML 模板系统
│   │   ├── presets/            # 80+ 预设模板
│   │   │   ├── general/        # 通用领域(13个模板)
│   │   │   ├── finance/        # 金融领域(5个模板)
│   │   │   ├── medicine/       # 医疗领域(5个模板)
│   │   │   ├── tcm/            # 中医领域(5个模板)
│   │   │   ├── industry/       # 工业领域(5个模板)
│   │   │   └── legal/          # 法律领域(5个模板)
│   │   └── DESIGN_GUIDE.md     # 模板设计指南
│   └── utils/                  # 工具模块
│       ├── client.py           # Provider 客户端工厂
│       ├── logging.py          # 日志配置
│       ├── obsidian.py         # Obsidian 导出工具
│       └── template_engine/    # 模板引擎
├── tests/                      # 测试代码
├── pyproject.toml              # 项目配置与依赖
├── mkdocs.yml                  # 文档站点配置
├── README.md / README_ZH.md    # 中英文 README
└── LICENSE                     # Apache-2.0

4.2 三层架构

┌─────────────────────────────────────┐
│           Templates 层              │
│  80+ 领域预设模板 (YAML)             │
│  零代码配置,覆盖6大领域              │
├─────────────────────────────────────┤
│           Methods 层                │
│  提取算法:GraphRAG, LightRAG,       │
│  Hyper-RAG, KG-Gen, iText2KG 等     │
├─────────────────────────────────────┤
│          Auto-Types 层              │
│  8 种强类型数据结构                  │
│  Model/List/Set/Graph/Hypergraph/   │
│  Temporal/Spatial/SpatioTemporal    │
└─────────────────────────────────────┘

4.3 核心模块介绍

4.3.1 hyperextract/types/ — Auto-Types 层

定义 8 种提取结果的数据结构,分为两大类别:

Record Types(记录型)

  • AutoModel:单结构化对象
  • AutoList:有序数组
  • AutoSet:去重集合

Graph Types(图谱型)

  • AutoGraph:二元关系
  • AutoHypergraph:多元关系/超边
  • AutoTemporalGraph:时序关系
  • AutoSpatialGraph:空间关系
  • AutoSpatioTemporalGraph:时空关系

所有类型都继承自 BaseAutoType,提供统一的 API:

  • parse():提取
  • feed_text():增量添加
  • search():语义搜索
  • chat():对话问答
  • show():可视化
  • dump()/load():持久化
  • build_index():构建向量索引

4.3.2 hyperextract/methods/ — 提取引擎

Typical Methods(直接提取)

  • itext2kg:高质量三元组提取
  • itext2kg_star:增强版 iText2KG
  • kg_gen:知识图谱生成器
  • atom:时序知识图谱 + 证据溯源

RAG-Based Methods(检索增强)

  • light_rag:轻量级图 RAG,速度最快
  • graph_rag:社区检测 + 层次摘要,适合超大文档
  • hyper_rag:超图 RAG,N 元关系
  • hypergraph_rag:高级超图 RAG
  • cog_rag:认知 RAG

4.3.3 hyperextract/templates/ — 模板系统

YAML 格式的领域模板系统,定义提取什么、如何结构化输出、提取指南。模板结构包含:

  • language:语言(zh/en)
  • type:Auto-Type 类型
  • output:entities/relations/fields 定义
  • guideline:提取规则
  • identifiers:实体标识符

80+ 预设模板覆盖 6 大领域:

领域 模板数 示例
通用 13 academic_graph, concept_graph, timeline
金融 5 earnings_summary, event_timeline, risk_analysis
法律 5 contract_obligation, case_fact_timeline
医疗 5 treatment_map, drug_interaction
中医 5 formula_composition, syndrome_reasoning
工业 5 operation_flow, failure_case, equipment_topology

4.3.4 hyperextract/cli/ — CLI 命令行工具

基于 Typer 的命令行工具,提供丰富的子命令:

命令 功能
he parse 解析文档,提取知识摘要
he search 语义搜索知识库
he show Web 端交互式可视化
he talk RAG 对话问答
he feed 增量添加新文档
he config 配置 Provider 和模型
he build-index 重建向量索引
he export 导出 Obsidian 等格式
he info 查看知识摘要信息
he list 列出可用模板

4.3.5 hyperextract/utils/ — 工具模块

  • client.py:Provider 统一工厂,支持字符串简写:
    • create_client("openai") → OpenAI
    • create_client("bailian") → 阿里云百炼
    • create_client("anthropic") → Anthropic Claude
    • create_client(llm="vllm:model@url") → 本地 vLLM
  • template_engine/:模板引擎,YAML 解析、方法合并策略、模板实例化
  • obsidian.py:零依赖 Obsidian vault 导出器
  • logging.py:结构化日志配置

4.3.6 hyperextract/mcp_server.py — MCP 服务器

基于 FastMCP 的 Model Context Protocol 服务器,暴露以下工具:

  • list_templates:列出可用模板
  • info:查看知识摘要信息
  • search:语义搜索
  • ask:RAG 问答
  • export_obsidian:导出 Obsidian

4.4 核心代码解析

4.4.1 使用示例

from hyperextract import Template# 从预设模板创建(零代码)
template = Template.from_preset("general/academic_graph")# 解析文档
knowledge = template.parse("path/to/paper.pdf")# 增量添加新文档
knowledge.feed_text("new_paper.pdf")# 语义搜索
results = knowledge.search("transformer attention mechanism", top_k=5)# RAG 对话
answer = knowledge.chat("这篇论文的主要贡献是什么?")# 可视化
knowledge.show()# 持久化
knowledge.dump("knowledge.pkl")# 导出 Obsidian
knowledge.export_obsidian("my_vault/")

4.4.2 CLI 使用示例

# 配置 Provider
he config --provider openai --model gpt-4o# 解析文档
he parse paper.pdf --template general/academic_graph# 语义搜索
he search "transformer attention mechanism"# 可视化
he show# 对话问答
he talk "这篇论文的主要贡献是什么?"# 增量添加
he feed new_paper.pdf# 导出 Obsidian
he export obsidian my_vault/

4.4.3 超图建模原理

传统知识图谱(二元关系):(实体A) --关系--> (实体B)例如: (张三) --任职于--> (阿里巴巴)超图(Hyper-Extract 支持):超边: {实体A, 实体B, 实体C, ...} --关系--> 属性例如: {甲方公司, 乙方供应商, 丙方担保人} --合同义务--> {付款500万, 交付日期2026-07-01}

4.4.4 增量合并策略

# 增量合并支持多种策略
knowledge.feed_text("new_document.pdf",merge_strategy="llm_prefer_incoming",  # LLM 判断,优先新数据# merge_strategy="llm_prefer_existing",  # LLM 判断,优先现有数据# merge_strategy="keep_both",            # 两者都保留
)

4.4.5 核心代码文件清单

文件 功能
hyperextract/__init__.py 包入口,暴露所有公共 API
hyperextract/mcp_server.py MCP 服务器实现
hyperextract/cli/ CLI 命令行工具
hyperextract/types/ 8 种 Auto-Type 数据结构
hyperextract/methods/ 10+ 提取算法引擎
hyperextract/templates/presets/ 80+ YAML 预设模板
hyperextract/utils/client.py Provider 客户端工厂
hyperextract/utils/obsidian.py Obsidian 导出工具
hyperextract/utils/template_engine/ 模板引擎

五、项目的应用、优点和不足

5.1 应用场景

场景 描述 推荐模板/方法
科研论文分析 将 20 页学术论文转为知识图谱,提取关键概念、作者、引用关系 general/academic_graphgeneral/concept_graph
金融报告提取 从财报、新闻中自动识别公司、高管、财务指标及关系 finance/earnings_summaryfinance/event_timeline
法律合同分析 提取合同方义务、案例时间线、引用关系 legal/contract_obligationlegal/case_fact_timeline
医疗临床文档 从临床指南、出院小结中提取诊疗方案、药物相互作用 medicine/treatment_mapmedicine/drug_interaction
中医文献 提取方剂组成(君臣佐使)、证候推理、经络穴位关系 tcm/formula_compositiontcm/syndrome_reasoning
工业运维 从 SOP、故障报告中提取操作流程、安全控制、设备拓扑 industry/operation_flowindustry/failure_case
本地数据安全 通过 vLLM 本地部署,数据不出境 vllm:Qwen3.5-9B + bge-m3
知识库构建 增量添加文档,持续扩展知识摘要 feed_text() 增量演进

5.2 项目优点

优点 说明
知识结构全面 8 种 Auto-Type 覆盖从简单列表到复杂时空超图的全谱系,远超 GraphRAG、LightRAG 等同类工具仅支持二元图
超图支持 唯一原生支持超图(Hypergraph)的开源知识提取工具,能处理多元关系(如多方合同义务、方剂组成)
时空图谱 原生支持时序图和空间图,可提取带时间和位置信息的关系
模板驱动、零代码 80+ YAML 预设模板覆盖 6 大领域,用户无需编写任何提取逻辑
增量演进 支持持续喂入新文档,自动去重和合并,知识库可随时间增长
Provider 统一抽象 一行代码切换 OpenAI / 百炼 / vLLM / Anthropic,支持本地部署
完整工具链 CLI + Python SDK + MCP 服务器 + Obsidian 导出,生态完整
多语言 中英文双语支持,模板和文档均双语
交互式可视化 he show 提供 Web 端交互式知识图谱可视化
语义搜索与问答 基于 FAISS 的向量检索 + RAG 对话

5.3 项目不足与待改进

不足 说明
开发阶段早 当前版本 v0.2.0,状态为 Alpha,API 可能仍有变动,生产环境稳定性待验证
依赖 LLM 结构化输出 必须使用支持 json_schema 的模型,部分国产模型(如 qwen-max、deepseek-v3)不兼容
本地模型选择有限 目前仅深度验证了 Qwen3.5-9B (GPTQ-Marlin),其他本地模型兼容性未充分测试
无正式学术论文 项目似乎没有对应的 arXiv 论文,主要是工程实践项目,理论创新有限
提取质量依赖 LLM 知识提取的准确性和完整性完全取决于底层 LLM 的能力,对复杂专业领域可能不够精确
大文档处理成本 使用 GraphRAG 等方法处理超大文档时,API 调用成本较高
社区规模较小 虽然近期增长迅速,但贡献者数量有限,生态插件较少
超图可视化有限 超图的可视化效果可能不如传统知识图谱直观
嵌入模型依赖 语义搜索功能需要额外的 Embedding 模型,增加了部署复杂度
中文模板覆盖有限 虽然模板覆盖 6 大领域,但每个领域仅 5 个模板,覆盖广度有限

5.4 与同类工具对比

特性 GraphRAG LightRAG KG-Gen ATOM Hyper-Extract
知识图谱 Yes Yes Yes Yes Yes
时序图谱 Yes No No Yes Yes
空间图谱 No No No No Yes
超图 No No No No Yes
领域模板 No No No No Yes (80+)
交互式 CLI Yes No No No Yes
多语言 Yes No No No Yes
Obsidian 导出 No No No No Yes
MCP 服务器 No No No No Yes

5.5 社区与生态

  • GitHub Trending:2026-06-19 登上 GitHub Trending,日增 124+ star
  • 多语言文档:README 提供中英文双语,文档站点完整
  • 示例丰富examples/ 目录包含中英文示例代码
  • MCP 集成:支持 Claude Desktop、IDE 智能体等通过 MCP 协议调用
  • Obsidian 生态:零依赖导出 Obsidian vault,支持 [[双向链接]]

六、总结

Hyper-Extract 是一个设计精良的 LLM 驱动知识提取框架,其核心价值在于:

  1. 知识结构最全面:8 种 Auto-Type 覆盖从简单列表到复杂时空超图的全谱系,是目前唯一原生支持超图的开源知识提取工具
  2. 模板驱动零代码:80+ YAML 预设模板覆盖金融、法律、医疗、中医、工业、通用 6 大领域,用户无需编写任何提取逻辑
  3. 增量演进设计:支持持续喂入新文档,自动去重和合并,知识库可随时间增长
  4. 完整工具链:CLI + Python SDK + MCP 服务器 + Obsidian 导出,覆盖从提取到消费的全流程

项目采用三层架构(Templates → Methods → Auto-Types)实现配置、算法、数据结构的完全解耦,Provider 统一抽象支持 OpenAI / 百炼 / vLLM / Anthropic 一键切换。对于需要从非结构化文档中构建结构化知识库的团队,Hyper-Extract 提供了一个开箱即用、零代码配置的解决方案。

主要短板在于项目处于 Alpha 阶段(v0.2.0),API 稳定性待验证,社区和生态正在建设中,且对 LLM 的 json_schema 能力有硬性依赖。


参考来源

  1. Hyper-Extract GitHub 仓库
  2. Hyper-Extract 官方文档
  3. Hyper-Extract PyPI 页面
http://www.jsqmd.com/news/1058117/

相关文章:

  • 2026潍坊防水补漏避坑指南:卫生间/厨房/阳台/屋顶/地下室漏水检测维修全攻略,正规施工+透明报价+口碑榜靠谱服务商推荐 - 安佳防水
  • Hugging Face api申请流程(支持最新模型GLM-5.2)
  • 深入解析跨平台自动化框架KeymouseGo的微内核架构设计与高性能事件驱动实现原理
  • 2026大模型实战生存地图:RAG+Agent协同开发指南
  • 2026滨州漏水检测维修本地口碑防水商家榜单:厨卫/阳台/屋面/地下室渗漏水维修,持证施工+明码实价,防水补漏公司TOP5推荐 - 即刻修防水
  • Java密码存储安全升级:从MD5到Bcrypt与Argon2实战指南
  • 2026年当前,如何甄选徐州靠谱的轴连轴承源头厂家?徐州优力同创轴连轴承深度解析 - 品牌鉴赏官2026
  • 从S12XE到MPC5604B:嵌入式硬件平台迁移的电源、布局与调试实战
  • Linux time命令深度解析:real/user/sys时间原理与性能诊断
  • STL转STEP终极指南:3步实现3D模型从打印到设计的完美转换
  • 2026年国内AI大模型开发培训机构综合测评 线上线下课程选型参考 - 互联网科技品牌测评
  • React Context 管理用户状态的正确姿势与避坑指南
  • DSP C代码优化实战:利用编译器指令提升StarCore SC3850性能
  • SDXL LoRA微调实战:双编码器协同与Kohya_ss工业级配置
  • Ubuntu 20.04 部署 Mattermost 四件套:Nginx+MariaDB+systemd 稳定架构实战
  • 如何高效生成长视频:FramePack完整实战指南
  • 医药行业强监管场景,2026年哪款S2B2B系统符合GSP合规要求?
  • 双A100上优化vLLM跑Qwen 3.6-27B 128K长上下文推理
  • 大模型微调与Agent开发培训怎么选?2026主流技术培训机构实力梳理 - 互联网科技品牌测评
  • 人形机器人敏捷技能切换:基于技能图与强化学习的系统设计
  • 如何用ComfyUI Inpaint Nodes实现专业级图像修复与扩展
  • 如何彻底改变你的Zotero插件管理体验:一站式解决方案指南
  • 基于LoRA微调与Few-Shot提示的金融虚假信息检测实战指南
  • 招主播在哪个招聘平台容易些?资深HR实测高效招聘平台推荐
  • ModTheSpire终极指南:如何在5分钟内为《杀戮尖塔》安装无限模组
  • 嵌入式系统功耗监控:从电流检测到GUI可视化的完整方案解析
  • Ubuntu 20.04 LAMP 搭建实战:Apache PHP MySQL 协同配置详解
  • 单卡3090部署Qwen3.5-27B:LTX蒸馏+Opus对齐实战指南
  • 汽车MCU核心选型指南:MPC57xx系列e200zx处理器差异解析
  • 2026年上海真空吸尘系统销售公司综合评估与选择指南 - 品牌鉴赏官2026