TextEmbedder

[source]

TextEmbedder class

keras_hub.models.TextEmbedder(*args, compile=True, **kwargs)

Base class for all text embedding tasks.

TextEmbedder tasks wrap a keras_hub.models.Backbone and a keras_hub.models.Preprocessor to create a model that can be used for generating fixed-size sentence embeddings from variable-length text inputs.

All TextEmbedder tasks include a from_preset() constructor which can be used to load a pre-trained config and weights.

Example

# Load a sentence-transformers model.
embedder = keras_hub.models.TextEmbedder.from_preset(
    "all_minilm_l6_v2_en",
)

# Semantic search.
query = "Which planet is known as the Red Planet?"
documents = [
    "Mars is often referred to as the Red Planet.",
    "Venus is often called Earth's twin.",
]
q_emb = embedder.encode_text(query)
d_embs = embedder.encode_text(documents)

[source]

from_preset method

TextEmbedder.from_preset(preset, load_weights=True, **kwargs)

Instantiate a keras_hub.models.Task from a model preset.

A preset is a directory of configs, weights and other file assets used to save and load a pre-trained model. The preset can be passed as one of:

  1. a built-in preset identifier like 'bert_base_en'
  2. a Kaggle Models handle like 'kaggle://user/bert/keras/bert_base_en'
  3. a Hugging Face handle like 'hf://user/bert_base_en'
  4. a path to a local preset directory like './bert_base_en'

For any Task subclass, you can run cls.presets.keys() to list all built-in presets available on the class.

This constructor can be called in one of two ways. Either from a task specific base class like keras_hub.models.CausalLM.from_preset(), or from a model class like keras_hub.models.BertTextClassifier.from_preset(). If calling from the a base class, the subclass of the returning object will be inferred from the config in the preset directory.

Arguments

  • preset: string. A built-in preset identifier, a Kaggle Models handle, a Hugging Face handle, or a path to a local directory.
  • load_weights: bool. If True, saved weights will be loaded into the model architecture. If False, all weights will be randomly initialized.

Examples

# Load a Gemma generative task.
causal_lm = keras_hub.models.CausalLM.from_preset(
    "gemma_2b_en",
)

