A powerful web application for bulk extraction and preprocessing of text from PDF and EPUB files, optimized for technical content and machine learning dataset preparation.
This project is a React + Vite web app. To run it locally:
# Install dependencies
npm install
# Start the dev server
npm run dev
Then open the URL printed in the terminal (usually http://localhost:5173).
If you want a Node-based API for testing PDF/EPUB extraction without a browser, run:
npm run local-api
The API listens on http://localhost:8787/api/process and expects JSON:
{
"fileName": "example.pdf",
"fileType": "pdf",
"contentBase64": "<base64-encoded-file>"
}
The app exports Python dataset loader templates (e.g., dataset_loader.py and tf_dataset_loader.py).
If you plan to use those templates, install the optional dependencies from:
pip install -r requirements.txt
LM Studio provides the best offline experience with a simple GUI:
llava-v1.6-7b or llama3.2-vision)Alternative: Using Ollama (command-line):
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull a vision model for OCR support
ollama pull llama3.2-vision
# Ollama starts automatically, or run:
ollama serve
npm run dev)http://localhost:1234/v1β That's it! You can now work completely offline.
The app is designed for offline-first operation with LM Studio:
| Provider | API URL | API Key | Internet | Notes |
|---|---|---|---|---|
| LM Studio β | http://localhost:1234/v1 | Not required | β Offline | Default - Best for offline use |
| Ollama | http://localhost:11434/v1 | Not required | β Offline | Command-line alternative |
| OpenAI | https://api.openai.com/v1 | Required | β Online | Cloud API, costs per use |
| Custom | Your endpoint | Varies | Depends | Any OpenAI-compatible API |
For OCR (vision required):
llama3.2-vision (Ollama) - Best qualityllava (Ollama) - Good balancegpt-4o (OpenAI) - Fast, cloud-basedFor text tasks only:
llama3.2 (Ollama)mistral (Ollama)gpt-4o-mini (OpenAI)NEW! Build your own personal AI that grows with you over time.
This repository now includes a complete starter kit for training a domain-specific AI model on your personal knowledge:
# Install training dependencies
pip install -r requirements-training.txt
# Start Jupyter
jupyter notebook notebooks/personal_model_training.ipynb
Learn more: Read the comprehensive Personal AI Training Guide
The workflow:
.txt)Can't connect to LLM?
ollama list/v1 path127.0.0.1 instead of localhostOCR not working?
ollama pull llama3.2-visionProcessing slow?
See DOCUMENTATION.md for complete troubleshooting guide.
See LICENSE file for details.
Issues and feature requests are welcome! Please check existing documentation before reporting.
Note: This application requires a vision-capable LLM for OCR features. Text-only features (sentiment analysis, preprocessing) work with any LLM model.
7 commits
Jupyter Notebook
98.1%
TypeScript
1.8%
A powerful web application for bulk extraction and preprocessing of text from PDF and EPUB files, optimized for technical content and machine learning dataset preparation.
This project is a React + Vite web app. To run it locally:
# Install dependencies
npm install
# Start the dev server
npm run dev
Then open the URL printed in the terminal (usually http://localhost:5173).
If you want a Node-based API for testing PDF/EPUB extraction without a browser, run:
npm run local-api
The API listens on http://localhost:8787/api/process and expects JSON:
{
"fileName": "example.pdf",
"fileType": "pdf",
"contentBase64": "<base64-encoded-file>"
}
The app exports Python dataset loader templates (e.g., dataset_loader.py and tf_dataset_loader.py).
If you plan to use those templates, install the optional dependencies from:
pip install -r requirements.txt
LM Studio provides the best offline experience with a simple GUI:
llava-v1.6-7b or llama3.2-vision)Alternative: Using Ollama (command-line):
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Pull a vision model for OCR support
ollama pull llama3.2-vision
# Ollama starts automatically, or run:
ollama serve
npm run dev)http://localhost:1234/v1β That's it! You can now work completely offline.
The app is designed for offline-first operation with LM Studio:
| Provider | API URL | API Key | Internet | Notes |
|---|---|---|---|---|
| LM Studio β | http://localhost:1234/v1 | Not required | β Offline | Default - Best for offline use |
| Ollama | http://localhost:11434/v1 | Not required | β Offline | Command-line alternative |
| OpenAI | https://api.openai.com/v1 | Required | β Online | Cloud API, costs per use |
| Custom | Your endpoint | Varies | Depends | Any OpenAI-compatible API |
For OCR (vision required):
llama3.2-vision (Ollama) - Best qualityllava (Ollama) - Good balancegpt-4o (OpenAI) - Fast, cloud-basedFor text tasks only:
llama3.2 (Ollama)mistral (Ollama)gpt-4o-mini (OpenAI)NEW! Build your own personal AI that grows with you over time.
This repository now includes a complete starter kit for training a domain-specific AI model on your personal knowledge:
# Install training dependencies
pip install -r requirements-training.txt
# Start Jupyter
jupyter notebook notebooks/personal_model_training.ipynb
Learn more: Read the comprehensive Personal AI Training Guide
The workflow:
.txt)Can't connect to LLM?
ollama list/v1 path127.0.0.1 instead of localhostOCR not working?
ollama pull llama3.2-visionProcessing slow?
See DOCUMENTATION.md for complete troubleshooting guide.
See LICENSE file for details.
Issues and feature requests are welcome! Please check existing documentation before reporting.
Note: This application requires a vision-capable LLM for OCR features. Text-only features (sentiment analysis, preprocessing) work with any LLM model.
7 commits
Jupyter Notebook
98.1%
TypeScript
1.8%