Semantic Kernel 入门系列:🍋Connector连接器

当我们使用Native Function的时候,除了处理一些基本的逻辑操作之外,更多的还是需要进行外部数据源和服务的对接,要么是获取相关的数据,要么是保存输出结果。这一过程在Semantic Kernel中可以被归类为Connector。

Connector更像是一种设计模式,并不像Function和Memory 一样有强制和明确的规定。所以从官方的接口定义上也没有一个 IConnector类似的东西。不过我们可以从官方示例中了解这一模式的使用方法。

以 [Web Plugins 中的 WebSearchEnginePlugin] 为例,该插件使用到了一个 IWebSearchEngineConnector 作为搜索引擎的查询服务。在构造的时候将Connector的实例注入到Plugin中即可。这便是很常见的依赖注入。

img

另外一个示例是[DocumentPlugin],使用 IDocumentConnector 实现对于文档的读写操作的,使用IFileSystemConnector实现对于文件的访问。

img

img

不仅仅在 Native Function中的使用,OpenAI /Azure OpenAI 的接口对接,外部MemoryStore数据库的对接,都可以算在Connector的范围之内。

这样看来,Semantic Kernel使用Connector可以连接一切。


参考资料:

  1. Use the out-of-the-box plugins in the kernel
posted @ 2023-04-15 14:20  宵伯特  阅读(1125)  评论(0编辑  收藏  举报