Skip to content

AzureOAI

fastagency.studio.models.llms.azure.AzureOAI #

Bases: Model

api_key instance-attribute #

api_key: AzureOAIAPIKeyRef

api_type class-attribute instance-attribute #

api_type: Literal['azure'] = 'azure'

api_version class-attribute instance-attribute #

api_version: AzureApiVersionsLiteral = '2024-02-01'

base_url class-attribute instance-attribute #

base_url: URL = url

model class-attribute instance-attribute #

model: str = 'gpt-3.5-turbo'

name instance-attribute #

name: str

temperature class-attribute instance-attribute #

temperature: float = 0.8

create_autogen async classmethod #

create_autogen(
    model_id: UUID, user_id: UUID, **kwargs: Any
) -> dict[str, Any]
Source code in fastagency/studio/models/llms/azure.py
@classmethod
async def create_autogen(
    cls, model_id: UUID, user_id: UUID, **kwargs: Any
) -> dict[str, Any]:
    my_model = await cls.from_db(model_id)

    api_key_model = await my_model.api_key.get_data_model().from_db(
        my_model.api_key.uuid
    )
    api_key = await api_key_model.create_autogen(my_model.api_key.uuid, user_id)

    config_list = [
        {
            "model": my_model.model,
            "api_key": api_key,
            "base_url": str(my_model.base_url),
            "api_type": my_model.api_type,
            "api_version": my_model.api_version,
        }
    ]

    llm_config = {
        "config_list": config_list,
        "temperature": my_model.temperature,
    }

    return llm_config

from_db async classmethod #

from_db(model_id: UUID) -> T
Source code in fastagency/studio/models/base.py
@classmethod
async def from_db(cls: type[T], model_id: UUID) -> T:
    my_model_dict = await DefaultDB.backend().find_model(model_id)
    my_model = cls(**my_model_dict["json_str"])

    return my_model

get_reference_model classmethod #

get_reference_model() -> Type[ObjectReference]
Source code in fastagency/studio/models/base.py
@classmethod
def get_reference_model(cls) -> "Type[ObjectReference]":
    if cls._reference_model is None:
        raise ValueError("reference model not set")
    return cls._reference_model

validate_base_url classmethod #

validate_base_url(value: Any) -> Any
Source code in fastagency/studio/models/llms/azure.py
@field_validator("base_url")
@classmethod
def validate_base_url(cls: type["AzureOAI"], value: Any) -> Any:
    if "{" in value or "}" in value:
        raise PydanticCustomError("invalid_base_url", BASE_URL_ERROR_MESSAGE)
    return value