探索內建外掛程式
外掛程式是語意核心 SDK 的核心元件之一。 外掛程式會定義核心在與大型語言模型 (LLM) 交流時執行的工作。 外掛程式可以由機器碼和 LLM 的提示所組成。 語意核心 SDK 也提供一些內建外掛程式,適用於已準備好用於應用程式的一般工作。
什麼是外掛程式?
在語意核心 SDK 中,外掛程式是一個類別,包含可由核心執行的函式。 外掛程式函式可以從語意提示或原生函式程式碼製作。 若要使用外掛程式,您可以將其新增至核心,然後使用 InvokeAsync
方法呼叫所需的函式。 核心會存取外掛程式、找出並執行函式,然後傳回結果。 讓我們看看一些預先定義的外掛程式。
內建外掛程式
語意核心 SDK 提供額外的套件,其中包含用於一般工作的預先定義外掛程式。 這些外掛程式包含在可透過 NuGet 安裝的 Plugins.Core
套件中:dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha
套件包含下列外掛程式:
ConversationSummaryPlugin
- 摘要交談FileIOPlugin
- 讀取和寫入至檔案系統HttpPlugin
- 對 HTTP 端點提出要求MathPlugin
- 執行數學運算TextPlugin
- 執行文字操作TimePlugin
- 取得時間和日期資訊WaitPlugin
- 依指定的時間暫停執行
若要使用核心外掛程式,您可以使用 AddFromType
方法將它新增至核心產生器。 例如,若要將 TimePlugin
新增至核心,您可以使用下列程式碼:
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Plugins.Core;
var builder = Kernel.CreateBuilder();
builder.AddAzureOpenAIChatCompletion(
"your-deployment-name",
"your-endpoint",
"your-api-key",
"deployment-model");
builder.Plugins.AddFromType<TimePlugin>();
var kernel = builder.Build();
var currentDay = await kernel.InvokeAsync("TimePlugin", "DayOfWeek");
Console.WriteLine(currentDay);
此程式碼會將 TimePlugin
新增至核心,然後呼叫 DayOfWeek
函式以指出當天日星期幾。 輸出是當週的目前日期。
這些現成的外掛程式可用來快速將功能新增至您的專案。 在下一個練習中,您會了解如何使用 ConversationSummaryPlugin
取得交談摘要,或從文字區塊取得動作項目。