pub enum EmbeddingModel {
Show 19 variants
AllMiniLML6V2,
AllMiniLML12V2,
AllMpnetBaseV2,
BGESmallENV15,
BGEBaseENV15,
BGELargeENV15,
BGESmallZHV15,
BGELargeZHV15,
MultilingualE5Small,
MultilingualE5Base,
MultilingualE5Large,
ParaphraseMLMiniLML12V2,
ParaphraseMLMpnetBaseV2,
SnowflakeArcticEmbedXS,
SnowflakeArcticEmbedS,
SnowflakeArcticEmbedM,
SnowflakeArcticEmbedL,
MxbaiEmbedLargeV1,
NomicEmbedTextV15,
}Expand description
Supported text embedding models.
Each variant maps to a specific HuggingFace model repository with
pre-trained safetensors weights. Use EmbeddingModel::get_info to
access metadata (dimension, pooling strategy, max sequence length).
Variants§
AllMiniLML6V2
sentence-transformers/all-MiniLM-L6-v2 — 384-dim, 6 layers, mean pooling.
AllMiniLML12V2
sentence-transformers/all-MiniLM-L12-v2 — 384-dim, 12 layers, mean pooling.
AllMpnetBaseV2
sentence-transformers/all-mpnet-base-v2 — 768-dim, 12 layers, mean pooling. Note: mpnet architecture — uses different attention key naming.
BGESmallENV15
BAAI/bge-small-en-v1.5 — 384-dim, 12 layers, CLS pooling.
BGEBaseENV15
BAAI/bge-base-en-v1.5 — 768-dim, 12 layers, CLS pooling.
BGELargeENV15
BAAI/bge-large-en-v1.5 — 1024-dim, 24 layers, CLS pooling.
BGESmallZHV15
BAAI/bge-small-zh-v1.5 — 512-dim, 12 layers, CLS pooling.
BGELargeZHV15
BAAI/bge-large-zh-v1.5 — 1024-dim, 24 layers, CLS pooling.
MultilingualE5Small
intfloat/multilingual-e5-small — 384-dim, 12 layers, mean pooling.
MultilingualE5Base
intfloat/multilingual-e5-base — 768-dim, 12 layers, mean pooling.
MultilingualE5Large
intfloat/multilingual-e5-large — 1024-dim, 24 layers, mean pooling.
ParaphraseMLMiniLML12V2
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 — 384-dim, 12 layers, mean pooling.
ParaphraseMLMpnetBaseV2
sentence-transformers/paraphrase-multilingual-mpnet-base-v2 — 768-dim, 12 layers, mean pooling.
SnowflakeArcticEmbedXS
snowflake/snowflake-arctic-embed-xs — 384-dim, CLS pooling.
SnowflakeArcticEmbedS
snowflake/snowflake-arctic-embed-s — 384-dim, CLS pooling.
SnowflakeArcticEmbedM
Snowflake/snowflake-arctic-embed-m — 768-dim, CLS pooling.
SnowflakeArcticEmbedL
snowflake/snowflake-arctic-embed-l — 1024-dim, CLS pooling.
MxbaiEmbedLargeV1
mixedbread-ai/mxbai-embed-large-v1 — 1024-dim, CLS pooling.
NomicEmbedTextV15
nomic-ai/nomic-embed-text-v1.5 — 768-dim, 12 layers, mean pooling, RoPE, SwiGLU.
Implementations§
Trait Implementations§
Source§impl Clone for EmbeddingModel
impl Clone for EmbeddingModel
Source§fn clone(&self) -> EmbeddingModel
fn clone(&self) -> EmbeddingModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EmbeddingModel
impl Debug for EmbeddingModel
Source§impl Default for EmbeddingModel
impl Default for EmbeddingModel
Source§fn default() -> EmbeddingModel
fn default() -> EmbeddingModel
impl Eq for EmbeddingModel
Source§impl Hash for EmbeddingModel
impl Hash for EmbeddingModel
Source§impl PartialEq for EmbeddingModel
impl PartialEq for EmbeddingModel
Source§fn eq(&self, other: &EmbeddingModel) -> bool
fn eq(&self, other: &EmbeddingModel) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for EmbeddingModel
Auto Trait Implementations§
impl Freeze for EmbeddingModel
impl RefUnwindSafe for EmbeddingModel
impl Send for EmbeddingModel
impl Sync for EmbeddingModel
impl Unpin for EmbeddingModel
impl UnsafeUnpin for EmbeddingModel
impl UnwindSafe for EmbeddingModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more