在Semantic Kernel中,作为SK的基本构建模块,Plugin是function的载体,一个Plugin可能包含一系列的Native Function和semantic function。如前文所述,导入plugin有多种方式,如从对象导入,从指定类型导入,从文件导入等。实际上。SK也提供了一系列的基础plugin和function给大家使用:
SK Plugins
以下是sk框架提供的一系列基础plugin
ConversationSummaryPlugin
ConversationSummaryPlugin位于命名空间Microsoft.SemanticKernel.Plugins.Core中,提供了SummarizeConversation/GetConversationActionItems/GetConversationTopics的方法,主要用于文本总结,提取topic,其核心是微软提供的分词器TextChunker
FileIOPlugin
FileIOPlugin 位于命名空间Microsoft.SemanticKernel.Plugins.Core中,提供了Read/Write的功能用于文本读写
HttpPlugin
HttpPlugin 位于命名空间Microsoft.SemanticKernel.Plugins.Core中,提供了Get/Post/Put/Delete的请求方法
MathPlugin
MathPlugin 位于命名空间Microsoft.SemanticKernel.Plugins.Core中, 提供了基础的Add和Subtract方法用于计算加减
TextPlugin
TextPlugin 位于命名空间Microsoft.SemanticKernel.Plugins.Core中,提供了Trim/Uppercase/Lowercase/Length/Concat/Echo方法用于处理文本字符串
TimePlugin
TimePlugin 位于命名空间Microsoft.SemanticKernel.Plugins.Core中,提供了Date(DateTimeOffset.Now.ToString(“D”, formatProvider))/Today/Now/UtcNow/Time/Year等日期相关方法
WaitPlugin
WaitPlugin 位于命名空间Microsoft.SemanticKernel.Plugins.Core中,提供了Seconds的方法,实际用于planner处理不同流程时,插入等待操作
DocumentPlugin