Skip to main content

Module embedder_registry

Module embedder_registry 

Source
Expand description

Embedder registry for model selection (bd-2mbe).

This module provides a registry of available embedding backends that allows:

  • Listing available embedders with metadata
  • Selecting embedder by name from CLI/config
  • Validating model availability before use
  • Providing a sensible default model

Note: The core types (RegisteredEmbedder, EmbedderRegistry) are structurally identical to those in frankensearch_embed::model_registry. They are kept locally for now due to build-system sync constraints (rch does not sync sibling path dependencies). See frankensearch-embed for the canonical definitions, which additionally include reranker support, two additional Potion embedders, and richer directory-resolution helpers.

§Supported Embedders

NameIDDimensionTypeNotes
minilmminilm-384384MLDefault semantic embedder
hashfnv1a-384384HashAlways available fallback

§Example

use crate::search::embedder_registry::{EmbedderRegistry, get_embedder};

let registry = EmbedderRegistry::new(&data_dir);

// List available embedders
for info in registry.available() {
    println!("{}: {} ({})", info.name, info.id, info.dimension);
}

// Get embedder by name
let embedder = get_embedder(&data_dir, Some("minilm"))?;

Structs§

EmbedderRegistry
Embedder registry with data directory context.
RegisteredEmbedder
Information about a registered embedder.

Constants§

BAKEOFF_ELIGIBILITY_CUTOFF
Eligibility cutoff for bake-off (models must be released on/after this date).
DEFAULT_EMBEDDER
Default embedder name when none specified.
HASH_EMBEDDER
Hash embedder name (always available).
REQUIRED_ONNX_FILES
Files required for any ONNX-based embedder.

Statics§

EMBEDDERS
Static registry of all supported embedders.

Functions§

get_embedder
Load an embedder by name (or default if None).
get_embedder_info
Get embedder info for display/logging.