docling-graph vs unstract
Documents to validated knowledge graphs: Docling parses, an LLM or VLM fills Pydantic schemas, and you get a directed NetworkX graph with provenance, Cypher/CSV export and HTML views. — versus — LLM-driven platform turning unstructured documents into structured data: a no-code Prompt Studio to define extractions, then deploy as APIs or ETL pipelines. Self-hosted, AGPL + enterprise.
Same starting point — unstructured documents — different deliverable: Unstract gives you structured records behind an API or ETL job, docling-graph gives you a typed graph with explicit relationships you can export as Cypher.
| docling-graph | unstract | |
|---|---|---|
| Stars | 797 | 7.1k |
| Forks | 82 | 704 |
| Language | Python | Python |
| License | MIT | AGPL-3.0 |
| Last activity | 5 days ago | 4 days ago |
| Topics | knowledge-graphs, ocr | ocr, rag |
| Curated connections | 3 | 4 |
docling-graph — the curator's take
Built for the domains where an approximate embedding is worthless — chemistry, finance, legal — because what you need is the exact edge between a compound and a reaction or an instrument and its dependency. Pydantic schemas make extraction validated rather than hopeful, template generation bootstraps those schemas from example documents or an OWL/RDFS ontology, the provenance ledger carries bounding-box geometry with no extra LLM calls, and graph fusion merges multiple graphs deterministically. Under the Linux Foundation AI & Data umbrella with the Docling project's engineering behind it. Caveats: you own the schema design, which is the actual work; VLM extraction needs the heavy `vlm` extra plus local GPU or a served model; and the output is a NetworkX graph you export, not a queryable graph database.
unstract — the curator's take
The platform play in document extraction: where parsers hand you markdown, Unstract hands you the FIELDS — Prompt Studio lets a domain expert define and test per-document-type extraction prompts, then ships them as stable APIs or ETL pipelines into warehouses, with the connector surface (S3, databases, DMS) that ops teams actually need. Docker-compose up and it runs. NOT a parsing engine: quality rides on the LLM you wire in and per-page LLM calls at volume cost real money — for clean-layout bulk conversion a deterministic parser is cheaper; and mind the AGPL + enterprise split when embedding.