@tom_doerr: HyperExtract 使用大型语言模型将非结构化文档转换为结构化的知识图谱、超图和列表…
摘要
HyperExtract 是一个基于 LLM 的框架,用于将非结构化文档转换为结构化的知识图谱、超图和列表,简化知识提取和管理。
查看缓存全文
缓存时间: 2026/08/27 23:42
HyperExtract 利用大语言模型将非结构化文档转换为结构化知识图谱、超图和列表。
https://t.co/iSSwIbS5xv https://t.co/CtCDomjLo3 —
yifanfeng97/Hyper-Extract
来源:https://github.com/yifanfeng97/Hyper-Extract
智能知识提取命令行工具
一条命令,将文档转化为结构化知识。
📖 英文版 · 中文版
“告别阅读,开始理解。”
“停止冗余阅读,让信息一目了然”
📰 更新内容
- 🤖 DeepSeek 模型支持 — 通过
create_client(llm="deepseek")直接使用deepseek-v4-flash/deepseek-v4-pro。V4 思考模式会自动禁用以保证结构化提取兼容性。(#67) - 🔌 MCP 服务器 — 通过
he-mcp从 Claude Desktop 和 IDE 智能体中查询知识摘要。(PR #40) - 🧠 Anthropic Claude 支持 — 直接使用
claude-opus-4-8、claude-sonnet-4-6和claude-haiku-4-5作为您的 LLM 提供商。(PR #38) - 📝 Obsidian 导出 — 将任何图谱转换为 Obsidian 知识库,使用 Markdown 笔记并通过
[[wikilinks]]相互链接。(PR #37) - 🧹
he clean命令 — 一条命令移除知识抽象体的索引或整个知识摘要。(PR #39) - 🔧 可靠性修复 — 修正多分块嵌入的真实均值计算、限制 OpenAI 兼容批处理大小,并解决多词元
llm_*合并策略问题。(PRs #35, #36, #41)
完整更新日志请查看 GitHub releases 页面 (https://github.com/yifanfeng97/hyper-extract/releases)。
Hyper-Extract 是一个智能的、基于大语言模型的知识提取与演进框架。它极大地简化了将高度非结构化的文本转化为持久化、可预测、强类型的 知识抽象体 的过程。它能够轻松地将信息提取为多种格式——从简单的 集合(列表/集合)和 Pydantic 模型,到复杂的 知识图谱、超图,甚至 时空图谱。
✨ 核心特性
| 🔷 8种知识结构 | 从简单的列表到高级的图谱、超图和时空图谱 | |
| 🧠 10+ 种提取引擎 | GraphRAG、LightRAG、Hyper-RAG、KG-Gen 等,开箱即用 | |
| 📝 80+ 种 YAML 模板 | 零代码提取,覆盖金融、法律、医学、中医、工业和通用领域 | |
| 🔄 增量演进 | 随时输入新文档以扩展和完善您的知识库 | |
| 📤 Obsidian 导出 | 将任何提取的图谱转换为 Obsidian 知识库——使用 Markdown 笔记并通过 [[wikilinks]] 链接 |
🎯 它能做什么?
📄 研究员 — 将论文转化为知识图谱
输入一篇 20 页的学术论文,即可获得关键概念、作者和引用的交互式图谱。
he parse paper.pdf -t general/academic_graph -o ./paper_kb/
he show ./paper_kb/
🏦 金融分析师 — 从收益报告中提取实体
从非结构化的报告中自动识别公司、高管、财务指标及其关系。
he parse earnings.md -t finance/earnings_graph -o ./finance_kb/
he search ./finance_kb/ "What are the key risk factors?"
🔒 本地部署 — 使用 vLLM 将数据保留在本地
通过 vLLM 在本地运行 Qwen3.5-9B + bge-m3。数据不会离开您的机器。
from hyperextract import create_client
llm, emb = create_client(
llm="vllm:Qwen3.5-9B@http://localhost:8000/v1",
embedder="vllm:bge-m3@http://localhost:8001/v1",
api_key="dummy",
)
🚀 支持的平台与模型
Hyper-Extract 依赖于 LLM 的结构化输出能力(json_schema 或 Function Calling)。
| 平台 | 已验证模型 |
|---|---|
| OpenAI | gpt-4o, gpt-4o-mini, gpt-5 |
| Anthropic | claude-opus-4-8, claude-sonnet-4-6, claude-haiku-4-5 |
| DeepSeek | deepseek-v4-flash, deepseek-v4-pro |
| 阿里云百炼 | qwen-plus, qwen-turbo, deepseek-r1 |
| 本地 vLLM | Qwen3.5-9B (GPTQ-Marlin) |
嵌入模型(语义搜索)兼容任何 OpenAI 兼容端点:text-embedding-3-small、text-embedding-v4(百炼)、bge-m3(本地 vLLM)。
DeepSeek 说明:
DeepSeek V4 模型默认启用“思考“模式,Hyper-Extract 会自动禁用该模式以保证结构化提取功能正常工作。需设置DEEPSEEK_API_KEY。DeepSeek 没有嵌入 API,需搭配 OpenAI 兼容的嵌入模型使用:from hyperextract import create_client llm, emb = create_client(llm="deepseek", embedder="openai:text-embedding-3-small")
Anthropic 说明:
Claude 仅用作 LLM(需设置ANTHROPIC_API_KEY)。Anthropic 没有嵌入 API,需搭配 OpenAI 兼容的嵌入模型使用:from hyperextract import create_client llm, emb = create_client(llm="anthropic", embedder="openai:text-embedding-3-small")需要安装额外依赖:
pip install 'hyperextract[anthropic]'。
📖 完整指南:提供商系统与本地模型支持
⚡ 30 秒快速上手
1. 安装:
# 先安装 uv(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安装 Hyper-Extract CLI
uv tool install hyperextract
# 或者:
pipx install hyperextract
2. 配置您的提供商(任选其一):
OpenAI:
he config init -p openai -k YOUR_OPENAI_API_KEY
Anthropic (Claude):
he config llm -p anthropic -k YOUR_ANTHROPIC_API_KEY
he config embedder -p openai -k YOUR_OPENAI_API_KEY
DeepSeek:
he config llm -p deepseek -k YOUR_DEEPSEEK_API_KEY
he config embedder -p openai -k YOUR_OPENAI_API_KEY
百炼 (阿里云):
he config init -p bailian -k YOUR_BAILIAN_API_KEY
本地 vLLM:
he config llm -p vllm -u http://localhost:8000/v1 -k dummy -m Qwen/Qwen3.5-9B
he config embedder -p vllm -u http://localhost:8001/v1 -k dummy -m BAAI/bge-m3
3. 提取、查询与可视化:
# 从文档中提取知识
he parse examples/en/tesla.md -t general/biography_graph -o ./output/ -l en
# 查询
he search ./output/ "What are Tesla's major achievements?"
# 可视化
he show ./output/
# 导出到 Obsidian 知识库(Markdown 笔记 + [[wikilinks]])
he export obsidian ./output/ -o ./vault/
我应该使用哪个提供商?
OpenAI 和百炼在一个 API 中同时提供 LLM 和嵌入模型。Anthropic 和 DeepSeek 仅提供 LLM(需搭配 OpenAI 的嵌入模型以实现搜索/聊天功能)。本地 vLLM 免费但需要 GPU。DeepSeek 是最具性价比的选择(约 $0.001-0.005/页,对比 OpenAI gpt-4o-mini 的约 $0.01-0.05/页)。
🐍 Python API(点击展开)
uv pip install hyperextract
from hyperextract import Template
ka = Template.create("general/biography_graph")
with open("examples/en/tesla.md") as f:
result = ka.parse(f.read())
result.show()
🔗 更多示例:examples/en
📈 为什么选择 Hyper-Extract?
| 特性 | GraphRAG | LightRAG | KG-Gen | ATOM | Hyper-Extract |
|---|---|---|---|---|---|
| 知识图谱 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 时间图谱 | ✅ | ❌ | ❌ | ✅ | ✅ |
| 空间图谱 | ❌ | ❌ | ❌ | ❌ | ✅ |
| 超图 | ❌ | ❌ | ❌ | ❌ | ✅ |
| 领域模板 | ❌ | ❌ | ❌ | ❌ | ✅ |
| 交互式 CLI | ✅ | ❌ | ❌ | ❌ | ✅ |
| 多语言支持 | ✅ | ❌ | ❌ | ❌ | ✅ |
🧩 支持的知识结构
从简单到复杂——为您的数据选择合适的结构:
示例 — AutoGraph 可视化:
📋 底层架构是什么?(架构与模板)
Hyper-Extract 遵循三层架构:
- Auto-Types — 8 种强类型数据结构(Model、List、Set、Graph、Hypergraph、Temporal Graph、Spatial Graph、Spatio-Temporal Graph)
- Methods — 提取算法:KG-Gen、GraphRAG、LightRAG、Hyper-RAG、Cog-RAG 等
- Templates — 80 多个预设模板,覆盖 6 个领域。零代码设置。
模板示例(图谱类型):
language: en
name: Knowledge Graph
type: graph
tags: [general]
description: '提取实体及其关系。'
output:
entities:
fields:
- name: name
type: str
- name: type
type: str
- name: description
type: str
relations:
fields:
- name: source
type: str
- name: target
type: str
- name: type
type: str
identifiers:
entity_id: name
relation_id: '{source}|{type}|{target}'
📚 文档与资源
| 资源 | 链接 |
|---|---|
| 完整文档 | yifanfeng97.github.io/Hyper-Extract |
| CLI 指南 | 命令行接口 |
| 提供商系统 | 模型兼容性与本地部署 |
| 模板库 | 80+ 预设模板 |
| 示例 | 可运行代码 |
🔌 MCP 服务器
通过模型上下文协议 (Model Context Protocol, https://modelcontextprotocol.io) 将您的知识摘要暴露给支持 MCP 的助手(Claude Desktop、IDE 智能体)——仅支持读取和导出。
pip install 'hyperextract[mcp]'
he-mcp # stdio MCP 服务器
工具:list_templates, info, search, ask (RAG), export_obsidian。
完整指南:MCP 服务器文档。
🤝 贡献与许可
欢迎贡献!请提交 Issues (https://github.com/yifanfeng97/hyper-extract/issues) 和 PRs (https://github.com/yifanfeng97/hyper-extract/pulls)。
本项目基于 Apache-2.0 许可证。
🔒 安全
本项目已通过 MseeP.ai (https://mseep.ai/app/yifanfeng97-hyper-extract) 的安全评估。
AtomGit 镜像
AtomGit 镜像 - Agent Reach 在 AtomGit 上的同步镜像,方便在中国境内访问和克隆。
托管于 AtomGit:https://atomgit.com/yifanfeng97/Hyper-Extract
相似文章
yifanfeng97/Hyper-Extract
Hyper-Extract 是一个开源命令行工具,利用大语言模型(LLMs)从非结构化文档中提取结构化知识,支持多种输出格式,如知识图谱和超图。
@hasantoxr: 现在只需一条命令就能将杂乱文档转化为结构化知识。它叫做Hyper-Extract。大多数RAG工具只是…
Hyper-Extract 是一款命令行工具,可将凌乱的非结构化文档转化为结构化知识,如知识图谱、超图、时间/空间图及Obsidian vault,支持本地LLM推理与MCP集成。
@so_ainsight: 杂乱的文档,一条命令即可转化为结构化知识。向AI喂文档时,一个隐秘的难题是...
Hyper-Extract 是一款 Apache 2.0 开源工具,能将非结构化文档转换为结构化知识库,支持知识图谱、时间序列数据、空间信息,实现高精度AI查询。
@DataChaz: 混乱文档输入,复杂知识图谱输出,仅需一条命令行。如果你的流水线只是将数据编译成通用……
Hyper-Extract 是一个开源框架,可将混乱文档转换为类型化知识结构,支持多种图谱架构(如 GraphRAG、LightRAG 和 KG-Gen),拥有 10 多种提取引擎和 80 多个面向不同领域的 YAML 模板。
@tom_doerr: 将文档和媒体转换为用于LLM的结构化JSON https://github.com/adithya-s-k/omniparse…
OmniParse是一个本地平台,能够接收和解析非结构化数据(文档、图像、视频、音频、Web),并将其转换为针对LLM应用(如RAG和微调)优化的结构化JSON。