https://github.com/bgeneto/olmocr-streamlit
This application provides a user-friendly interface for converting PDF documents to Markdown format using the olmocr toolkit.
https://github.com/bgeneto/olmocr-streamlit
Last synced: 11 months ago
JSON representation
This application provides a user-friendly interface for converting PDF documents to Markdown format using the olmocr toolkit.
- Host: GitHub
- URL: https://github.com/bgeneto/olmocr-streamlit
- Owner: bgeneto
- Created: 2025-08-04T17:54:31.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-08-04T21:23:37.000Z (12 months ago)
- Last Synced: 2025-08-04T21:36:02.255Z (12 months ago)
- Language: Python
- Size: 67.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# olmocr streamlit application
This application provides a user-friendly interface for converting PDF documents to Markdown format using the olmocr toolkit.
## Features
- Upload multiple PDF files for batch processing
- Real-time processing status tracking
- Side-by-side comparison of original PDFs and converted Markdown
- Download converted Markdown files
## Requirements
- NVIDIA GPU with at least 20 GB of VRAM (source id="1")
- Docker and Docker Compose
- NVIDIA Container Toolkit
## Setup
1. Create a `.env` file based on the provided template
2. Adjust configuration parameters as needed
3. Run `docker-compose up --build` to start the application
## Usage
1. Access the Streamlit app at `http://localhost:8501`
2. Navigate to "Upload PDFs" to add your documents
3. Check "Processing Status" to monitor conversion progress
4. View results in the "View Results" section when processing is complete
## Configuration
The application uses VLLM Forwarded arguments as environment variables (source id="1"):
- `GPU_MEMORY_UTILIZATION`: Fraction of VRAM vLLM may pre-allocate for KV-cache
- `MAX_MODEL_LEN`: Upper bound (tokens) vLLM will allocate KV-cache for
- `TENSOR_PARALLEL_SIZE`: Tensor parallel size for vLLM
- `DATA_PARALLEL_SIZE`: Data parallel size for vLLM
- `PORT`: Port to use for the VLLM server
Additional olmocr pipeline parameters are also configurable (source id="1"):
- `PAGES_PER_GROUP`: Target number of PDF pages per work item group
- `MAX_PAGE_RETRIES`: Max number of times to retry rendering a page
- `MAX_PAGE_ERROR_RATE`: Rate of allowable failed pages in a document
- `WORKERS`: Number of workers to run at a time