Siddh Mandirwala
← Work/RAGStack

RAGStack

Can a question-answering system over one's own web presence be built without paying for a single API call? Custom scrapers, a LoRA-fine-tuned GPT-2 and a vector database say yes.

PythonLoRA / PEFTQdrantFastAPIDocker
3,200+
Q&A pairs curated
384
Embedding dims
5
Service tiers

What I built

Collected the corpus with three custom scrapers — GitHub by cloning and walking repos, Medium via undetected-chromedriver, LinkedIn via Selenium — writing into MongoDB with link-based dedupe so re-runs stay idempotent.
Prepared the data end to end: sentence-aware chunking at 500 characters with 50 overlap, 384-dimensional MiniLM embeddings indexed in Qdrant for top-5 cosine retrieval, and 3,200+ manually curated Q&A pairs for training.
Fine-tuned GPT-2 small with LoRA (r=16, alpha=32) on an 8-bit-quantized base for 50 epochs and published the weights to Hugging Face.
Ran it as a five-part stack — MongoDB and Qdrant in Docker plus Flask, FastAPI and Gradio services — with ClearML logging every question and answer for later inspection.
← Prev: ParachuteNext: MTAnalytics