dotnet 探究 SemanticKernel 的 planner 的原理
💡
原文中文,约13400字,阅读约需32分钟。
📝
内容提要
本文介绍了使用SemanticKernel实现自动调度拼装多个模块实现复杂功能的方法,通过解析XML配置文件进行调度和配置,最后使用SemanticKernel的执行Plan的方法完成所有的功能。代码放在github和gitee,可以通过命令行获取。
🎯
关键要点
- 使用SemanticKernel实现自动调度拼装多个模块以实现复杂功能。
- 通过解析XML配置文件进行调度和配置。
- SemanticKernel的planner通过文本输入和输出执行编排调度多个功能任务。
- 工程师提供功能能力,用户提供需求描述,AI根据需求完成任务。
- 示例需求包括作诗和翻译,AI层进行调度调用相应函数。
- 在不使用SemanticKernel的Plan工具下,手动实现类似功能以了解实现细节。
- 注册SemanticFunction函数以实现作诗和翻译功能。
- 编写Plan的核心逻辑,创建XML结构以满足用户需求。
- 使用GetFunctionsManualAsync方法导出当前注册的函数列表。
- 将函数描述放入available_functions变量中供AI层使用。
- 根据用户输入需求生成调度XML配置结果。
- 解析XML并根据调度任务执行相应的Plan任务。
- 使用SemanticKernel的执行Plan方法完成所有功能。
- 代码示例可在GitHub和Gitee上获取,提供获取代码的命令行步骤。
➡️