Spaces:
Runtime error
Runtime error
from collections import OrderedDict | |
from typing import Callable, Dict | |
from phi.tools.function import Function | |
from phi.utils.log import logger | |
class Toolkit: | |
def __init__(self, name: str = "toolkit"): | |
self.name: str = name | |
self.functions: Dict[str, Function] = OrderedDict() | |
def register(self, function: Callable, sanitize_arguments: bool = True): | |
try: | |
f = Function.from_callable(function) | |
f.sanitize_arguments = sanitize_arguments | |
self.functions[f.name] = f | |
logger.debug(f"Function: {f.name} registered with {self.name}") | |
# logger.debug(f"Json Schema: {f.to_dict()}") | |
except Exception as e: | |
logger.warning(f"Failed to create Function for: {function.__name__}") | |
raise e | |
def instructions(self) -> str: | |
return "" | |
def __repr__(self): | |
return f"<{self.__class__.__name__} name={self.name} functions={list(self.functions.keys())}>" | |
def __str__(self): | |
return self.__repr__() | |