Skip to main content
The SentenceTransformerEmbedder class is used to embed text data into vectors using the SentenceTransformers library.

Usage

sentence_transformer_embedder.py
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.pgvector import PgVector
from agno.knowledge.embedder.sentence_transformer import SentenceTransformerEmbedder

# Embed sentence in database
embeddings = SentenceTransformerEmbedder().get_embedding("The quick brown fox jumps over the lazy dog.")

# Print the embeddings and their dimensions
print(f"Embeddings: {embeddings[:5]}")
print(f"Dimensions: {len(embeddings)}")

# Use an embedder in a knowledge base
knowledge = Knowledge(
    vector_db=PgVector(
        db_url="postgresql+psycopg://ai:ai@localhost:5532/ai",
        table_name="sentence_transformer_embeddings",
        embedder=SentenceTransformerEmbedder(),
    ),
    max_results=2,
)

Params

ParameterTypeDefaultDescription
idstrsentence-transformers/all-MiniLM-L6-v2The name of the SentenceTransformers model to use
dimensionsint384The dimensionality of the generated embeddings
sentence_transformer_clientOptional[SentenceTransformer]NoneOptional pre-configured SentenceTransformers client instance
promptOptional[str]NoneOptional prompt to prepend to input text
normalize_embeddingsboolFalseWhether to normalize returned vectors to have length 1

Developer Resources