@tom_doerr: HyperExtract converts unstructured documents into structured knowledge graphs, hypergraphs, and lists using large langu…
Summary
HyperExtract is an LLM-powered framework that converts unstructured documents into structured knowledge graphs, hypergraphs, and lists, simplifying knowledge extraction and management.
View Cached Full Text
Cached at: 08/27/26, 11:42 PM
HyperExtract converts unstructured documents into structured knowledge graphs, hypergraphs, and lists using large language models.
https://t.co/iSSwIbS5xv https://t.co/CtCDomjLo3
yifanfeng97/Hyper-Extract
Source: https://github.com/yifanfeng97/Hyper-Extract
Smart Knowledge Extraction CLI
Transform documents into structured knowledge with one command.
“Stop reading. Start understanding.”
“告别文档焦虑,让信息一目了然”
📰 What’s New
- 🤖 DeepSeek Provider — Use
deepseek-v4-flash/deepseek-v4-prodirectly viacreate_client(llm="deepseek"). V4 thinking mode is auto-disabled for structured extraction compatibility. (#67) - 🔌 MCP Server — Query your knowledge abstracts from Claude Desktop and IDE agents with
he-mcp. (PR #40) - 🧠 Anthropic Claude Support — Use
claude-opus-4-8,claude-sonnet-4-6, andclaude-haiku-4-5directly as your LLM provider. (PR #38) - 📝 Obsidian Export — Turn any graph into an Obsidian vault with Markdown notes linked by
[[wikilinks]]. (PR #37) - 🧹
he clean— Remove a KA’s index or the whole knowledge abstract in one command. (PR #39) - 🔧 Reliability Fixes — True mean for multi-chunk embeddings, capped OpenAI-compatible batch sizes, and resolved multi-word
llm_*merge strategies. (PRs #35, #36, #41)
See the full changelog in the GitHub releases.
Hyper-Extract is an intelligent, LLM-powered knowledge extraction and evolution framework. It radically simplifies transforming highly unstructured texts into persistent, predictable, and strongly-typed Knowledge Abstracts. It effortlessly extracts information into a wide spectrum of formats—ranging from simple Collections (Lists/Sets) and Pydantic Models, to complex Knowledge Graphs, Hypergraphs, and even Spatio-Temporal Graphs.
✨ Core Features
| 🔷 8 Knowledge Structures | From simple Lists to advanced Graphs, Hypergraphs, and Spatio-Temporal Graphs |
| 🧠 10+ Extraction Engines | GraphRAG, LightRAG, Hyper-RAG, KG-Gen, and more — ready to use |
| 📝 80+ YAML Templates | Zero-code extraction across Finance, Legal, Medical, TCM, Industry, and General domains |
| 🔄 Incremental Evolution | Feed new documents anytime to expand and refine your knowledge base |
| 📤 Obsidian Export | Turn any extracted graph into an Obsidian vault — Markdown notes linked by [[wikilinks]] |
🎯 What Can You Do With It?
📄 Researcher — Turn papers into knowledge graphs
Feed a 20-page academic paper, get an interactive graph of key concepts, authors, and citations.
he parse paper.pdf -t general/academic_graph -o ./paper_kb/
he show ./paper_kb/
🏦 Financial Analyst — Extract entities from earnings reports
Automatically identify companies, executives, financial metrics, and their relationships from unstructured reports.
he parse earnings.md -t finance/earnings_graph -o ./finance_kb/
he search ./finance_kb/ "What are the key risk factors?"
🔒 Local Deployment — Keep data on-premise with vLLM
Run Qwen3.5-9B + bge-m3 locally via vLLM. No data leaves your machine.
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",
)
🚀 Supported Platforms & Models
Hyper-Extract relies on the LLM’s structured output capability (json_schema or Function Calling).
| Platform | Verified Models |
|---|---|
| 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 |
| Local vLLM | Qwen3.5-9B (GPTQ-Marlin) |
Embedding models (semantic search) work with any OpenAI-compatible endpoint: text-embedding-3-small, text-embedding-v4 (Bailian), bge-m3 (local vLLM).
DeepSeek note: DeepSeek V4 models default to “thinking” mode, which Hyper-Extract auto-disables so structured extraction works. Set
DEEPSEEK_API_KEY. DeepSeek has no embeddings API — pair it with an OpenAI-compatible embedder:from hyperextract import create_client llm, emb = create_client(llm="deepseek", embedder="openai:text-embedding-3-small")
Anthropic note: Claude is used for the LLM (set
ANTHROPIC_API_KEY). Anthropic has no embeddings API, so pair it with an OpenAI-compatible embedder:from hyperextract import create_client llm, emb = create_client(llm="anthropic", embedder="openai:text-embedding-3-small")Requires the extra:
pip install 'hyperextract[anthropic]'.
📖 Full guide: Provider System & Local Model Support
⚡ 30-Second Quick Start
1. Install:
# Install uv first (if you haven't)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install Hyper-Extract CLI
uv tool install hyperextract
# or: pipx install hyperextract
2. Configure your provider (pick one):
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
Bailian (Alibaba Cloud):
he config init -p bailian -k YOUR_BAILIAN_API_KEY
Local 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. Extract, query & visualize:
# Extract knowledge from a document
he parse examples/en/tesla.md -t general/biography_graph -o ./output/ -l en
# Query it
he search ./output/ "What are Tesla's major achievements?"
# Visualize
he show ./output/
# Export to an Obsidian vault (Markdown notes + [[wikilinks]])
he export obsidian ./output/ -o ./vault/
Which provider should I use? OpenAI and Bailian provide both LLM and embedding models in one API. Anthropic and DeepSeek are LLM-only (pair them with an OpenAI embedder for search/chat). Local vLLM is free but requires a GPU. DeepSeek is the most cost-effective option (~0.001-0.005/page vs ~0.01-0.05/page for OpenAI gpt-4o-mini).
🐍 Python API (click to expand)
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()
🔗 More examples: examples/en
📈 Why Hyper-Extract?
| Feature | GraphRAG | LightRAG | KG-Gen | ATOM | Hyper-Extract |
|---|---|---|---|---|---|
| Knowledge Graph | ✅ | ✅ | ✅ | ✅ | ✅ |
| Temporal Graph | ✅ | ❌ | ❌ | ✅ | ✅ |
| Spatial Graph | ❌ | ❌ | ❌ | ❌ | ✅ |
| Hypergraph | ❌ | ❌ | ❌ | ❌ | ✅ |
| Domain Templates | ❌ | ❌ | ❌ | ❌ | ✅ |
| Interactive CLI | ✅ | ❌ | ❌ | ❌ | ✅ |
| Multi-language | ✅ | ❌ | ❌ | ❌ | ✅ |
🧩 Supported Knowledge Structures
From simple to complex — pick the right structure for your data:
Example — AutoGraph visualization:
📋 What's under the hood? (Architecture & Templates)
Hyper-Extract follows a three-layer architecture:
- Auto-Types — 8 strongly-typed data structures (Model, List, Set, Graph, Hypergraph, Temporal Graph, Spatial Graph, Spatio-Temporal Graph)
- Methods — Extraction algorithms: KG-Gen, GraphRAG, LightRAG, Hyper-RAG, Cog-RAG, and more
- Templates — 80+ presets across 6 domains. Zero-code setup.
Template example (Graph type):
language: en
name: Knowledge Graph
type: graph
tags: [general]
description: 'Extract entities and their relationships.'
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}'
📚 Documentation & Resources
| Resource | Link |
|---|---|
| Full Documentation | yifanfeng97.github.io/Hyper-Extract |
| CLI Guide | Command-line interface |
| Provider System | Model compatibility & local deployment |
| Template Gallery | 80+ presets |
| Examples | Working code |
🔌 MCP Server
Expose your knowledge abstracts to MCP-capable assistants (Claude Desktop, IDE agents) via the Model Context Protocol — read + export only.
pip install 'hyperextract[mcp]'
he-mcp # stdio MCP server
Tools: list_templates, info, search, ask (RAG), export_obsidian. Full guide: MCP Server docs.
🤝 Contributing & License
Contributions are welcome! Please submit Issues and PRs.
Licensed under Apache-2.0.
🔒 Security
This project has been security assessed by MseeP.ai.
AtomGit Mirror
AtomGit mirror - a synchronized AtomGit mirror of Agent Reach for easier access and cloning in China. Hosted on AtomGit: https://atomgit.com/yifanfeng97/Hyper-Extract
Similar Articles
yifanfeng97/Hyper-Extract
Hyper-Extract is an open-source CLI tool that uses LLMs to extract structured knowledge from unstructured documents, supporting various output formats like knowledge graphs and hypergraphs.
@hasantoxr: Now turn messy documents into structured knowledge with one command. It's called Hyper-Extract. Most RAG tools just chu…
Hyper-Extract is a CLI tool that transforms messy, unstructured documents into structured knowledge such as knowledge graphs, hypergraphs, temporal/spatial graphs, and Obsidian vaults, supporting local LLM inference and MCP integration.
@so_ainsight: Messy documents transform into structured knowledge with a single command. When feeding documents to AI, one quietly to…
Hyper-Extract is an Apache 2.0 open-source tool that converts unstructured documents into structured knowledge bases, supporting knowledge graphs, time-series data, and spatial information, enabling high-accuracy AI queries.
@DataChaz: Messy documents in. Complex knowledge graphs out. One command line. If your pipeline simply compiles data into generic …
Hyper-Extract is an open-source framework that converts messy documents into typed knowledge structures, supporting multiple graph architectures like GraphRAG, LightRAG, and KG-Gen, with 10+ extraction engines and 80+ YAML templates for various domains.
@tom_doerr: Converts documents and media into structured JSON for LLMs https://github.com/adithya-s-k/omniparse…
OmniParse is a local platform that ingests and parses unstructured data (documents, images, video, audio, web) into structured JSON optimized for LLM applications like RAG and fine-tuning.