The Quanfire blog
We build AI for professional-services firms — including our own domain models where it counts. Here's how we think, what we ship, and the evidence behind it.
Research & Engineering
How we build our own models, and how we measure them.
Research & EngineeringOur first reranker, and the training bug that made it worthless before it worked
We open-sourced rerank-statute-en, our first reranker: a cross-encoder that reorders a retriever's top-k on Indian central statutes. Retrieve-then-rerank Recall@1 goes 0.205 to 0.336 (+63.8%), confidence interval excludes zero. Here is the number, the headroom we did not hide, and the negative-sampling bug that collapsed the first run.
Research & EngineeringWe said our legal model was weak on statutes. Here is the one that is not.
We open-sourced embed-statute-en, a 2.4 MB adapter for retrieving Indian central statutes. On the un-gameable low-overlap slice it more than doubles Recall@1 (+131%), with the numbers, confidence intervals, and provenance to check it yourself.
Research & EngineeringRetrieval across 16 Indian languages, and the receipts to check it
We open-sourced embed-gov-indic: a 2.4 MB adapter that retrieves Indian government press releases across 16 languages, +27.9% Recall@1 over the base model. The model is public and the method is documented, so you can pull it and judge it on your own text.
Research & EngineeringDon't take our word for it: read the tokens yourself
Quanfire's multilingual embeddings are live on Hugging Face: Indic-first, openly licensed, trained only on clean, documented data, verifiable in your browser.
Research & EngineeringThe judgment is public domain. The headnote is not.
A court judgment is public domain; the headnote printed above it is not. How we excised the copyrighted layer so a legal embedding ships Apache-2.0.
For Practitioners
Where AI actually helps professional-services teams — and where it doesn't.
For PractitionersMRR is not "average rank"
An MRR of 0.50 can hide two very different systems. Why the mean misleads, when MRR is the right metric, and the two numbers to report with it.
For PractitionersTwo systems, identical recall, one of them useless
Two retrievers with identical recall can rank results so differently that one is useless. nDCG@k tells them apart by grading relevance and discounting by position. How to compute it, choose k, and read the tail.
For PractitionersRecall@k is the ceiling on everything else
Recall@k caps every downstream retrieval metric. Why to measure it first, the averaging trap that invalidates most published recall numbers, and the pooling bias that punishes better retrievers.
For PractitionersWhat DocPro search does when the embedding model is down
DocPro semantic search runs on an embedding model we host ourselves. Here is the architecture, and the fallback that keeps search answering when it is not.