> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Voyage AI Embeddings

> Generate embeddings using Voyage AI's specialized models

## Overview

Voyage AI provides specialized embedding models optimized for different domains including code, legal, and finance.

## Quick Start

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import embedding

result = embedding(
    input="Hello world",
    model="voyage/voyage-3"
)
print(f"Dimensions: {len(result.embeddings[0])}")
```

## CLI Usage

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai embed "Hello world" --model voyage/voyage-3
```

## Setup

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
export VOYAGE_API_KEY="your-voyage-api-key"
```

## Available Models

| Model                          | Dimensions | Use Case                      |
| ------------------------------ | ---------- | ----------------------------- |
| `voyage/voyage-3`              | 1024       | General purpose, best quality |
| `voyage/voyage-3-lite`         | 512        | Fast, cost-effective          |
| `voyage/voyage-code-3`         | 1024       | Code search                   |
| `voyage/voyage-finance-2`      | 1024       | Financial documents           |
| `voyage/voyage-law-2`          | 1024       | Legal documents               |
| `voyage/voyage-multilingual-2` | 1024       | Multilingual                  |

<Note>
  Memory sizes its vector store from `get_dimensions(embedding_model)`. Before the follow-up commits on [PraisonAI PR #3027](https://github.com/MervinPraison/PraisonAI/pull/3027) (2026-07-14; `praisonaiagents` after `1.6.151` / `praisonai` after `4.6.148`), `voyage-3-lite` fell through to `voyage-3`'s `1024` because the substring lookup matched the shorter key first — a memory collection created with that model on an older release will be **1024-dim while the model emits 512-dim vectors**, causing dimension-mismatch errors on upsert. Upgrade `praisonaiagents` and re-create the collection to fix it. The `voyage/` and `openai/`-prefixed forms were affected the same way.
</Note>

## Code Embeddings

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import embedding

code = '''
def hello_world():
    print("Hello, World!")
'''
result = embedding(
    input=code,
    model="voyage/voyage-code-3"
)
```

## Batch Embeddings

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import embedding

texts = ["Document 1", "Document 2", "Document 3"]
result = embedding(
    input=texts,
    model="voyage/voyage-3"
)
print(f"Generated {len(result.embeddings)} embeddings")
```

## Related

* [Embedding Providers Overview](/docs/embeddings/index)
* [Jina AI Embeddings](/docs/embeddings/providers/jina-ai)
