# Hyper-Extract

> LLM-powered CLI and Python framework that turns unstructured documents into structured knowledge such as graphs, hypergraphs, and spatio-temporal graphs.

Hyper-Extract is an open-source, LLM-powered knowledge extraction framework published by yifanfeng97. It turns unstructured documents into typed knowledge structures, ranging from simple lists to knowledge graphs, hypergraphs, and spatio-temporal graphs, through a CLI, a Python SDK, and an MCP server. The latest documented release is v0.10.5.

## What It Is

Hyper-Extract is a knowledge extraction tool: you point it at a document, pick a template, and it produces a persistent structured knowledge abstract that can be searched, queried, visualized, and exported. Inputs include PDF, Word, PowerPoint, Excel, HTML, EPUB, and plain text or Markdown (rich ingestion needs the optional ingest extra). Outputs are typed structures such as AutoModel, AutoList, AutoSet, AutoGraph, AutoHypergraph, and temporal, spatial, and spatio-temporal graphs.

## How the Workflow Works

The documented architecture has three layers: Auto-Types define the output data structure, Methods provide extraction algorithms, and Templates supply domain-specific presets. The README lists methods including a chunk_rag baseline, GraphRAG, LightRAG, Hyper-RAG, and KG-Gen. The project describes 80+ YAML templates covering finance, legal, medical, TCM, industry, and general domains.

A typical CLI flow is `he parse` to extract, `he search` or `he talk` to query, `he show` to visualize, and `he export obsidian` to produce an Obsidian vault of Markdown notes linked with wikilinks. In Python, a template is created with `Template.create` and its `parse` method is called on the document text.

## Incremental Updates and Provenance

New documents can be fed into an existing knowledge abstract with `he feed`. Each source is attributed, so users can audit contributions with `he info --sources`, tag sources and scope searches by tag, and roll back a document's contributions with `he remove`. Re-feeding an updated file under the same source name replaces its old facts.

## Models and Providers

Extraction uses LangChain structured output with function calling, so the chosen model must support tool calling. Documented providers include OpenAI, Anthropic, Google Gemini, DeepSeek, Alibaba Bailian, and local vLLM. Embeddings work with OpenAI-compatible endpoints. Anthropic, Gemini, and DeepSeek are LLM-only and are paired with a separate embedder.

## MCP Server

An optional MCP server, started with `he-mcp`, exposes knowledge abstracts to MCP-capable assistants in a read and export-only mode. Its tools include list_templates, info, search, ask, and exports to Obsidian, GraphML, CSV, JSON-LD, and Cypher.

## Features
- Rich document ingestion (PDF, Word, PowerPoint, Excel, HTML, EPUB)
- 9 auto-types including graphs, hypergraphs, and spatio-temporal graphs
- 11+ extraction engines (chunk_rag, GraphRAG, LightRAG, Hyper-RAG, KG-Gen)
- 80+ YAML domain templates
- Incremental updates with source provenance and rollback
- Semantic search and Q&A over extracted knowledge
- Graph visualization
- Obsidian vault export
- MCP server with export to GraphML, CSV, JSON-LD, Cypher
- Local model support via vLLM

## Integrations
OpenAI, Anthropic, Google Gemini, DeepSeek, Alibaba Bailian, vLLM, LangChain, Obsidian, Model Context Protocol, Claude Desktop

## Platforms
CLI, DEVELOPER_SDK, API

## Pricing
Open Source

## Version
v0.10.5

## Links
- Website: https://yifanfeng97.github.io/Hyper-Extract/
- Documentation: https://yifanfeng97.github.io/Hyper-Extract/latest/
- Repository: https://github.com/yifanfeng97/Hyper-Extract
- EveryDev.ai: https://www.everydev.ai/tools/hyper-extract
