Skip to main content
Embedders convert text into vectors for similarity search. Agno supports 29 embedding providers with a consistent interface.
from agno.knowledge.embedder.openai import OpenAIEmbedder
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.pgvector import PgVector

knowledge = Knowledge(
    vector_db=PgVector(
        table_name="docs",
        db_url="postgresql://...",
        embedder=OpenAIEmbedder(model="text-embedding-3-small"),
    ),
)

Supported Embedders

ProviderImportModels
OpenAIfrom agno.knowledge.embedder.openai import OpenAIEmbeddertext-embedding-3-small, text-embedding-3-large
Azure OpenAIfrom agno.knowledge.embedder.azure import AzureOpenAIEmbeddertext-embedding-3-small via Azure
Coherefrom agno.knowledge.embedder.cohere import CohereEmbedderembed-english-v3.0, embed-multilingual-v3.0
Googlefrom agno.knowledge.embedder.gemini import GeminiEmbeddertext-embedding-004
Mistralfrom agno.knowledge.embedder.mistral import MistralEmbeddermistral-embed
HuggingFacefrom agno.knowledge.embedder.huggingface import HuggingFaceEmbedderAny sentence-transformer
Ollamafrom agno.knowledge.embedder.ollama import OllamaEmbeddernomic-embed-text, mxbai-embed-large
Jinafrom agno.knowledge.embedder.jina import JinaEmbedderjina-embeddings-v3
Fireworksfrom agno.knowledge.embedder.fireworks import FireworksEmbeddernomic-embed-text-v1.5
AWS Bedrockfrom agno.knowledge.embedder.aws import AWSBedrockEmbedderTitan embeddings
Voyagefrom agno.knowledge.embedder.voyage import VoyageEmbeddervoyage-2, voyage-code-2

Examples by Provider

OpenAI

The most common choice for production systems.
cookbook/07_knowledge/embedders/openai_embedder.py
from agno.knowledge.embedder.openai import OpenAIEmbedder
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.pgvector import PgVector

embedder = OpenAIEmbedder(model="text-embedding-3-small")

# Get embeddings directly
embeddings = embedder.get_embedding("Hello, world!")
print(f"Dimensions: {len(embeddings)}")  # 1536

# Use in knowledge base
knowledge = Knowledge(
    vector_db=PgVector(
        table_name="docs",
        db_url="postgresql://...",
        embedder=embedder,
    ),
)

OpenAI with Batching

Efficient embedding for large document sets.
cookbook/07_knowledge/embedders/openai_embedder_batching.py
from agno.knowledge.embedder.openai import OpenAIEmbedder

embedder = OpenAIEmbedder(
    model="text-embedding-3-small",
    batch_size=100,  # Process 100 texts at a time
)

Cohere

Strong multilingual support.
cookbook/07_knowledge/embedders/cohere_embedder.py
from agno.knowledge.embedder.cohere import CohereEmbedder

embedder = CohereEmbedder(
    model="embed-english-v3.0",
    input_type="search_document",
)

Google Gemini

Google’s embedding models.
cookbook/07_knowledge/embedders/gemini_embedder.py
from agno.knowledge.embedder.gemini import GeminiEmbedder

embedder = GeminiEmbedder(model="text-embedding-004")

Azure OpenAI

OpenAI embeddings through Azure.
cookbook/07_knowledge/embedders/azure_embedder.py
from agno.knowledge.embedder.azure import AzureOpenAIEmbedder

embedder = AzureOpenAIEmbedder(
    model="text-embedding-3-small",
    azure_endpoint="https://your-resource.openai.azure.com/",
    api_version="2024-02-01",
)

HuggingFace

Use any sentence-transformer model locally.
cookbook/07_knowledge/embedders/huggingface_embedder.py
from agno.knowledge.embedder.huggingface import HuggingFaceEmbedder

embedder = HuggingFaceEmbedder(
    model="sentence-transformers/all-MiniLM-L6-v2",
)

Ollama

Local embeddings with Ollama.
cookbook/07_knowledge/embedders/ollama_embedder.py
from agno.knowledge.embedder.ollama import OllamaEmbedder

embedder = OllamaEmbedder(
    model="nomic-embed-text",
    host="http://localhost:11434",
)

Mistral

Mistral’s embedding model.
cookbook/07_knowledge/embedders/mistral_embedder.py
from agno.knowledge.embedder.mistral import MistralEmbedder

embedder = MistralEmbedder(model="mistral-embed")

Jina

Specialized embeddings for various tasks.
cookbook/07_knowledge/embedders/jina_embedder.py
from agno.knowledge.embedder.jina import JinaEmbedder

embedder = JinaEmbedder(model="jina-embeddings-v3")

AWS Bedrock

Embeddings through AWS Bedrock.
cookbook/07_knowledge/embedders/aws_bedrock_embedder.py
from agno.knowledge.embedder.aws import AWSBedrockEmbedder

embedder = AWSBedrockEmbedder(
    model="amazon.titan-embed-text-v1",
    region="us-east-1",
)

Fireworks

Fast inference for open-source embedding models.
cookbook/07_knowledge/embedders/fireworks_embedder.py
from agno.knowledge.embedder.fireworks import FireworksEmbedder

embedder = FireworksEmbedder(
    model="nomic-ai/nomic-embed-text-v1.5",
)

Run Examples

git clone https://github.com/agno-agi/agno.git
cd agno/cookbook/07_knowledge/embedders

export OPENAI_API_KEY=xxx

# OpenAI
python openai_embedder.py

# HuggingFace (local)
python huggingface_embedder.py

# Ollama (local)
python ollama_embedder.py