Skip to content

TeamBaseModel

fastagency.studio.models.teams.base.TeamBaseModel #

Bases: Model

human_input_mode class-attribute instance-attribute #

human_input_mode: Literal[
    "ALWAYS", "TERMINATE", "NEVER"
] = "ALWAYS"

is_termination_msg_regex class-attribute instance-attribute #

is_termination_msg_regex: str = 'TERMINATE'

name instance-attribute #

name: str

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_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

is_termination_msg #

is_termination_msg(msg: dict[str, Any]) -> bool
Source code in fastagency/studio/models/teams/base.py
def is_termination_msg(self, msg: dict[str, Any]) -> bool:
    # print(f"is_termination_msg: {msg=}")
    return (
        "content" in msg
        and isinstance(msg["content"], str)
        and bool(re.findall(self.is_termination_msg_regex, msg["content"]))
    )