Spaces:
Runtime error
Runtime error
File size: 1,269 Bytes
36d7815 57e6e1c 36d7815 57e6e1c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import importlib
def load_tools_from_array(arr:list):
ret = {}
for item in arr:
# 构建正确的模块路径,使用 __name__ 动态获取当前模块的父路径(此处正好为团队名称),并加上 .tools 子目录和工具名称
# parent_module_path = '.'.join(__name__.split('.')[:-1])
# module_path = f'{parent_module_path}.tools.{item}'
module_path = f'teams.get_weather.tools.{item}'
try:
module = importlib.import_module(module_path)
# 函数名预期与工具名称相同
func = getattr(module, item)
ret[item] = func
print(f"成功从模块 '{module_path}' 导入函数 '{item}'")
except ImportError as e:
print(f"导入模块 {module_path} 时出错: {e}")
except AttributeError as e:
print(f"在模块 {module_path} 中找不到函数 '{item}': {e}")
return ret
# def load_tools_from_db():
# tool_arr = ["get_weather", "get_current_time"]
# return load_tools_from_array(tool_arr)
def load_tools(tools_dict:dict):
print("\n\n\n######## load_tools\ntools_dict: ", tools_dict)
# load_tools_from_array(tools_dict)
return load_tools_from_array(tools_dict)
return tools_dict |