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

Uploaded Python 3

File details

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

File metadata

  • Download URL: visual_parser-2.0.3.tar.gz
  • Upload date:
  • Size: 31.8 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.3.tar.gz
Algorithm Hash digest
SHA256 0922035610c7176f3ebd0ede0cedcc46f7bf1af27d8156f8c2ba49d9f8bf6316
MD5 2a5759df94d3f5cf3ef5b66889c55141
BLAKE2b-256 fd705047970525807ae1c339c7bda57cb31fed721398bda839cde9fde9fea9a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: visual_parser-2.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 be82cff0e37ab6af2f4148a52f278ceedb1d6e940090e82e51e85f60eb88a973
MD5 3a7a8cd9bca252584ed226e2d4aeeec3
BLAKE2b-256 229a374dd374f44f965851f4b8cb3019c6e3b6905738965dde90c3a705a17052

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