taolib.testing.multi_agent.skills#
多智能体系统 - 技能模块。
包含技能协议、注册表、管理器和预设技能。
Submodules#
Classes#
技能管理器。 |
|
代码生成技能。 |
|
数据分析技能。 |
|
文本摘要技能。 |
|
翻译技能。 |
|
技能基类。 |
|
技能协议。 |
|
技能执行上下文。 |
|
技能注册表。 |
Functions#
|
获取全局技能管理器。 |
|
设置全局技能管理器。 |
|
获取所有预设技能。 |
|
获取全局技能注册表。 |
|
设置全局技能注册表。 |
Package Contents#
- class taolib.testing.multi_agent.skills.SkillManager(registry: taolib.testing.multi_agent.skills.registry.SkillRegistry | None = None, llm_manager: taolib.testing.multi_agent.llm.LLMManager | None = None)#
技能管理器。
- _registry = None#
- _llm_manager = None#
- _skill_documents: Dict[str, taolib.testing.multi_agent.models.SkillDocument]#
- register_skill(skill: taolib.testing.multi_agent.skills.protocols.Skill, document: taolib.testing.multi_agent.models.SkillDocument | None = None) None#
注册技能。
- 参数:
skill -- 技能实例
document -- 技能文档,如果为None则自动创建
- 抛出:
SkillError -- 技能已存在
- get_skill(skill_id: str) taolib.testing.multi_agent.skills.protocols.Skill | None#
获取技能。
- 参数:
skill_id -- 技能ID
- 返回:
技能实例,如果不存在则返回None
- 返回类型:
Optional[Skill]
- get_skill_document(skill_id: str) taolib.testing.multi_agent.models.SkillDocument | None#
获取技能文档。
- 参数:
skill_id -- 技能ID
- 返回:
技能文档,如果不存在则返回None
- 返回类型:
Optional[SkillDocument]
- list_skills(status: taolib.testing.multi_agent.models.SkillStatus | None = None) List[taolib.testing.multi_agent.models.SkillDocument]#
列出技能。
- 参数:
status -- 技能状态过滤,如果为None则返回所有
- 返回:
技能文档列表
- 返回类型:
List[SkillDocument]
- async execute_skill(skill_id: str, parameters: Dict[str, Any], agent: Any = None) Any#
执行技能。
- 参数:
skill_id -- 技能ID
parameters -- 技能参数
agent -- 执行技能的智能体
- 返回:
执行结果
- 返回类型:
Any
- 抛出:
SkillError -- 技能不存在或执行失败
- async test_skill(skill_id: str, test_cases: List[Dict[str, Any]]) taolib.testing.multi_agent.models.SkillTestResult#
测试技能。
- 参数:
skill_id -- 技能ID
test_cases -- 测试用例列表,每个用例包含parameters和expected
- 返回:
测试结果
- 返回类型:
- async evaluate_skill(skill_id: str, test_cases: List[Dict[str, Any]] | None = None) taolib.testing.multi_agent.models.SkillEvaluation#
评估技能。
- 参数:
skill_id -- 技能ID
test_cases -- 测试用例,如果为None则使用文档中的测试用例
- 返回:
评估结果
- 返回类型:
- async discover_skills(task_description: str, existing_skills: List[str] | None = None) List[str]#
发现完成任务所需的技能。
- 参数:
task_description -- 任务描述
existing_skills -- 已有的技能ID列表
- 返回:
推荐的技能ID列表
- 返回类型:
List[str]
- async create_skill_from_description(skill_create: taolib.testing.multi_agent.models.SkillCreate) taolib.testing.multi_agent.models.SkillDocument#
从描述创建技能。
- 参数:
skill_create -- 技能创建配置
- 返回:
创建的技能文档
- 返回类型:
备注
这是一个占位实现,实际应该使用LLM生成技能代码
- taolib.testing.multi_agent.skills.get_skill_manager() SkillManager#
获取全局技能管理器。
- 返回:
技能管理器
- 返回类型:
- taolib.testing.multi_agent.skills.set_skill_manager(manager: SkillManager) None#
设置全局技能管理器。
- 参数:
manager -- 技能管理器
- class taolib.testing.multi_agent.skills.CodeGenerationSkill#
Bases:
taolib.testing.multi_agent.skills.protocols.BaseSkill代码生成技能。
- async execute(context: taolib.testing.multi_agent.skills.protocols.SkillExecutionContext) Any#
执行代码生成。
- 参数:
context -- 执行上下文
- 返回:
生成的代码
- 返回类型:
Any
- class taolib.testing.multi_agent.skills.DataAnalysisSkill#
Bases:
taolib.testing.multi_agent.skills.protocols.BaseSkill数据分析技能。
- async execute(context: taolib.testing.multi_agent.skills.protocols.SkillExecutionContext) Any#
执行数据分析。
- 参数:
context -- 执行上下文
- 返回:
分析结果
- 返回类型:
Any
- class taolib.testing.multi_agent.skills.TextSummarizationSkill#
Bases:
taolib.testing.multi_agent.skills.protocols.BaseSkill文本摘要技能。
- async execute(context: taolib.testing.multi_agent.skills.protocols.SkillExecutionContext) Any#
执行文本摘要。
- 参数:
context -- 执行上下文
- 返回:
摘要结果
- 返回类型:
Any
- class taolib.testing.multi_agent.skills.TranslationSkill#
Bases:
taolib.testing.multi_agent.skills.protocols.BaseSkill翻译技能。
- async execute(context: taolib.testing.multi_agent.skills.protocols.SkillExecutionContext) Any#
执行翻译。
- 参数:
context -- 执行上下文
- 返回:
翻译结果
- 返回类型:
Any
- taolib.testing.multi_agent.skills.get_preset_skills() list[taolib.testing.multi_agent.skills.protocols.BaseSkill]#
获取所有预设技能。
- class taolib.testing.multi_agent.skills.BaseSkill(skill_id: str, name: str, description: str, parameters: list[taolib.testing.multi_agent.models.SkillParameter])#
Bases:
Skill技能基类。
- _id#
- _name#
- _description#
- _parameters#
- property parameters: list[taolib.testing.multi_agent.models.SkillParameter]#
技能参数定义。
- class taolib.testing.multi_agent.skills.Skill#
Bases:
abc.ABC技能协议。
- property parameters: list[taolib.testing.multi_agent.models.SkillParameter]#
- Abstractmethod:
技能参数定义。
- abstractmethod execute(context: SkillExecutionContext) Any#
- Async:
执行技能。
- 参数:
context -- 执行上下文
- 返回:
执行结果
- 返回类型:
Any
- class taolib.testing.multi_agent.skills.SkillExecutionContext(parameters: Dict[str, Any], llm_provider: Any = None, agent: Any = None)#
技能执行上下文。
- parameters#
- llm_provider = None#
- agent = None#
- class taolib.testing.multi_agent.skills.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 -- 技能初始化参数
- 返回:
创建的技能实例
- 返回类型:
- 抛出:
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]]#
获取所有已注册的技能类。
- load_skill_from_file(file_path: pathlib.Path, skill_class_name: str | None = None) str#
从文件加载技能。
- 参数:
file_path -- 技能文件路径
skill_class_name -- 技能类名,如果为None则自动查找
- 返回:
加载的技能ID
- 返回类型:
- 抛出:
SkillError -- 加载失败
- load_skills_from_directory(directory: pathlib.Path) List[str]#
从目录加载所有技能。
- 参数:
directory -- 技能目录路径
- 返回:
加载的技能ID列表
- 返回类型:
List[str]
- taolib.testing.multi_agent.skills.get_skill_registry() SkillRegistry#
获取全局技能注册表。
- 返回:
技能注册表
- 返回类型:
- taolib.testing.multi_agent.skills.set_skill_registry(registry: SkillRegistry) None#
设置全局技能注册表。
- 参数:
registry -- 技能注册表