Skip to main content

Method Signature

client.embeddings.create(
    input: Union[str, List[str], List[int], List[List[int]]],
    model: Union[str, Literal["text-embedding-ada-002", "text-embedding-3-small", "text-embedding-3-large"]],
    dimensions: Optional[int] = None,
    encoding_format: Optional[Literal["float", "base64"]] = None,
    user: Optional[str] = None
) -> CreateEmbeddingResponse

Parameters

input
Union[str, List[str], List[int], List[List[int]]]
required
Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single request, pass an array of strings or array of token arrays.The input must not exceed the max input tokens for the model (8192 tokens for all embedding models), cannot be an empty string, and any array must be 2048 dimensions or less.In addition to the per-input token limit, all embedding models enforce a maximum of 300,000 tokens summed across all inputs in a single request.
model
Union[str, Literal]
required
ID of the model to use. Supported models:
  • text-embedding-ada-002
  • text-embedding-3-small
  • text-embedding-3-large
You can also use custom models available in your account.
dimensions
int
The number of dimensions the resulting output embeddings should have. Only supported in text-embedding-3 and later models.
encoding_format
Literal['float', 'base64']
The format to return the embeddings in. Can be either float or base64.Default: float
user
str
A unique identifier representing your end-user, which can help monitor and detect abuse.

Response

data
List[Data]
The list of embeddings generated by the model.
model
str
The name of the model used to generate the embedding.
object
Literal['list']
The object type, which is always “list”.
usage
Usage
The usage information for the request.

Example

from dedalus_labs import DedalusLabs

client = DedalusLabs()

# Create embeddings for a single input
response = client.embeddings.create(
    input="The quick brown fox jumps over the lazy dog",
    model="text-embedding-3-small"
)

print(response.data[0].embedding)  # [0.123, -0.456, ...]
print(f"Total tokens used: {response.usage.total_tokens}")
# Create embeddings for multiple inputs
response = client.embeddings.create(
    input=[
        "First document to embed",
        "Second document to embed",
        "Third document to embed"
    ],
    model="text-embedding-3-large",
    dimensions=1024
)

for item in response.data:
    print(f"Index {item.index}: {len(item.embedding)} dimensions")
# Using base64 encoding format
response = client.embeddings.create(
    input="Sample text for embedding",
    model="text-embedding-ada-002",
    encoding_format="base64"
)

print(response.data[0].embedding)  # base64 encoded string

Build docs developers (and LLMs) love