# Load a Bert classification task.
model = keras_hub.models.TextClassifier.from_preset(
    "bert_base_en",
    num_classes=2,
)
Preset Parameters Description
bert_tiny_en_uncased 4.39M 2-layer BERT model where all input is lowercased. Trained on English Wikipedia + BooksCorpus.
bert_tiny_en_uncased_sst2 4.39M The bert_tiny_en_uncased backbone model fine-tuned on the SST-2 sentiment analysis dataset.
paraphrase_minilm_l3_v2_en 17.07M 3-layer MiniLM model for paraphrase detection. Ultra-fast with 384-dimensional sentence embeddings.
all_minilm_l6_v2_en 22.71M 6-layer MiniLM sentence embedding model. Maps sentences to 384-dimensional dense vectors. Trained on 1B+ sentence pairs for semantic similarity, search, and clustering.
all_minilm_l6_v1_en 22.71M 6-layer MiniLM sentence embedding model (v1). Maps sentences to 384-dimensional dense vectors.
paraphrase_minilm_l6_v2_en 22.71M 6-layer MiniLM model for paraphrase detection. Fast with 384-dimensional sentence embeddings.
multi_qa_minilm_l6_cos_v1_en 22.71M 6-layer MiniLM model for semantic search with cosine similarity. Trained on 215M QA pairs.
multi_qa_minilm_l6_dot_v1_en 22.71M 6-layer MiniLM model for semantic search with dot-product similarity. Trained on 215M QA pairs.
msmarco_minilm_l6_cos_v5_en 22.71M 6-layer MiniLM model for information retrieval with cosine similarity. Trained on MS MARCO passage ranking.
bge_small_v1.5_zh 23.95M 12-layer BGE small Chinese embedding model (v1.5). Maps sentences to 384-dimensional L2-normalized dense vectors. Optimized for dense retrieval on Chinese text.
bert_small_en_uncased 28.76M 4-layer BERT model where all input is lowercased. Trained on English Wikipedia + BooksCorpus.
all_minilm_l12_v2_en 33.36M 12-layer MiniLM sentence embedding model. Maps sentences to 384-dimensional dense vectors. Higher accuracy than the L6 variant with moderate speed tradeoff.
paraphrase_minilm_l12_v2_en 33.36M 12-layer MiniLM model for paraphrase detection with 384-dimensional sentence embeddings.
msmarco_minilm_l12_cos_v5_en 33.36M 12-layer MiniLM model for information retrieval with cosine similarity. Trained on MS MARCO passage ranking.
bge_small_en 33.36M 12-layer BGE small English embedding model (v1). Maps sentences to 384-dimensional L2-normalized dense vectors. Optimized for dense retrieval and semantic similarity.
bge_small_v1.5_en 33.36M 12-layer BGE small English embedding model (v1.5). Maps sentences to 384-dimensional L2-normalized dense vectors. Optimized for dense retrieval and semantic similarity.
bert_medium_en_uncased 41.37M 8-layer BERT model where all input is lowercased. Trained on English Wikipedia + BooksCorpus.
bert_base_zh 102.27M 12-layer BERT model. Trained on Chinese Wikipedia.
bge_base_zh 102.27M 12-layer BGE base Chinese embedding model (v1). Maps sentences to 768-dimensional L2-normalized dense vectors. Optimized for dense retrieval on Chinese text.
bge_base_v1.5_zh 102.27M 12-layer BGE base Chinese embedding model (v1.5). Maps sentences to 768-dimensional L2-normalized dense vectors. Optimized for dense retrieval on Chinese text.
bert_base_en 108.31M 12-layer BERT model where case is maintained. Trained on English Wikipedia + BooksCorpus.
bert_base_en_uncased 109.48M 12-layer BERT model where all input is lowercased. Trained on English Wikipedia + BooksCorpus.
bge_base_en 109.48M 12-layer BGE base English embedding model (v1). Maps sentences to 768-dimensional L2-normalized dense vectors. Optimized for dense retrieval and semantic similarity.
bge_base_v1.5_en 109.48M 12-layer BGE base English embedding model (v1.5). Maps sentences to 768-dimensional L2-normalized dense vectors. Optimized for dense retrieval and semantic similarity.
bge_llm_embedder 109.48M BGE-LLM-Embedder: 12-layer embedding model for retrieval-augmented language model applications. Maps text to 768-dimensional dense vectors and supports knowledge, memory, demonstration, and tool retrieval tasks.
multilingual_e5_small 117.65M 12-layer multilingual E5 embedding model with 384-dimensional vectors. Fine-tuned for dense retrieval across 100+ languages using weakly-supervised contrastive pre-training. Prefix inputs with 'query: ' for queries and 'passage: ' for documents.
bert_base_multi 177.85M 12-layer BERT model where case is maintained. Trained on trained on Wikipedias of 104 languages
bge_large_zh 325.52M 24-layer BGE large Chinese embedding model (v1). Maps sentences to 1024-dimensional L2-normalized dense vectors. Highest accuracy in the BGE Chinese v1 family.
bge_large_v1.5_zh 325.52M 24-layer BGE large Chinese embedding model (v1.5). Maps sentences to 1024-dimensional L2-normalized dense vectors. Highest accuracy in the BGE Chinese v1.5 family.
bert_large_en 333.58M 24-layer BERT model where case is maintained. Trained on English Wikipedia + BooksCorpus.
bert_large_en_uncased 335.14M 24-layer BERT model where all input is lowercased. Trained on English Wikipedia + BooksCorpus.
bge_large_en 335.14M 24-layer BGE large English embedding model (v1). Maps sentences to 1024-dimensional L2-normalized dense vectors. Highest accuracy in the BGE English v1 family.
bge_large_v1.5_en 335.14M 24-layer BGE large English embedding model (v1.5). Maps sentences to 1024-dimensional L2-normalized dense vectors. Highest accuracy in the BGE English family.
gemma3_270m 268.10M 270-million parameter(170m embedding,100m transformer params) model, 18-layer, text-only designed for hyper-efficient AI, particularly for task-specific fine-tuning.
gemma3_instruct_270m 268.10M 270-million parameter(170m embedding,100m transformer params) model, 18-layer, text-only,instruction-tuned model designed for hyper-efficient AI, particularly for task-specific fine-tuning.
function_gemma_instruct_270m 268.10M A 270M Million parameter text-only model based on Gemma 3. This model is trained specifically for function calling improvements.
harrier_embedding_oss_270m 268.10M Microsoft harrier-oss-v1 270M multilingual text embedding model based on the Gemma3-270M architecture, fine-tuned for dense retrieval and semantic similarity across 94+ languages. Achieves 66.5 on Multilingual MTEB v2.
embedding_gemma3_300m 307.58M Embedding-focused Gemma 3 model (300M parameters, 24 layers).
gemma3_1b 999.89M 1 billion parameter, 26-layer, text-only pretrained Gemma3 model.
gemma3_instruct_1b 999.89M 1 billion parameter, 26-layer, text-only instruction-tuned Gemma3 model.
gemma3_4b_text 3.88B 4 billion parameter, 34-layer, text-only pretrained Gemma3 model.
gemma3_instruct_4b_text 3.88B 4 billion parameter, 34-layer, text-only instruction-tuned Gemma3 model.
gemma3_4b 4.30B 4 billion parameter, 34-layer, vision+text pretrained Gemma3 model.
gemma3_instruct_4b 4.30B 4 billion parameter, 34-layer, vision+text instruction-tuned Gemma3 model.
translategemma_4b_it 4.30B 4 billion parameter, 34-layer, multimodal instruction-tuned translation model based on Gemma 3. Supports text and image input for translation across 55 languages.
medgemma_4b 4.30B A 4 billion parameter model based on Gemma 3. This model is pre-trained for performance on medical text and image comprehension and is optimized for medical applications that involve a text generation component.
medgemma_instruct_4b 4.30B A 4 billion parameter model based on Gemma 3. This model is instruction-tuned for performance on medical text and image comprehension and is optimized for medical applications that involve a text generation component.
medgemma_1.5_instruct_4b 4.30B A 4 billion parameter,Instruct-tuned MedGemma 1.5 4B is an updated version of the Instruction-tuned MedGemma 4B model.
gemma3_12b_text 11.77B 12 billion parameter, 48-layer, text-only pretrained Gemma3 model.
gemma3_instruct_12b_text 11.77B 12 billion parameter, 48-layer, text-only instruction-tuned Gemma3 model.
gemma3_12b 12.19B 12 billion parameter, 48-layer, vision+text pretrained Gemma3 model.
gemma3_instruct_12b 12.19B 12 billion parameter, 48-layer, vision+text instruction-tuned Gemma3 model.
translategemma_12b_it 12.19B 12 billion parameter, 48-layer, multimodal instruction-tuned translation model based on Gemma 3. Supports text and image input for translation across 55 languages.
gemma3_27b_text 27.01B 27 billion parameter, 62-layer, text-only pretrained Gemma3 model.
gemma3_instruct_27b_text 27.01B 27 billion parameter, 62-layer, text-only instruction-tuned Gemma3 model.
medgemma_instruct_27b_text 27.01B A 27 billion parameter text-only model based on Gemma 3. This model is instruction-tuned (No images) for performance on medical text comprehension and is optimized for medical applications that involve a text generation component.
gemma3_27b 27.43B 27 billion parameter, 62-layer, vision+text pretrained Gemma3 model.
gemma3_instruct_27b 27.43B 27 billion parameter, 62-layer, vision+text instruction-tuned Gemma3 model.
translategemma_27b_it 27.43B 27 billion parameter, 62-layer, multimodal instruction-tuned translation model based on Gemma 3. Supports text and image input for translation across 55 languages.
medgemma_instruct_27b 27.43B A 27 billion parameter model based on Gemma 3. This model is instruction-tuned for performance on medical text and image comprehension and is optimized for medical applications that involve a text generation component.
qwen3_embedding_0.6b_en 595.78M This text embedding model features a 32k context length and offers flexible, user-defined embedding dimensions that can range from 32 to 1024.
qwen3_0.6b_en 596.05M 28-layer Qwen3 model with 596M parameters, optimized for efficiency and fast inference on resource-constrained devices.
harrier_embedding_oss_0.6b 596.05M Microsoft harrier-oss-v1 0.6B multilingual text embedding model based on the Qwen3-0.6B architecture, fine-tuned for dense retrieval and semantic similarity across 94+ languages. Achieves 69.0 on Multilingual MTEB v2.
qwen3_1.7b_en 1.72B 28-layer Qwen3 model with 1.72B parameters, offering a good balance between performance and resource usage.
qwen3_embedding_4b_en 4.02B This text embedding model features a 32k context length and offers flexible, user-defined embedding dimensions that can range from 32 to 2560.
qwen3_4b_en 4.02B 36-layer Qwen3 model with 4.02B parameters, offering improved reasoning capabilities and better performance than smaller variants.
qwen3_embedding_8b_en 8.19B This text embedding model features a 32k context length and offers flexible, user-defined embedding dimensions that can range from 32 to 4096.
qwen3_8b_en 8.19B 36-layer Qwen3 model with 8.19B parameters, featuring enhanced reasoning, coding, and instruction-following capabilities.
qwen3_14b_en 14.77B 40-layer Qwen3 model with 14.77B parameters, featuring advanced reasoning, coding, and multilingual capabilities.
qwen3_32b_en 32.76B 64-layer Qwen3 model with 32.76B parameters, featuring state-of-the-art performance across reasoning, coding, and general language tasks.
xlm_roberta_base_multi 277.45M 12-layer XLM-RoBERTa model where case is maintained. Trained on CommonCrawl in 100 languages.
multilingual_e5_base 277.45M 12-layer multilingual E5 embedding model with 768-dimensional vectors. Fine-tuned for dense retrieval across 100+ languages using weakly-supervised contrastive pre-training. Prefix inputs with 'query: ' for queries and 'passage: ' for documents.
xlm_roberta_large_multi 558.84M 24-layer XLM-RoBERTa model where case is maintained. Trained on CommonCrawl in 100 languages.
multilingual_e5_large 558.84M 24-layer multilingual E5 embedding model with 1024-dimensional vectors. Fine-tuned for dense retrieval across 100+ languages using weakly-supervised contrastive pre-training. Prefix inputs with 'query: ' for queries and 'passage: ' for documents.
bge_m3 566.70M 568M-parameter multilingual text embedding model supporting 100+ languages with sequences up to 8192 tokens. Uses CLS token pooling with L2 normalization. Supports dense, sparse, and multi-vector (ColBERT-style) retrieval. From BAAI.

