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.0.tar.gz (31.6 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.0-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: visual_parser-2.0.0.tar.gz
  • Upload date:
  • Size: 31.6 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.0.tar.gz
Algorithm Hash digest
SHA256 5e275125be5a013a32e1a41c51c5f767c83162f2f1dc57e6aac8b15a9c45f47d
MD5 15a69dffdbd269b33fd7d0306e643c26
BLAKE2b-256 4391ac7c59b07dc40f6efb063d3a9418905bf65e88e610b7227ffa29d88921d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: visual_parser-2.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0aabf89755812284c1cdd611d4175762fd94cd5c19f9bb909eb9e03082178e4c
MD5 654c6b50acfd60542237ee5438b29a88
BLAKE2b-256 cdde69ea4a495bc205d523bf23a57adaf1d28818891653ea3cbc88f59ab9a1e0

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