Each tab is a top-down flow with live status. Click any box to see what happens inside, in order.
Every search/click is logged to ClickHouse for LTR training data + analytics.
Two scheduled jobs feed the pipeline above. Pause / run-now from Admin โ Schedules.
High-stakes, manual, ~quarterly. Each step is gated by human review โ never auto-run end-to-end. Trigger steps from Admin โ Fine-Tuning.
If post-deploy verification surfaces issues, rollback is two steps:
POST /api/admin/finetune/activate { model_path: "<previous>" } โ hot-swap back to the previous embedderPOST /reindex โ rebuild ES vectors with the previous model (~30โ60 min)Search quality is degraded between (1) and (2) โ rollback is faster if the previous model directory is still on disk.
Apache-2.0 multilingual vision-language model adds a visual lane to retrieval. Image encoder runs at index time (~50 min one-shot, ~2 min/week delta); text encoder runs at query time (~80 ms p50 on GPU). Both share a 1152-dim embedding space so text queries KNN-match against product image vectors with no extra translation step. Kill-switched off by default until rollout.
index:product-imagesimage_vector from old โ new index before alias swaps when
SEARCH_IMAGE_VECTORS_ENABLED=true โ so the May-10-style
erosion can't happen to images either.
trust_remote_code: standard SiglipModel in transformers, no custom Python downloaded from the HF Hub at load time.