Skip to content

Embedding

Embedding

any_llm.embedding(model, inputs, *, api_key=None, api_base=None, **kwargs)

Create an embedding.

Parameters:

Name Type Description Default
model str

Model identifier in format 'provider/model' (e.g., 'mistral/mistral-small')

required
inputs str | list[str]

The input text to embed

required
api_key Optional[str]

API key for the provider

None
api_base Optional[str]

Base URL for the provider API

None
**kwargs Any

Additional provider-specific parameters

{}

Returns:

Type Description
CreateEmbeddingResponse

The embedding of the input text

Source code in src/any_llm/api.py
def embedding(
    model: str,
    inputs: str | list[str],
    *,
    api_key: Optional[str] = None,
    api_base: Optional[str] = None,
    **kwargs: Any,
) -> CreateEmbeddingResponse:
    """Create an embedding.

    Args:
        model: Model identifier in format 'provider/model' (e.g., 'mistral/mistral-small')
        inputs: The input text to embed
        api_key: API key for the provider
        api_base: Base URL for the provider API
        **kwargs: Additional provider-specific parameters

    Returns:
        The embedding of the input text

    """
    provider_key, model_name = ProviderFactory.split_model_provider(model)

    config: dict[str, str] = {}
    if api_key:
        config["api_key"] = str(api_key)
    if api_base:
        config["api_base"] = str(api_base)
    api_config = ApiConfig(**config)

    provider = ProviderFactory.create_provider(provider_key, api_config)

    return provider.embedding(model_name, inputs, **kwargs)

any_llm.aembedding(model, inputs, *, api_key=None, api_base=None, **kwargs) async

Create an embedding asynchronously.

Parameters:

Name Type Description Default
model str

Model identifier in format 'provider/model' (e.g., 'openai/text-embedding-3-small')

required
inputs str | list[str]

The input text to embed

required
api_key Optional[str]

API key for the provider

None
api_base Optional[str]

Base URL for the provider API

None
**kwargs Any

Additional provider-specific parameters

{}

Returns:

Type Description
CreateEmbeddingResponse

The embedding of the input text

Source code in src/any_llm/api.py
async def aembedding(
    model: str,
    inputs: str | list[str],
    *,
    api_key: Optional[str] = None,
    api_base: Optional[str] = None,
    **kwargs: Any,
) -> CreateEmbeddingResponse:
    """Create an embedding asynchronously.

    Args:
        model: Model identifier in format 'provider/model' (e.g., 'openai/text-embedding-3-small')
        inputs: The input text to embed
        api_key: API key for the provider
        api_base: Base URL for the provider API
        **kwargs: Additional provider-specific parameters

    Returns:
        The embedding of the input text

    """
    provider_key, model_name = ProviderFactory.split_model_provider(model)

    config: dict[str, str] = {}
    if api_key:
        config["api_key"] = str(api_key)
    if api_base:
        config["api_base"] = str(api_base)
    api_config = ApiConfig(**config)

    provider = ProviderFactory.create_provider(provider_key, api_config)

    return await provider.aembedding(model_name, inputs, **kwargs)