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

继续阅读