Your RAG ingestion pipeline, assembled from off-the-shelf parts
E2M wraps a dozen file parsers and LLM converters into a single config-driven pipeline so your RAG system can ingest docs, slides, audio, and web pages as clean Markdown.

What it does
E2M is a Python library that ingests files — PDFs, Word docs, PowerPoints, web pages, even audio — and emits Markdown. It is essentially a structured glue layer around existing extraction tools: a parser stage uses engines like marker, unstructured, pandoc, or Whisper to pull out text and images, and a converter stage hands that raw material to an LLM (via litellm or ZhipuAI) to shape it into clean Markdown. A YAML config drives the whole pipeline, letting you swap parsers without rewriting ingestion code.
The interesting bit
The project treats Markdown less as a format translation and more as an AI-refined output. By forcing all extracted content through an LLM-powered converter, it attempts to normalize messy documents into structured text suitable for RAG or fine-tuning — using the language model as a post-processor for document understanding.
Key highlights
- Supports an unusually wide input menu: PDF, DOC, DOCX, PPT, PPTX, EPUB, HTML, URLs, and audio (MP3/M4A).
- Parser layer is engine-agnostic; swap between
marker,unstructured,pandoc,jina, orfirecrawlwithout changing your calling code. - Converter layer uses
litellmto call any supported LLM for text and image-to-Markdown structuring. - Ships with unified
E2MParserandE2MConverterclasses plus a YAML config schema to orchestrate the full pipeline. - Exposes an API service (
wisup_e2m.api.main:app) for headless document conversion.
Caveats
- The
ImageConverterbacked by ZhipuAI is explicitly flagged as “Not Well in Image Recognition, Not Recommended” in the docs. - The README is rich with quickstart snippets but leaves architectural details like error handling, retries, or large-document chunking mostly unexplained.
Verdict
Worth a look if you are building a RAG pipeline and need one ingestion throat for a zoo of document formats. Skip it if you only need occasional PDF conversion or a fully offline, lightweight tool — this is an orchestration framework, not a single binary.
Frequently asked
- What is wisupai/e2m?
- E2M wraps a dozen file parsers and LLM converters into a single config-driven pipeline so your RAG system can ingest docs, slides, audio, and web pages as clean Markdown.
- Is e2m open source?
- Yes — wisupai/e2m is open source, released under the Apache-2.0 license.
- What language is e2m written in?
- wisupai/e2m is primarily written in Jupyter Notebook.
- How popular is e2m?
- wisupai/e2m has 1.3k stars on GitHub.
- Where can I find e2m?
- wisupai/e2m is on GitHub at https://github.com/wisupai/e2m.