> ## Documentation Index
> Fetch the complete documentation index at: https://agno-v2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Embedders

> Convert text into vector representations for semantic search.

Embedders convert text into vectors (lists of numbers) that capture meaning. These vectors enable semantic search, so "How do I reset my passcode?" finds documents mentioning "change PIN" even without keyword matches.

```python theme={null}
from agno.knowledge.knowledge import Knowledge
from agno.knowledge.embedder.openai import OpenAIEmbedder
from agno.vectordb.pgvector import PgVector

knowledge = Knowledge(
    vector_db=PgVector(
        table_name="docs",
        db_url=db_url,
        embedder=OpenAIEmbedder(),  # Default
    ),
)
```

## How It Works

1. **Insert**: When you add content, each chunk is converted to a vector
2. **Store**: Vectors are saved in your vector database
3. **Search**: Queries are embedded and matched against stored vectors by similarity

Agno uses `OpenAIEmbedder` by default, but you can swap in any supported embedder.

## Configuration

```python theme={null}
from agno.knowledge.embedder.openai import OpenAIEmbedder

embedder = OpenAIEmbedder(
    id="text-embedding-3-small",
    dimensions=1536,
)
```

### Using with Knowledge

```python theme={null}
from agno.knowledge.knowledge import Knowledge
from agno.vectordb.pgvector import PgVector

knowledge = Knowledge(
    vector_db=PgVector(
        table_name="docs",
        db_url=db_url,
        embedder=OpenAIEmbedder(id="text-embedding-3-small"),
    ),
)

# Content is embedded automatically on insert
knowledge.insert(path="documents/")
```

## Batch Embeddings

Process multiple texts in a single API call to reduce requests and improve performance:

```python theme={null}
embedder = OpenAIEmbedder(
    id="text-embedding-3-small",
    dimensions=1536,
    enable_batch=True,
    batch_size=100,
)
```

Embedders with batch support: OpenAI, Azure OpenAI, Gemini, Cohere, Voyage AI, Mistral, Fireworks, Together, Jina, Nebius, LangDB, vLLM.

## Best Practices

> [!WARNING]
>
> **Re-embed when changing models**: Vectors from different embedders aren't compatible. If you switch embedders, you must re-embed all content.

> [!TIP]
>
> **Test retrieval quality**: Use sample queries to verify you're finding the right chunks. Adjust chunking strategy or embedder if results are poor.

> [!TIP]
>
> **Match dimensions**: Ensure your embedder's output dimensions match what your vector database expects.

## Supported Embedders

| Embedder | Type | Cost | Notes |
| - | - | - | - |
| [OpenAI](https://agno-v2.mintlify.site/knowledge/concepts/embedder/openai/openai-embedder.md) | Hosted | \$\$ | Default, excellent quality |
| [Gemini](https://agno-v2.mintlify.site/knowledge/concepts/embedder/gemini/gemini-embedder.md) | Hosted | \$\$ | Multilingual, Google ecosystem |
| [Cohere](https://agno-v2.mintlify.site/knowledge/concepts/embedder/cohere/cohere-embedder.md) | Hosted | \$\$ | Strong retrieval performance |
| [Voyage AI](https://agno-v2.mintlify.site/knowledge/concepts/embedder/voyageai/voyageai-embedder.md) | Hosted | \$\$\$ | Specialized for retrieval |
| [Mistral](https://agno-v2.mintlify.site/knowledge/concepts/embedder/mistral/mistral-embedder.md) | Hosted | \$\$ | European provider |
| [Ollama](https://agno-v2.mintlify.site/knowledge/concepts/embedder/ollama/ollama-embedder.md) | Local | Free | Privacy, offline |
| [FastEmbed](https://agno-v2.mintlify.site/knowledge/concepts/embedder/qdrant-fastembed/qdrant-fastembed.md) | Local | Free | Fast local embeddings |
| [SentenceTransformers](https://agno-v2.mintlify.site/knowledge/concepts/embedder/sentencetransformers/sentence-transformer-embedder.md) | Local | Free | Local models via sentence-transformers |
| [vLLM](https://agno-v2.mintlify.site/knowledge/concepts/embedder/vllm/vllm-embedder.md) | Local | Free | Local model or self-hosted vLLM server |
| [HuggingFace](https://agno-v2.mintlify.site/knowledge/concepts/embedder/huggingface/huggingface-embedder.md) | Hosted | Free/\$ | Open source models via Inference API |
| [AWS Bedrock](https://agno-v2.mintlify.site/knowledge/concepts/embedder/aws-bedrock/aws-bedrock-embedder.md) | Hosted | \$\$ | AWS ecosystem |
| [Azure OpenAI](https://agno-v2.mintlify.site/knowledge/concepts/embedder/azure-openai/azure-embedder.md) | Hosted | \$\$ | Azure ecosystem |
| [Fireworks](https://agno-v2.mintlify.site/knowledge/concepts/embedder/fireworks/fireworks-embedder.md) | Hosted | \$ | Fast inference |
| [Together](https://agno-v2.mintlify.site/knowledge/concepts/embedder/together/together-embedder.md) | Hosted | \$ | Open source models |
| [Jina](https://agno-v2.mintlify.site/knowledge/concepts/embedder/jina/jina-embedder.md) | Hosted | \$\$ | Multilingual |
| [Nebius](https://agno-v2.mintlify.site/knowledge/concepts/embedder/nebius/nebius-embedder.md) | Hosted | \$ | European provider |
| [LangDB](https://agno-v2.mintlify.site/knowledge/concepts/embedder/langdb/langdb-embedder.md) | Hosted | \$\$ | AI gateway, OpenAI-compatible |

## Choosing an Embedder

| Consideration | Recommendation |
| - | - |
| General use | OpenAI or Gemini |
| Privacy/offline | Ollama or FastEmbed |
| Multilingual | Gemini or Jina |
| Cost-sensitive | Local embedders (free) or Fireworks/Together (\$) |
| Best retrieval quality | Voyage AI or Cohere |

**Key factors:**

* **Hosted vs local**: Local for privacy and no API costs; hosted for quality and convenience
* **Latency and cost**: Smaller models are cheaper and faster; larger models often retrieve better
* **Language support**: Ensure your embedder supports your content's languages
* **Dimension size**: Match your vector database's expected embedding dimensions

## Next Steps

> **[OpenAI Embedder](https://agno-v2.mintlify.site/knowledge/concepts/embedder/openai/openai-embedder.md)**
>
> Default embedder setup

> **[Ollama Embedder](https://agno-v2.mintlify.site/knowledge/concepts/embedder/ollama/ollama-embedder.md)**
>
> Local embeddings for privacy

> **[Vector DB](https://agno-v2.mintlify.site/knowledge/concepts/vector-db.md)**
>
> Store your embeddings

> **[Chunking](https://agno-v2.mintlify.site/knowledge/concepts/chunking/overview.md)**
>
> Prepare content for embedding


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.