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

# Embeddings

> Generate vector embeddings from text using OpenAI's embedding models through Portkey.

OpenAI's embedding models transform text into lists of floating-point numbers (vectors). Smaller distances between vectors indicate higher semantic similarity, making them useful for semantic search, content clustering, recommendations, and anomaly detection.

## Usage

```python Python theme={"system"}
from portkey_ai import Portkey

client = Portkey(
    api_key="PORTKEY_API_KEY",
    provider="@OPENAI_PROVIDER"
)

response = client.embeddings.create(
    input="Your text string goes here",
    model="text-embedding-3-small"
)

print(response.data[0].embedding)
```

```ts Node.js theme={"system"}
import Portkey from 'portkey-ai';

const client = new Portkey({
    apiKey: 'PORTKEY_API_KEY',
    provider: '@OPENAI_PROVIDER'
});

const response = await client.embeddings.create({
    input: "Your text string goes here",
    model: "text-embedding-3-small"
});

console.log(response.data[0].embedding);
```

```py OpenAI Python SDK theme={"system"}
from openai import OpenAI
from portkey_ai import createHeaders, PORTKEY_GATEWAY_URL

client = OpenAI(
    api_key="OPENAI_API_KEY",
    base_url=PORTKEY_GATEWAY_URL,
    default_headers=createHeaders(
        api_key="PORTKEY_API_KEY",
        provider="@OPENAI_PROVIDER"
    )
)

response = client.embeddings.create(
    input="Your text string goes here",
    model="text-embedding-3-small"
)

print(response.data[0].embedding)
```

```ts OpenAI Node.js SDK theme={"system"}
import OpenAI from 'openai';
import { PORTKEY_GATEWAY_URL, createHeaders } from 'portkey-ai';

const openai = new OpenAI({
    apiKey: 'OPENAI_API_KEY',
    baseURL: PORTKEY_GATEWAY_URL,
    defaultHeaders: createHeaders({
        apiKey: "PORTKEY_API_KEY",
        provider: "@OPENAI_PROVIDER"
    })
});

const response = await openai.embeddings.create({
    input: "Your text string goes here",
    model: "text-embedding-3-small"
});

console.log(response.data[0].embedding);
```

```sh cURL theme={"system"}
curl https://api.portkey.ai/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "x-portkey-api-key: $PORTKEY_API_KEY" \
  -H "x-portkey-provider: $PORTKEY_PROVIDER" \
  -d '{
    "input": "Your text string goes here",
    "model": "text-embedding-3-small"
  }'
```

## Supported Models

| Model | Dimensions | Notes |
| - | - | - |
| `text-embedding-3-small` | 1536 | Best cost/performance ratio |
| `text-embedding-3-large` | 3072 | Highest accuracy |
| `text-embedding-ada-002` | 1536 | Legacy model |

## Supported Parameters

| Parameter | Type | Description |
| - | - | - |
| `model` | string | Embedding model ID |
| `input` | string or array | Text to embed. Pass an array to embed multiple strings in one request |
| `encoding_format` | string | `float` (default) or `base64` |
| `dimensions` | integer | Reduce output dimensions (supported on v3 models only) |
| `user` | string | End-user ID for tracking |

## FAQs

> [accordion] How can I tell how many tokens a string has before I embed it?
>
> Use OpenAI's [Tiktoken library](https://cookbook.openai.com/examples/how_to_count_tokens_with_tiktoken) to count tokens before making an embedding request.

> [accordion] How can I retrieve K nearest embedding vectors quickly?
>
> Use a specialized vector database. See [OpenAI's vector database cookbook](https://cookbook.openai.com/examples/vector_databases/readme) for options and examples.

> [accordion] Do V3 embedding models know about recent events?
>
> The knowledge cutoff for `text-embedding-3-large` and `text-embedding-3-small` is September 2021.

***

> [card] [Portkey is now PRISMA AIRS AI Gateway. See it in action.](https://www.paloaltonetworks.in/ai-security/ai-gateway?utm_source=portkey\&utm_medium=referral\&utm_campaign=prisma_airs\&utm_content=docs_nav#contact)
>
> Contact Us


## Related topics

- [Embeddings](https://docs.portkey.ai/docs/api-reference/inference-api/embeddings.md)
- [Guardrails for Embedding Requests](https://docs.portkey.ai/docs/product/guardrails/embedding-guardrails.md)
- [C# (.NET)](https://docs.portkey.ai/docs/api-reference/sdk/c-sharp.md)


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