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_templatesinfosearchask(RAG)export_obsidian
它面向的外部消费方包括 Claude Desktop 和 IDE agents。
典型命令与基本流程
Hyper-Extract 的 README 给出了非常明确的 CLI 主流程。
安装与初始化
快速开始示例使用:
uv tool install hyperextracthe 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 enhe parse paper.pdf -t general/academic_graph -o ./paper_kb/he parse earnings.md -t finance/earnings_graph -o ./finance_kb/
其中:
-t指定模板,例如general/biography_graph、general/academic_graph、finance/earnings_graph。-o指定输出目录。-l en指定语言。
搜索:he search
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 的新增命令。其职责是:
- 删除某个 Knowledge Abstract 的索引;或
- 一次性删除整个知识抽象。
也就是说,它面向清理索引与结果本体,而不仅是删除缓存碎片。
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: