# embedding.EmbeddingOpenAI


Creates an embedding function provider backed by OpenAI's embedding models


Usage

``` python
embedding.EmbeddingOpenAI(
    model="text-embedding-3-small",
    base_url="https://api.openai.com/v1",
    api_key=None,
    batch_size=20
)
```


Implements the [EmbeddingProvider](%60raghilda.EmbeddingProvider%60) interface.


## Parameters


`model: str = ``"text-embedding-3-small"`  
The OpenAI embedding model to use. Default is "text-embedding-3-small"

`base_url: str = ``"https://api.openai.com/v1"`  
The base URL for the OpenAI API. Default is "https://api.openai.com/v1".

`api_key: str | None = None`  
The API key for authenticating with OpenAI. If None, it will use the OPENAI_API_KEY environment variable if set.

`batch_size: int = ``20`  
The number of texts to process in each batch when calling the API.


## Examples


``` python
from raghilda.embedding import EmbeddingOpenAI

provider = EmbeddingOpenAI(model="text-embedding-3-small")
embeddings = provider.embed(["hello world", "testing embeddings"])
print(len(embeddings))
print(len(embeddings[0]))  # Dimension of the embedding
print(embeddings[0][:10])  # The embedding vector
```
