Marker
Marker converts PDFs into clean Markdown, handling the tables, equations, figures and multi-column layouts that make general-purpose parsers give up. It uses a pipeline of deep-learning models for layout detection and text recognition, and it is built for exactly the dense reports, filings and technical documents that carry most of the value in a document workflow.
View the repo · datalab-to/marker ↗Teams whose source documents are dense PDFs, particularly financial reports, research papers and anything with serious tables, where simpler extractors return soup. It rewards a machine with a GPU when volume is high, although it will run on CPU for smaller batches. For a mixed inbox of email, Word and HTML, a broader ingestion library such as Unstructured is the better front door, with Marker reserved for the hard PDFs.
Install itpip install marker-pdf
marker_single /path/to/file.pdf --output_dir ./output Before production The first run downloads model weights, so plan for that in build pipelines and offline environments. Throughput depends heavily on hardware: converting a large archive is a batch job to schedule, and worth scheduling on a GPU. Check the output on a representative sample before committing a whole corpus, especially tables whose figures feed downstream calculations. Read the licence before commercial deployment too, since the terms are more involved than a plain permissive licence.
Where Blash AI comes inWe wire Marker into a pipeline rather than leaving it as a command-line step: documents arrive, convert, get checked against known totals, and the results route into your systems through n8n, with exceptions queued for a person. Paired with Chroma, the clean Markdown it produces makes far better retrieval material than raw PDF text extraction, which is where most document assistants quietly fail.
When you want this running on your real stack, that is the engagement
Book an AI audit →n8n →
n8n is workflow automation you run on your own infrastructure. It connects the applications a business already uses through a visual editor, with hundreds of prebuilt nodes, a code step for anything bespoke, and native support for calling language models mid-flow. Think of it as a self-hosted alternative to Zapier or Make that you own outright, including every piece of data passing through it.
Ollama →
Ollama runs open-weight language models on your own machine or server. One command downloads a model and serves it behind a local API that most existing AI tooling can talk to, so an application built against a hosted provider can point at your own hardware instead. Sensitive data stays inside your network, there are no per-token fees, and it keeps working with no internet connection at all.
LiteLLM →
LiteLLM is a gateway that lets you call models from Anthropic, OpenAI, Google and many other providers through one consistent API. It runs as a Python library inside your code or as a standalone proxy server in front of your whole stack, with cost tracking, per-key budgets, rate limits and automatic fallbacks for when a provider has a bad day.