W
AI-Wiki
ENTITY

Hyper-Extract

定义与产品身份

Hyper-Extract 是由 yifanfeng97 发布的智能知识抽取 CLI 与知识抽取框架,不应只被理解为单一 Python 库,也不只是一个图谱工具。它的核心定位是:利用 LLM 把高度非结构化文档转成可持久化、可预测、强类型的 Knowledge Abstract,并在此基础上继续做知识演化、检索、展示与导出。

README 直接将其描述为 intelligent, LLM-powered knowledge extraction and evolution framework,同时在首页主标语中强调它是 Smart Knowledge Extraction CLI,说明它同时覆盖“框架能力”和“命令行产品”两层身份。

它支持把文本抽取为多种结构,而不是只输出单一种知识图谱。可生成的结果从简单的 Collections(如 List、Set)和 Pydantic Models,到复杂的 Knowledge Graph、Hypergraph、Temporal Graph、Spatial Graph 以及 Spatio-Temporal Graph。

主要交互方式

Hyper-Extract 至少提供四种主要使用入口:

  • CLI:面向直接操作文档、抽取、搜索、展示、导出与清理。
  • Python API:适合在代码里创建模板、调用 parse() 并以编程方式处理结果。
  • MCP Server:通过 he-mcp 暴露给支持 MCP 的外部助手与 IDE Agent 使用。
  • 在线文档站:提供 CLI、Provider System、模板与 MCP 的完整文档。

这意味着它既可作为本地工具直接跑,也可以嵌入 Python 工作流,或接入 Claude Desktop、IDE agents 一类外部智能体系统。

关键能力范围

1. 知识抽取

Hyper-Extract 的基本能力是把非结构化文本转成结构化知识。README 明确给出的知识结构覆盖 8 类强类型数据结构:

  • Model
  • List
  • Set
  • Graph
  • Hypergraph
  • Temporal Graph
  • Spatial Graph
  • Spatio-Temporal Graph

这种设计使它不局限于“实体-关系-实体”的传统图谱抽取,而能处理时间、空间、多元关系等更复杂的知识表示。

2. 知识演化

README 把“evolution”列为核心能力之一,并专门强调 Incremental Evolution:可以在已有知识库上持续喂入新文档,让知识库不断扩展与修正,而不是每次重新从零构建。

这意味着它面向的是持续积累型知识库,而不是一次性提取后即结束的静态结果。

3. 语义搜索

Hyper-Extract 支持基于嵌入模型的语义搜索。典型命令是:

  • he search ./output/ "What are Tesla's major achievements?"

README 还说明嵌入模型可连接任何 OpenAI-compatible endpoint,因此语义搜索并不绑定单一云厂商。

4. 可视化展示

抽取结果可以通过 he show 进行交互式展示。README 的研究者示例中就是:

  • he parse paper.pdf -t general/academic_graph -o ./paper_kb/
  • he show ./paper_kb/

文档中的示意图还展示了 AutoGraph 可视化效果,说明它不只是导出 JSON,而是把抽取结果作为可浏览知识对象来呈现。

5. 导出

README 新增项里明确列出 Obsidian Export。命令为:

  • he export obsidian ./output/ -o ./vault/

导出结果会变成一个 Obsidian vault,其中 Markdown 笔记之间通过 wikilinks 相连。这个能力适合把抽取后的图谱进一步转为个人知识管理资料。

6. MCP 集成

通过 he-mcp,Hyper-Extract 可以把知识抽象暴露给 MCP-capable assistants。README 明确说其 MCP 暴露范围是 read + export only,也就是允许读取与导出,不强调远程写入或修改。

MCP Server 提供的工具包括:

  • list_templates
  • info
  • search
  • ask(RAG)
  • export_obsidian

它面向的外部消费方包括 Claude Desktop 和 IDE agents。

典型命令与基本流程

Hyper-Extract 的 README 给出了非常明确的 CLI 主流程。

安装与初始化

快速开始示例使用:

  • uv tool install hyperextract
  • he config init -k YOUR_OPENAI_API_KEY

Python API 安装则使用:

  • uv pip install hyperextract

如果要启用 Anthropic 支持,则需要额外安装:

  • pip install 'hyperextract[anthropic]'

如果要启用 MCP,则需要:

  • pip install 'hyperextract[mcp]'

抽取:he parse

he parse 是主入口命令,用于从文档创建知识抽象。README 中给出的示例包括:

  • he parse examples/en/tesla.md -t general/biography_graph -o ./output/ -l en
  • he parse paper.pdf -t general/academic_graph -o ./paper_kb/
  • he parse earnings.md -t finance/earnings_graph -o ./finance_kb/

其中:

  • -t 指定模板,例如 general/biography_graphgeneral/academic_graphfinance/earnings_graph
  • -o 指定输出目录。
  • -l en 指定语言。

he search 用于在已生成知识抽象上执行语义查询。例如:

  • he search ./output/ "What are Tesla's major achievements?"
  • he search ./finance_kb/ "What are the key risk factors?"

这说明 Hyper-Extract 不只是“抽出来存着”,还把抽取结果继续变成可查询的知识库。

展示:he show

he show 用于可视化浏览知识抽象:

  • he show ./output/
  • he show ./paper_kb/

README 语境中,这个命令主要对应交互式图谱浏览。

导出:he export obsidian

导出到 Obsidian 的命令是:

  • he export obsidian ./output/ -o ./vault/

导出形式不是普通扁平 Markdown,而是带 wikilinks 的互联笔记集合。

清理:he clean

he clean 是 README 的新增命令。其职责是:

也就是说,它面向清理索引与结果本体,而不仅是删除缓存碎片。

MCP 服务:he-mcp

启动 MCP Server 的方式是直接运行:

  • he-mcp

README 明确标注它是 stdio MCP server。这意味着它主要按 MCP 标准输入输出方式与宿主客户端对接。

Python API 形态

除了 CLI,Hyper-Extract 也提供 Python API。README 示例为:

from hyperextract import Template

ka = Template.create("general/biography_graph")

with open("examples/en/tesla.md") as f: