Prozkoumání integrovaných modulů plug-in
Moduly plug-in jsou jednou ze základních komponent sady SDK sémantického jádra. Modul plug-in definuje úlohu, kterou má jádro provádět, protože je v rozhraní s velkým jazykovým modelem (LLM). Moduly plug-in se dají skládat z nativního kódu a výzvy k LLM. Sada SDK sémantického jádra také nabízí některé integrované moduly plug-in pro běžné úlohy, které jsou připravené k použití ve vašich aplikacích.
Co je modul plug-in?
V sadě SDK sémantického jádra je modul plug-in třída, která obsahuje funkce, které může jádro spustit. Funkci modulu plug-in lze vytvořit z sémantické výzvy nebo kódu nativní funkce. Pokud chcete použít modul plug-in, přidáte ho do jádra a potom zavoláte požadovanou funkci pomocí InvokeAsync
metody. Jádro přistupuje k modulu plug-in, vyhledá a spustí funkci a vrátí výsledek. Pojďme se podívat na některé předdefinované moduly plug-in.
Integrované moduly plug-in
Sada SDK sémantického jádra nabízí další balíček s předdefinovanými moduly plug-in pro běžné úlohy. Jsou k dispozici v Plugins.Core
balíčku, který můžete nainstalovat pomocí NuGetu: dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha
Balíček obsahuje následující moduly plug-in:
ConversationSummaryPlugin
- Sumarizuje konverzaciFileIOPlugin
- Čtení a zápisy do systému souborůHttpPlugin
– Odesílá požadavky na koncové body HTTP.MathPlugin
- Provádí matematické operace.TextPlugin
- Provádí manipulaci s textemTimePlugin
- Získá informace o času a datu.WaitPlugin
- Pozastaví provádění po určitou dobu.
Pokud chcete použít základní modul plug-in, můžete ho AddFromType
přidat do tvůrce jádra pomocí této metody. Například k přidání TimePlugin
do jádra můžete použít následující kód:
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);
Tento kód přidá TimePlugin
do jádra a potom zavolá DayOfWeek
funkci, aby získala aktuální den v týdnu. Výstup je aktuální den v týdnu.
Tyto snadno dostupné moduly plug-in můžete použít k rychlému přidání funkcí do projektu. V dalším cvičení se dozvíte, jak ConversationSummaryPlugin
se dá použít k získání souhrnu konverzace nebo položek akcí z bloku textu.