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上获取,提供获取代码的命令行步骤。

🏷️

标签

➡️

继续阅读