← Back to work

RAGpack — Document-to-Vector-Store Ingestion Library

Personal — RAG & Retrieval Systems · 2026

Turns a folder of documents into a searchable Qdrant index in one line — GPU-optional embeddings, optional GPU OCR for scanned PDFs, and fail-closed device selection. Installable from source.

installable
from source; CPU / GPU / OCR extras measured
Py 3.10–3.12
CI matrix, fully offline test suite measured
fail-closed
device="cuda" never silently drops to CPU measured
  • Python
  • Qdrant
  • Embeddings
  • GPU OCR
  • CI

Context

Every RAG project starts by re-solving the same unglamorous problem: get a pile of documents into a vector store cleanly, without silent data loss. RAGpack is that step, extracted into a library so it stops being rewritten.

What I built

  • One-line ingestion — point it at a directory, get a searchable Qdrant index, with embeddings on CPU or GPU.
  • Optional GPU OCR for scanned and image-based PDFs.
  • Fail-closed device selection — ask for cuda and it will not quietly fall back to CPU and pretend everything is fine; it tells you.

Why it matters

It is the ingestion engine under the RFC-corpus RAG and the blockchain vertical on this site — the same code, installable from source, with an offline test suite that runs on Python 3.10 through 3.12 in CI. Boring, reused, and tested is the point.