>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Python

Wie Sie einen Berg chaotischer Dokumente in rigorose Wissensgraphen verwandeln

Kürzlich bin ich auf ein Werkzeug gestoßen, das eine der mühsamsten Aufgaben bei der Arbeit mit großen Sprachmodellen löst. Es geht darum, Rohtext in vorhersehbare Formate zu parsen, ohne kilometerlange Prompts zu schreiben.

Das Projekt heißt Hyper-Extract. Es ist ein CLI-Werkzeug und eine Python-Bibliothek, die unstrukturierte Dateien in typisierte Datenstrukturen umwandelt: von vertrauten Listen und Pydantic-Modellen bis hin zu Hypergraphen und raumzeitlichen Beziehungen.

Hero & Workflow

Was ist falsch am Standard-RAG?

Ein typisches naives RAG mit der Aufteilung von Text in 500-Token-Stücke und Vektordatenbank-Suche liefert oft ein Chaos. Komplexe Beziehungen zwischen Entitäten gehen verloren, und der Kontext von Ereignissen über die Zeit verschwimmt. Wenn Sie versuchen, einem Modell einen Finanzbericht oder ein wissenschaftliches Dokument zu geben, liefert die flache Vektorsuche selten ein genaues Bild der Verknüpfungen.

Frameworks wie GraphRAG oder LightRAG versuchten, dies zu beheben, aber sie von Grund auf in Ihre Projekte zu integrieren, kann mühsam sein. Der Autor von Hyper-Extract решил, knowledge extraction engines in ein kompaktes Kommandozeilen-Werkzeug und eine Bibliothek mit vorgefertigten Vorlagen zu verpacken.

Was steckt drin und wie funktioniert es?

Im Inneren basiert die Bibliothek auf einer dreistufigen Architektur.

  1. Acht Arten von Datenstrukturen. Dazu gehören Pydantic-Modelle, einfache Listen, Sets, Standard-Wissensgraphen, Hypergraphen sowie zeitliche und raumzeitliche Graphen.
  2. Extraktionsalgorithmen. Das Framework unterstützt KG-Gen-, GraphRAG-, LightRAG-, Hyper-RAG- und Cog-RAG-Engines.
  3. Vorgefertigte Vorlagen. Das Repository enthält über 80 vorgefertigte YAML-Dateien für verschiedene Bereiche: Finanzen, Medizin, Recht, wissenschaftliche Arbeiten.
Knowledge Structures Matrix

Vorlagen funktionieren ohne Code. Sie nehmen einfach eine vorgefertigte Voreinstellung und geben an, welche Felder und Beziehungstypen extrahiert werden sollen. Für einen Beziehungsgraphen sieht die Vorlage beispielsweise wie ein Standard-YAML-Manifest mit Entity- (entities) und Relationship-Definitionen (relations) aus:

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}'
Architecture

In ein paar Minuten loslegen

Das Werkzeug lässt sich über einen modernen Paketmanager uv buchstäblich mit einem Befehl installieren:

uv tool install hyperextract

Als Nächstes müssen Sie einen Modell-Anbieter konfigurieren. Das Werkzeug funktioniert mit OpenAI, Anthropic Claude, DeepSeek, Alibaba Cloud Bailian und lokalen vLLM-Instanzen.

Wenn Sie DeepSeek oder Claude verwenden, beachten Sie einen Punkt: Sie haben keine eigene Embedding-API, daher müssen Sie für die Vektorsuche das Embedding-Modell separat konfigurieren (z.B. über einen OpenAI-kompatiblen Endpunkt):

# Настройка для связки DeepSeek + OpenAI Embeddings
he config llm -p deepseek -k YOUR_DEEPSEEK_API_KEY
he config embedder -p openai -k YOUR_OPENAI_API_KEY

Für einen vollständig lokalen Betrieb ohne externe Datensendung können Sie vLLM mit Modellen wie Qwen und bge-m3 starten:

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

Wenn die Konfiguration fertig ist, starten Sie das Parsing des Dokuments:

# Извлекаем граф связей из биографии
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/

Als Ergebnis des he show-Befehls wird eine interaktive Oberfläche generiert, in der Sie die resultierenden Knoten und Beziehungen erkunden können.

AutoGraph Visualization

Wenn Sie in Python schreiben, können Sie das Parsing programmatisch über die Klasse Template aufrufen:

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()

Nützliche Funktionen

Kürzlich wurden dem Projekt einige praktische Integrationen hinzugefügt, die es von gewöhnlichen Parsing-Skripten unterscheiden.

Erstens: Export nach Obsidian. Mit einem einzigen Befehl he export obsidian ./output/ -o ./vault/ wird der Graph in eine Reihe von miteinander verknüpften Markdown-Notizen umgewandelt, die über Standard-[[вики-ссылки]] verbunden sind. Das ist ein Segen für alle, die eine Wissensdatenbank in Obsidian pflegen und Entitäten nicht manuell übertragen möchten.

Zweitens: ein eingebauter MCP-Server (Model Context Protocol). Mit dem Befehl he-mcp öffnen Sie den Zugriff auf Ihre Wissensdatenbank für Claude Desktop oder IDE-Agenten. Diese können Suche, RAG und Kontextabruf direkt über das Standardprotokoll aufrufen.

Drittens: inkrementelle Aktualisierungen. Wenn Sie ein neues Dokument haben, müssen Sie den Graphen nicht von Grund auf neu aufbauen. Sie geben einfach die neue Datei in das bestehende Verzeichnis ein, und die Datenbank wird mit neuen Knoten ergänzt.

Für wen ist das Projekt geeignet?

Das Werkzeug eignet sich für Entwickler, die komplexe Pipelines über Unternehmensdokumente aufbauen und es leid sind, gegen LLM-Halluzinationen in unstrukturierten Antworten anzukämpfen. Es ist auch nützlich für Analysten und Forscher, um schnell Hunderte von PDF-Seiten in eine verständliche Struktur zu digitalisieren.

Das Repository ist sauber organisiert, verfügt über eine klare Dokumentation und verwendet die Apache 2.0-Lizenz. Wenn Sie nach einer Möglichkeit suchen, Ordnung in die Arbeit mit Wissensgraphen und RAG zu bringen, probieren Sie Hyper-Extract mit ein paar eigenen Dokumenten aus. Den Code und die Vorlagen finden Sie im GitHub-Repository des Projekts.

Ähnliche Projekte