taolib.testing.multi_agent.skills.registry#

技能注册表。

管理技能的注册、查询和加载。

Attributes#

Classes#

SkillRegistry

技能注册表。

Functions#

get_skill_registry(→ SkillRegistry)

获取全局技能注册表。

set_skill_registry(→ None)

设置全局技能注册表。

Module Contents#

class taolib.testing.multi_agent.skills.registry.SkillRegistry#

技能注册表。

_skills: Dict[str, taolib.testing.multi_agent.skills.protocols.Skill]#
_skill_classes: Dict[str, Type[taolib.testing.multi_agent.skills.protocols.Skill]]#
_skill_paths: Dict[str, pathlib.Path]#
register_skill(skill: taolib.testing.multi_agent.skills.protocols.Skill) None#

注册技能实例。

参数:

skill -- 技能实例

抛出:

SkillError -- 技能已存在

register_skill_class(skill_class: Type[taolib.testing.multi_agent.skills.protocols.Skill]) None#

注册技能类。

参数:

skill_class -- 技能类

抛出:

SkillError -- 技能类已存在

get_skill(skill_id: str) taolib.testing.multi_agent.skills.protocols.Skill | None#

获取技能实例。

参数:

skill_id -- 技能ID

返回:

技能实例,如果不存在则返回None

返回类型:

Optional[Skill]

get_skill_class(skill_id: str) Type[taolib.testing.multi_agent.skills.protocols.Skill] | None#

获取技能类。

参数:

skill_id -- 技能ID

返回:

技能类,如果不存在则返回None

返回类型:

Optional[Type[Skill]]

create_skill(skill_id: str, **kwargs) taolib.testing.multi_agent.skills.protocols.Skill#

创建技能实例。

参数:
  • skill_id -- 技能ID

  • **kwargs -- 技能初始化参数

返回:

创建的技能实例

返回类型:

Skill

抛出:

SkillError -- 技能类不存在

get_all_skills() List[taolib.testing.multi_agent.skills.protocols.Skill]#

获取所有已注册的技能实例。

返回:

技能实例列表

返回类型:

List[Skill]

get_all_skill_classes() Dict[str, Type[taolib.testing.multi_agent.skills.protocols.Skill]]#

获取所有已注册的技能类。

返回:

技能类字典

返回类型:

Dict[str, Type[Skill]]

unregister_skill(skill_id: str) None#

注销技能。

参数:

skill_id -- 技能ID

load_skill_from_file(file_path: pathlib.Path, skill_class_name: str | None = None) str#

从文件加载技能。

参数:
  • file_path -- 技能文件路径

  • skill_class_name -- 技能类名,如果为None则自动查找

返回:

加载的技能ID

返回类型:

str

抛出:

SkillError -- 加载失败

load_skills_from_directory(directory: pathlib.Path) List[str]#

从目录加载所有技能。

参数:

directory -- 技能目录路径

返回:

加载的技能ID列表

返回类型:

List[str]

clear() None#

清空注册表。

taolib.testing.multi_agent.skills.registry._global_registry: SkillRegistry | None = None#
taolib.testing.multi_agent.skills.registry.get_skill_registry() SkillRegistry#

获取全局技能注册表。

返回:

技能注册表

返回类型:

SkillRegistry

taolib.testing.multi_agent.skills.registry.set_skill_registry(registry: SkillRegistry) None#

设置全局技能注册表。

参数:

registry -- 技能注册表