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

# OpenAI Embeddings

> Generate embeddings using OpenAI's text-embedding models

## Overview

OpenAI provides state-of-the-art embedding models including `text-embedding-3-small` and `text-embedding-3-large`.

## Quick Start

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

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

## CLI Usage

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
praisonai embed "Hello world" --model text-embedding-3-small
```

## Setup

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
export OPENAI_API_KEY="sk-..."
```

## Available Models

| Model                    | Dimensions | Max Tokens | Use Case                        |
| ------------------------ | ---------- | ---------- | ------------------------------- |
| `text-embedding-3-small` | 1536       | 8191       | Cost-effective, general purpose |
| `text-embedding-3-large` | 3072       | 8191       | Highest quality                 |
| `text-embedding-ada-002` | 1536       | 8191       | Legacy model                    |

## Custom Dimensions

OpenAI's v3 models support dimension reduction:

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

# Reduce to 256 dimensions for efficiency
result = embedding("Hello world", model="text-embedding-3-large", dimensions=256)
print(f"Dimensions: {len(result.embeddings[0])}")  # 256
```

## Batch Embeddings

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

texts = ["Hello", "World", "AI agents"]
result = embedding(texts, model="text-embedding-3-small")
print(f"Generated {len(result.embeddings)} embeddings")
```

## Async Usage

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

async def main():
    result = await aembedding("Hello world", model="text-embedding-3-small")
    print(f"Dimensions: {len(result.embeddings[0])}")

asyncio.run(main())
```

## Pricing

| Model                  | Price per 1M tokens |
| ---------------------- | ------------------- |
| text-embedding-3-small | \$0.02              |
| text-embedding-3-large | \$0.13              |
| text-embedding-ada-002 | \$0.10              |

## Related

* [Embedding Providers Overview](/docs/embeddings/index)
* [Azure OpenAI Embeddings](/docs/embeddings/providers/azure)
