graphai.utils
StrEnum Objects
class StrEnum(str, Enum)Backport of StrEnum for Python < 3.11
ColoredFormatter Objects
class ColoredFormatter(logging.Formatter)Custom colored formatter for the logger using ANSI escape codes.
add_coloured_handler
def add_coloured_handler(logger)Add a coloured handler to the logger.
setup_custom_logger
def setup_custom_logger(name)Setup a custom logger.
Parameter Objects
class Parameter(BaseModel)Parameter for a function.
Arguments:
name(str): The name of the parameter.description(str | None): The description of the parameter.type(str): The type of the parameter.default(Any): The default value of the parameter.required(bool): Whether the parameter is required.
to_dict
def to_dict() -> dict[str, Any]Convert the parameter to a dictionary for an standard dictionary-based function schema.
This is the most common format used by LLM providers, including OpenAI, Ollama, and others.
Returns:
dict[str, Any]: The parameter in dictionary format.
FunctionSchema Objects
class FunctionSchema(BaseModel)Class that consumes a function and can return a schema required by different LLMs for function calling.
from_callable
@classmethod
def from_callable(cls, function: Callable) -> "FunctionSchema"Initialize the FunctionSchema.
Arguments:
function(Callable): The function to consume.
from_pydantic
@classmethod
def from_pydantic(cls, model: type[BaseModel]) -> "FunctionSchema"Create a FunctionSchema from a Pydantic model class.
Arguments:
model(type[BaseModel]): The Pydantic model class to convert
Returns:
FunctionSchema: FunctionSchema instance
to_openai
def to_openai(api: OpenAIAPI = OpenAIAPI.COMPLETIONS) -> dict[str, Any]Convert the function schema into OpenAI-compatible formats. Supports
both completions and responses APIs.
Arguments:
api(OpenAIAPI): The API to convert to.
Returns:
dict: The function schema in OpenAI-compatible format.