Skip to main content

Standalone Visual-RAG PDF Parser - text extraction and Vision-LLM figure descriptions to JSONL

Reason this release was yanked:

Stale README; use 2.0.4

Project description

visual-parser (Standalone Visual-RAG PDF Ingestion)

Python 3.12.10

visual-parser is a standalone document-ingestion tool that converts PDFs into a multi-modal JSONL knowledge base (text chunks + figure descriptions + metadata). The intended workflow is:

  1. Run visual-parser on curated PDFs to generate JSONL KB files.
  2. Run RADIANT-LLM Visual-RAG for QA over the generated KB.

Outputs (JSONL KB)

By default, the pipeline writes:

  • 01_chunks_kb.jsonl: chunked text extracted from PDFs (Nougat by default).
  • 02_visuals_kb.jsonl: figure/page visual descriptions (Vision LLM).
  • 03_metadata_kb.jsonl: document metadata rows (title/author/etc.).
  • 04_processed_pdfs.txt: a tracker so re-runs only process new PDFs (unless --rebuild).

API keys (.env)

Provide at least one provider:

  • OPENAI_API_KEY (OpenAI)
  • GEMINI_API_KEY (Gemini)

Optional:

  • HF_TOKEN (if you use gated Hugging Face models)

Run with Docker (Docker Hub)

Prebuilt images are on zev94/radiant-llm under the visual-parser tags:

Tag Description
visual-parser-2.0 Pinned release (v2.0)
visual-parser-latest Latest visual-parser build

1) Install Docker

  • Docker Desktop (Windows/macOS) or Docker Engine (Linux)

2) Pull the image

docker pull zev94/radiant-llm:visual-parser-2.0

3) Run (input + output on the same mounted folder)

Windows PowerShell:

docker run --rm --env-file .env `
  -v "C:\path\to\pdfs:/data" `
  zev94/radiant-llm:visual-parser-2.0 `
  --input-dir /data --output-dir /data

Linux / WSL:

docker run --rm --env-file .env \
  -v "/path/to/pdfs:/data" \
  zev94/radiant-llm:visual-parser-2.0 \
  --input-dir /data --output-dir /data

4) Run (separate output directory)

Windows PowerShell:

docker run --rm --env-file .env `
  -v "C:\path\to\pdfs:/data" `
  -v "C:\path\to\out:/out" `
  zev94/radiant-llm:visual-parser-2.0 `
  --input-dir /data --output-dir /out

Offline install (legacy .tar)

docker load -i .\visual-parser_0.1.0.tar
docker images   # use the tag printed by Docker

Model overrides (optional)

Default vision model is GPT-5.5 when using --vision-provider gpt. Override on the command line:

docker run --rm --env-file .env -v "C:\path\to\pdfs:/data" `
  zev94/radiant-llm:visual-parser-2.0 `
  --input-dir /data --output-dir /data --vision-model gpt-5.4

Common configuration flags

After pulling the image, run:

docker run --rm zev94/radiant-llm:visual-parser-2.0 --help

For copy-paste Docker examples (vision presets, text modes, workers, rebuild), see docker-usage-examples.md.

Paths:

  • --input-dir / -i (required)
  • --output-dir / -o (default: same as input)

Text extraction:

  • --text-mode nougat|lightweight (default: nougat)
  • --nougat-model facebook/nougat-small
  • --chunk-size 500
  • --chunk-overlap 100

Vision LLM:

  • --vision-provider gpt|gemini (default: gpt)
  • --vision-model gpt-5.2 (or gpt-4o, gemini-2.5-flash, etc.)
  • --vision-detail low|high|auto
  • --reasoning-effort none|low|medium|high|xhigh
  • --metadata-pages 2

Performance / misc:

  • --max-workers 4
  • --rebuild (reprocess everything; ignore 04_processed_pdfs.txt)
  • --log-level DEBUG|INFO|WARNING|ERROR

Citation

If you use RADIANT-LLM or the accompanying evaluation materials, please cite the preprint:

@article{ndum2026radiant,
  title={RADIANT-LLM: an Agentic Retrieval Augmented Generation Framework for Reliable Decision Support in Safety-Critical Nuclear Engineering},
  author={Ndum, Zavier Ndum and Tao, Jian and Ford, John and Yim, Mansung and Liu, Yang},
  journal={arXiv preprint arXiv:2604.22755},
  year={2026}
}

Preprint: https://arxiv.org/abs/2604.22755


License

This repository is currently proprietary and not licensed for public use, redistribution, or modification. Licensing terms will be updated after institutional review.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

visual_parser-2.0.1.tar.gz (31.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

visual_parser-2.0.1-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file visual_parser-2.0.1.tar.gz.

File metadata

  • Download URL: visual_parser-2.0.1.tar.gz
  • Upload date:
  • Size: 31.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for visual_parser-2.0.1.tar.gz
Algorithm Hash digest
SHA256 c609701b39aa4f60d0d92c00314eab9f645bf0fa94ba919f2b405a29d4854a55
MD5 4b3bccfd4ab1fa2675e339fe4bc61273
BLAKE2b-256 184ec3d94d3dad79a3b79f87f9d1d6797373ada717255940c137e3a09a4d3f31

See more details on using hashes here.

File details

Details for the file visual_parser-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: visual_parser-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for visual_parser-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a9a28c3df14613c59b3da99d086145318f7a36dd9a19227989672ee5443c2d41
MD5 baead4d08315a6deeb5b6eec16214b7a
BLAKE2b-256 633e8b468fb47611742b0faaefe8a39fffe04ac4fb2d65b1e0d4ea6368b28967

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page