Ingebouwde invoegtoepassingen verkennen
Invoegtoepassingen zijn een van de belangrijkste onderdelen van de Semantische Kernel SDK. Een invoegtoepassing definieert de taak voor de kernel die moet worden uitgevoerd wanneer deze interfaces met het LLM (Large Language Model) uitvoert. Invoegtoepassingen kunnen bestaan uit systeemeigen code en prompts voor de LLM. De Semantic Kernel SDK biedt ook enkele ingebouwde invoegtoepassingen voor algemene taken die klaar zijn voor gebruik in uw toepassingen.
Wat is een invoegtoepassing?
In de Semantic Kernel SDK is een invoegtoepassing een klasse die functies bevat die door de kernel kunnen worden uitgevoerd. Een invoegtoepassingsfunctie kan worden gemaakt op basis van een semantische prompt of systeemeigen functiecode. Als u een invoegtoepassing wilt gebruiken, voegt u deze toe aan de kernel en roept u vervolgens de gewenste functie aan met behulp van de InvokeAsync
methode. De kernel heeft toegang tot de invoegtoepassing, zoekt en voert de functie uit en retourneert vervolgens het resultaat. Laten we eens kijken naar een aantal vooraf gedefinieerde invoegtoepassingen.
Ingebouwde invoegtoepassingen
De Semantic Kernel SDK biedt een extra pakket met vooraf gedefinieerde invoegtoepassingen voor algemene taken. Deze zijn beschikbaar in het Plugins.Core
pakket dat u kunt installeren met NuGet: dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha
Het pakket bevat de volgende invoegtoepassingen:
ConversationSummaryPlugin
- Een gesprek samenvattenFileIOPlugin
- Lees- en schrijfbewerkingen naar het bestandssysteemHttpPlugin
- Hiermee worden aanvragen naar HTTP-eindpunten verzondenMathPlugin
- Voert wiskundige bewerkingen uitTextPlugin
- Voert tekstmanipulatie uitTimePlugin
- Haalt tijd- en datumgegevens opWaitPlugin
- Onderbreekt de uitvoering gedurende een opgegeven hoeveelheid tijd
Als u een kerninvoegtoepassing wilt gebruiken, kunt u deze toevoegen aan de kernelbouwer met behulp van de AddFromType
methode. Als u bijvoorbeeld de TimePlugin
kernel wilt toevoegen, kunt u de volgende code gebruiken:
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);
Met deze code wordt de TimePlugin
kernel toegevoegd en wordt vervolgens de functie aangeroepen om de DayOfWeek
huidige dag van de week op te halen. De uitvoer is de huidige dag van de week.
Deze direct beschikbare invoegtoepassingen kunnen worden gebruikt om snel functionaliteit aan uw project toe te voegen. In de volgende oefening leert u hoe u een ConversationSummaryPlugin
samenvatting van een gesprek of de actie-items uit een tekstblok kunt ophalen.