Ingebouwde invoegtoepassingen verkennen

Voltooid

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 samenvatten
  • FileIOPlugin - Lees- en schrijfbewerkingen naar het bestandssysteem
  • HttpPlugin - Hiermee worden aanvragen naar HTTP-eindpunten verzonden
  • MathPlugin - Voert wiskundige bewerkingen uit
  • TextPlugin - Voert tekstmanipulatie uit
  • TimePlugin - Haalt tijd- en datumgegevens op
  • WaitPlugin - 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.