Views
No views yet
| Model | HuggingFace | Task | Key Metric |
|---|---|---|---|
| InsureLLM-4B | piyushptiwari/InsureLLM-4B | Insurance domain LLM | ROUGE-1: 0.384 |
| InsureDocClassifier | piyushptiwari/InsureDocClassifier | 12-class document classification | F1: 1.0 |
| InsureNER | piyushptiwari/InsureNER | 13-entity NER | F1: 1.0 |
| InsureFraudNet | piyushptiwari/InsureFraudNet | Fraud detection (3 LoB) | AUC-ROC: 1.0 |
| InsurePricing | piyushptiwari/InsurePricing | Premium pricing (GLM + EBM) | MAE: £11,132 |
| InsureSearch | piyushptiwari/insureos-search-engine | Hybrid search engine | 33K docs indexed |
insureos-models/
├── data/ # Synthetic data generation
│ ├── constants.py # UK insurance constants (regions, perils, regulators)
│ ├── gen_sft.py # Generate SFT instruction-response pairs
│ ├── gen_dpo.py # Generate DPO preference pairs
│ ├── gen_documents.py # Generate insurance documents (12 classes)
│ ├── gen_ner.py # Generate NER-annotated text
│ ├── gen_tabular.py # Generate claims tabular data
│ └── generate_all.py # Run all generators
│
├── collect/ # Real-world data collection
│ ├── config.py # Scraping targets and configuration
│ ├── scraper_base.py # Base HTTP scraper with caching
│ ├── convert_sft.py # Convert raw docs → SFT/DPO format
│ ├── run_fast.py # Fast collection orchestrator
│ └── sources/ # Per-source scrapers
│ ├── wikipedia.py # Wikipedia insurance articles
│ ├── legislation.py # UK legislation (legislation.gov.uk)
│ ├── fca.py # FCA Handbook
│ ├── hf_datasets.py # HuggingFace insurance datasets
│ ├── rss_news.py # Insurance news RSS feeds
│ └── education.py # Insurance education resources
│
├── training/ # Model training scripts
│ ├── qlora_finetune.py # QLoRA fine-tuning (Qwen3-4B)
│ ├── dpo_train.py # DPO alignment training
│ ├── retrain_realworld.py # Real-world data retraining
│ ├── doc_classifier.py # ModernBERT document classifier
│ ├── ner_model.py # ModernBERT NER model
│ ├── fraud_model.py # XGBoost + Isolation Forest fraud
│ ├── pricing_glm.py # Tweedie GLM + EBM pricing
│ └── distill.py # Model distillation (experimental)
│
├── evaluation/ # Evaluation suite
│ ├── run_eval.py # Full multi-model evaluation
│ └── results/ # Evaluation results (JSON)
│
├── search/ # Hybrid search engine
│ ├── config.py # Search configuration
│ ├── embedder.py # BGE-small-en-v1.5 embedding service
│ ├── bm25.py # Custom Okapi BM25 implementation
│ ├── vector_store.py # Qdrant vector store
│ ├── reranker.py # Cross-encoder reranker
│ ├── hybrid_engine.py # RRF fusion (vector + BM25 + reranker)
│ ├── indexer.py # Document ingestion pipeline
│ ├── models.py # Pydantic data models
│ └── api.py # FastAPI REST API
│
├── serve/ # Model serving
│ └── api.py # FastAPI inference endpoints
│
└── scripts/ # Automation
├── setup.sh # Environment setup (NVIDIA, Python, deps)
└── train_all.sh # Full training pipeline script1# Create virtual environment
2python3 -m venv .venv && source .venv/bin/activate
3
4# Install dependencies
5pip install torch transformers trl peft bitsandbytes
6pip install xgboost scikit-learn interpret
7pip install sentence-transformers qdrant-client fastapi uvicorn1python -m data.generate_all
2# Outputs: data/output/ (SFT, DPO, docs, NER, tabular)1# Train all models sequentially
2bash scripts/train_all.sh
3
4# Or individually:
5python training/qlora_finetune.py # InsureLLM QLoRA
6python training/dpo_train.py # InsureLLM DPO
7python training/doc_classifier.py # Document classifier
8python training/ner_model.py # NER model
9python training/fraud_model.py # Fraud detection
10python training/pricing_glm.py # Pricing models1python evaluation/run_eval.py
2# Results saved to evaluation/results/1# Index documents
2python search/indexer.py
3
4# Start API
5python search/api.py
6# API at http://localhost:8900
7# Endpoints: /search, /search/vector, /search/keyword, /suggest, /facets, /stats| Component | Technology | Details |
|---|---|---|
| Vector Search | BGE-small-en-v1.5 (384-dim) + Qdrant | Semantic similarity |
| Keyword Search | Custom Okapi BM25 | Insurance-aware tokenization |
| Reranking | cross-encoder/ms-marco-MiniLM-L-6-v2 | Cross-encoder reranking |
| Fusion | Reciprocal Rank Fusion (RRF) | Vector 60% + BM25 40% |
| API | FastAPI | REST API with facets, suggestions |
Stage 1: Synthetic Data Generation
├── 10K SFT instruction-response pairs
├── 5K DPO preference pairs
├── 50K tabular claims (Motor/Property/Liability)
├── 10K insurance documents (12 classes)
└── 8K NER-annotated texts (13 entity types)
Stage 2: QLoRA Fine-Tuning → Qwen3-4B
├── rank=64, alpha=128, all-linear targets
├── 2 epochs, batch=2, grad_accum=4
├── Final: train_loss=0.012, eval_loss=0.118
└── Token accuracy: 95.88%
Stage 3: DPO Alignment
├── 5K preference pairs
├── 149 steps, reward_accuracy=1.0
└── Reward margin: 26.76
Stage 4: Real-World Data Collection
├── Wikipedia (150 docs), UK Legislation (692)
├── HuggingFace datasets (31,060), RSS (50), Education (88)
├── Converted to 3,685 SFT + 776 DPO pairs
└── Quality filtered (English-only, no echo responses)
Stage 5: Real-World Retraining
├── 876 steps on real-world SFT data
└── Claims process score improved 0.40 → 0.60
Stage 6: Specialized Models (parallel)
├── FraudNet: XGBoost + Isolation Forest → AUC-ROC 1.0
├── PricingGLM: Tweedie GLM + EBM → MAE £11,132
├── DocClassifier: ModernBERT → F1 1.0
└── InsureNER: ModernBERT → F1 1.01@misc{bytical2026insureos,
2 title={INSUREOS: A Complete AI/ML Suite for UK Insurance Operations},
3 author={Bytical AI},
4 year={2026},
5 url={https://huggingface.co/piyushptiwari/insureos-models}
6}