Instructions to use FahrenheitResearch/FR-Docs-v1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use FahrenheitResearch/FR-Docs-v1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="FahrenheitResearch/FR-Docs-v1")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("FahrenheitResearch/FR-Docs-v1") model = AutoModelForSequenceClassification.from_pretrained("FahrenheitResearch/FR-Docs-v1") - Notebooks
- Google Colab
- Kaggle
FR-Docs-v1
Document type recognition, classification, and sensitive-content detection. FR-Docs identifies uploaded documents (Word, PDF, text), classifies them into 30 business categories across 8 groups, flags sensitive spans for redaction, and returns an LLM routing suggestion, so downstream systems can assign each document to the most suitable model automatically.
Built by Neural Arc Inc. as the document intelligence layer for the Helium AI workspace.
What is in this repo
- Fine-tuned DistilBERT classifier (67M parameters): 31 labels (30 categories plus
other), trained with the Hugging Face Trainer. pipeline/folder: the full FR-Docs pipeline source, including format detection and text extraction (PyMuPDF, python-docx), scanned-PDF detection, a three-layer sensitive-content scanner (regex, gazetteer, zero-shot GLiNER), redaction helpers, a FastAPI service with a browser tester UI, and training scripts for retraining or upgrading the base model.
Categories
Legal: contract, nda, court_filing, patent, compliance_filing. Financial: invoice, receipt, purchase_order, financial_statement, tax_document, insurance_document. HR: cv_resume, offer_letter, policy_document. Product: product_spec, datasheet, user_manual. Sales and Marketing: proposal, case_study, press_release, marketing_collateral. Operations: sop, report, meeting_minutes, form, presentation. Correspondence: email_thread, letter, memo. Technical: research_paper. Fallback: other.
Usage
Classification only:
from transformers import pipeline
clf = pipeline("text-classification", model="FahrenheitResearch/FR-Docs-v1")
print(clf("INVOICE #INV-2026-0142 ... TOTAL DUE: $27,435. Payment terms: Net 30."))
# [{'label': 'invoice', 'score': ...}]
Full pipeline (extraction, classification, sensitive-span detection, routing):
hf download FahrenheitResearch/FR-Docs-v1 --include "pipeline/*" --local-dir fr-docs
cd fr-docs/pipeline
pip install -r requirements.txt
FR_DOCS_SENSITIVITY=strict uvicorn fr_docs.api:app --port 8080
# open http://localhost:8080 for the drag-and-drop tester
Sensitive-content detection
Three stacked detectors return character-offset spans for redaction: regex (emails, phones, credit cards with Luhn validation, SSN, PAN, Aadhaar, GSTIN, IBAN, passports, vehicle registrations, IPs, URLs, money amounts, salaries, account numbers, dates of birth, equity stakes), a gazetteer of organization-specific brand, product, and client names (editable YAML, no retraining), and optional zero-shot NER via GLiNER for person names, companies, and addresses. A strict profile additionally flags all dates, standalone number sequences, and reference IDs.
Training and limitations
v1 was trained on a fully synthetic templated corpus (7,750 documents, 250 per class). It performs well on clearly structured business documents but has not yet been trained on real-world data; expect degraded accuracy on unusual layouts, informal writing, and domains far from the templates. Scanned documents without a text layer are detected and deferred rather than classified. The training scripts in pipeline/training/ support retraining on your own labeled JSONL with any Hugging Face base model, including ModernBERT for long documents.
License
Apache 2.0.
- Downloads last month
- 12