Prozkoumání integrovaných modulů plug-in

Dokončeno

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 konverzaci
  • FileIOPlugin - Č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 textem
  • TimePlugin - 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.