Utforska inbyggda plugin-program
Plugin-program är en av kärnkomponenterna i Semantic Kernel SDK. Ett plugin-program definierar uppgiften som kerneln ska utföra när den samverkar med den stora språkmodellen (LLM). Plugin-program kan bestå av inbyggd kod och uppmaningar till LLM. Semantic Kernel SDK erbjuder också några inbyggda plugin-program för vanliga uppgifter som är redo att användas i dina program.
Vad är ett plugin-program?
I Semantic Kernel SDK är ett plugin-program en klass som innehåller funktioner som kan köras av kerneln. En plugin-funktion kan göras från en semantisk prompt eller inbyggd funktionskod. Om du vill använda ett plugin-program lägger du till det i kerneln och anropar sedan önskad funktion med hjälp av InvokeAsync
metoden . Kerneln kommer åt plugin-programmet, letar upp och kör funktionen och returnerar sedan resultatet. Låt oss ta en titt på några fördefinierade plugin-program.
Inbyggda plugin-program
Semantic Kernel SDK erbjuder ett extra paket med fördefinierade plugin-program för vanliga uppgifter. Dessa är tillgängliga i paketet Plugins.Core
som du kan installera med NuGet: dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha
Paketet innehåller följande plugin-program:
-
ConversationSummaryPlugin
– Sammanfattar konversation -
FileIOPlugin
– Läser och skriver till filsystemet -
HttpPlugin
– Skickar begäranden till HTTP-slutpunkter -
MathPlugin
- Utför matematiska operationer -
TextPlugin
– Utför textmanipulering -
TimePlugin
– Hämtar tids- och datuminformation -
WaitPlugin
– Pausar körningen under en angiven tid
Om du vill använda ett grundläggande plugin-program kan du lägga till det i kernelverktyget med hjälp av AddFromType
metoden . Om du till exempel vill lägga till i kerneln TimePlugin
kan du använda följande kod:
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);
Den här koden lägger TimePlugin
till i kerneln och anropar DayOfWeek
sedan funktionen för att hämta den aktuella veckodagen. Utdata är den aktuella veckodagen.
Dessa lättillgängliga plugin-program kan användas för att snabbt lägga till funktioner i projektet. I nästa övning får du lära dig hur ConversationSummaryPlugin
du kan använda för att få en sammanfattning av en konversation eller åtgärdsobjekt från ett textblock.