muvon/octomind-embed
Embedding model for octomind capability / skill auto-activation:
ibm-granite/granite-embedding-30m-english (30M params, 6 layers, 384-dim,
CLS-pooled, prefix-free, English) fine-tuned on trigger phrases from the
octomind-tap capabilities + skills catalog and blended back into the base
as a WiSE-FT model soup, which beats both the base and the raw fine-tune on
the runtime gate (mean-of-top-3 cosine + threshold + margin).
Training: rule-based + LLM paraphrase augmentation, one epoch of
CachedMultipleNegativesRankingLoss (scale 10) on in-class pairs and
positive-aware hard-negative triplets, MatryoshkaLoss over
[384, 256, 192, 128, 96], then weight interpolation with the base.
Files
model.safetensors+1_Pooling/— sentence-transformers layout (fp32).onnx/model.onnx— fp32 graph.onnx/model_quantized.onnx— int8 (weight-only, per-channel, plain 8-bit range); this is what the octomind runtime loads. Pool with CLS as declared in1_Pooling/config.json.
Use
octomind loads onnx:muvon/octomind-embed via octolib's ONNX provider (MODEL_NAME in
octomind/src/embeddings/mod.rs). Runtime thresholds are model-specific and
calibrated against the int8 graph (AUTO_ACTIVATE_THRESHOLD / _MARGIN in
capability.rs, SEMANTIC_* in skill.rs).