def embedding_model(
    name: str,
    short_name: str,
    provider: str,
    auth_type: Optional[AuthType] = None,
    auth_config_class: Optional[str] = None,
    model_name: Optional[str] = None,
    model_version: Optional[str] = None,
) -> Callable[[type], type]:
    """Class decorator to mark a class as representing an Airweave embedding model.

    Args:
    ----
        name (str): The name of the embedding model.
        short_name (str): The short name of the embedding model.
        provider (str): The provider of the embedding model.
        auth_type (AuthType): The authentication type of the embedding model.
        auth_config_class (Optional[str]): The authentication config class of the embedding model.
        model_name (Optional[str]): The name of the embedding model.
        model_version (Optional[str]): The version of the embedding model.

    Returns:
    -------
        Callable[[type], type]: The decorated class.

    """

    def decorator(cls: type) -> type:
        cls._is_embedding_model = True
        cls._name = name
        cls._short_name = short_name
        cls._auth_type = auth_type
        cls._auth_config_class = auth_config_class
        cls._model_name = model_name if model_name else cls._name
        cls._model_version = model_version if model_version else "1.0"
        cls._provider = provider
        return cls

    return decorator
Class decorator to mark a class as representing an Airweave embedding model.

    Args:
    ----
        name (str): The name of the embedding model.
        short_name (str): The short name of the embedding model.
        provider (str): The provider of the embedding model.
        auth_type (AuthType): The authentication type of the embedding model.
        auth_config_class (Optional[str]): The authentication config class of the embedding model.
        model_name (Optional[str]): The name of the embedding model.
        model_version (Optional[str]): The version of the embedding model.

    Returns:
    -------
        Callable[[type], type]: The decorated class.

    
backend/airweave/platform/decorators.py