Skip to content

AgentBaseModel

fastagency.studio.models.agents.base.AgentBaseModel #

Bases: Model

llm instance-attribute #

llm: llm_type_refs

name instance-attribute #

name: str

toolbox_1 class-attribute instance-attribute #

toolbox_1: Optional[ToolboxRef] = None

toolbox_2 class-attribute instance-attribute #

toolbox_2: Optional[ToolboxRef] = None

toolbox_3 class-attribute instance-attribute #

toolbox_3: Optional[ToolboxRef] = None

create_autogen abstractmethod async classmethod #

create_autogen(
    model_id: UUID, user_id: UUID, **kwargs: Any
) -> Any
Source code in fastagency/studio/models/base.py
@classmethod
@abstractmethod
async def create_autogen(
    cls, model_id: UUID, user_id: UUID, **kwargs: Any
) -> Any: ...  # pragma: no cover

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_clients_from_toolboxes async #

get_clients_from_toolboxes(user_id: UUID) -> list[OpenAPI]
Source code in fastagency/studio/models/agents/base.py
async def get_clients_from_toolboxes(self, user_id: UUID) -> list[OpenAPI]:
    clients: list[OpenAPI] = []
    for i in range(3):
        toolbox_property = getattr(self, f"toolbox_{i+1}")
        if toolbox_property is None:
            continue

        toolbox_model = await toolbox_property.get_data_model().from_db(
            toolbox_property.uuid
        )
        client = await toolbox_model.create_autogen(toolbox_property.uuid, user_id)
        clients.append(client)
    return clients

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