[source]

compile method

TextEmbedder.compile(optimizer="auto", loss=None, metrics=None, **kwargs)

Configures the TextEmbedder task for training.

The TextEmbedder task extends the default compilation signature of keras.Model.compile with a default for optimizer. loss and metrics must be specified by the user, as there is no single standard loss that fits all sentence-transformer training scenarios.

Arguments

  • optimizer: "auto", an optimizer name, or a keras.Optimizer instance. Defaults to "auto", which uses the default optimizer for the given model and task. See keras.Model.compile and keras.optimizers for more info on possible optimizer values.
  • loss: A loss name or a keras.losses.Loss instance. Must be specified by the user. See keras.Model.compile and keras.losses for more info on possible values.
  • metrics: A list of metrics to be evaluated by the model during training and testing. See keras.Model.compile and keras.metrics for more info on possible values.
  • **kwargs: See keras.Model.compile for a full list of arguments supported by the compile method.

[source]

save_to_preset method

TextEmbedder.save_to_preset(preset_dir, max_shard_size=10)

Save task to a preset directory.

Arguments

  • preset_dir: The path to the local model preset directory.
  • max_shard_size: int or float. Maximum size in GB for each sharded file. If None, no sharding will be done. Defaults to 10.

preprocessor property

keras_hub.models.TextEmbedder.preprocessor

A keras_hub.models.Preprocessor layer used to preprocess input.


backbone property

keras_hub.models.TextEmbedder.backbone

A keras_hub.models.Backbone model with the core architecture.