This document maps ambitions to what ships in-repo and what stays external.
- In-repo:
quorabust.dataio.iter_csv_batchesstreams CSV chunks with pandas (chunksize) so you can build custom loops (sample, aggregate stats, incremental vocab experiments) without loading full files. - XGBoost: use
xgb_params(e.g.n_jobs=-1,tree_method="hist", GPUdevice="cuda"when available). For cluster-scale training, use vendor docs (XGBoost on Spark/YARN, Dask, Ray Train); this library stays a single-node default.
- Optional extra
pip install ".[nlp]"**:PairEmbeddingBuilderinquorabust.embedding_featuresusessentence-transformersto encode pairs and feeds cosine / L2 / pooling stats into the same XGBoost head. Training can select--feature-backend embeddinginquorabust-train. - Cross-encoder pair scoring:
PairCrossEncoderBuilderinquorabust.cross_encoder_featuresuses a Sentence TransformersCrossEncoderto score each pair directly, then feeds that score plus length stats into the same XGBoost head. Select it with--feature-backend cross-encoder. This is the modern high-accuracy path for pair scoring, but it is slower than TF-IDF or bi-encoder embeddings because every pair must be passed through the transformer jointly.
quorabust-serve: FastAPI app with/health,/ready,/predict, and Prometheus/metrics(latency histogram + request counter). Run behind your platform ingress and attach SLO dashboards to those metrics.- Readiness:
/readyis 503 until a model path is loaded successfully. - Thresholds:
/predictreturns the raw probability plus anis_duplicatedecision. Use?threshold=...for per-request policy tests, or setQUORABUST_DECISION_THRESHOLD/ artifact metadata for service defaults.
- Set
QUORABUST_MODEL_Bto a second artifact path. Clients sendX-Quorabust-Variant: b(default a). Your edge proxy can split traffic; this repo only routes per request.
- Registry:
quorabust.registry.append_model_recordappends JSON lines underregistry_dir(e.g. path, metrics, git SHA). Swap for MLflow/W&B when you need a full registry UI. - Drift:
quorabust.drift.mean_shift_scorescompares current batch feature means to a reference dict (e.g. from trainingmeta). No feature store server—persist reference JSON next to the model and refresh on retrains.