Facade over the concrete embedding backend for the current target.
Backend selection priority:
--features embed-fastembedforces the fastembed (ORT) backend.--features embed-tractforces the pure-Rust tract backend.- Otherwise the target-cfg in
Cargo.tomlpicks the default:- fastembed on
aarch64-apple-darwin,x86_64-pc-windows-msvc,x86_64-unknown-linux-gnu(the only triples with ORT prebuilts). - tract on every other target (aarch64-linux, musl, all wasm, aarch64-windows, AND x86_64-apple-darwin — pyke dropped the Intel-mac ORT prebuilt, so the facade routes Intel macs to tract here).
- fastembed on
Downstream code imports ONLY from this crate. The backend selection is invisible.
embed-fastembed and embed-tract are documented as mutually exclusive.
If both are set, fastembed wins (the re-export below picks it first); this
is a soft guarantee — prefer enabling exactly one.