Erkunden von integrierten Plug-Ins

Abgeschlossen

Plug-Ins sind eine der Kernkomponenten des Semantic Kernel SDK. Ein Plug-In definiert die Aufgabe für den Kernel, die als Schnittstelle mit dem großen Sprachmodell (LLM) ausgeführt werden soll. Plug-Ins können aus systemeigenem Code und Aufforderungen an das LLM bestehen. Das Semantic Kernel SDK bietet einige integrierte Plug-Ins für allgemeine Aufgaben, die Sie direkt in Ihren Anwendungen verwenden können.

Was ist ein Plug-In?

Im Semantic Kernel SDK ist ein Plug-In eine Klasse, die Funktionen enthält, die vom Kernel ausgeführt werden können. Eine Plug-In-Funktion kann aus einem semantischen Prompt oder aus nativem Funktionscode erstellt werden. Um ein Plug-In zu verwenden, fügen Sie es dem Kernel hinzu und rufen dann die gewünschte Funktion mithilfe der InvokeAsync-Methode auf. Der Kernel greift auf das Plug-In zu, sucht die Funktion, führt sie aus und gibt das Ergebnis zurück. Sehen wir uns einige vordefinierte Plug-Ins an.

Integrierte Plug-Ins

Das Semantic Kernel SDK bietet ein zusätzliches Paket mit vordefinierten Plug-Ins für allgemeine Aufgaben. Diese sind im Paket Plugins.Core verfügbar, das Sie mit NuGet installieren können: dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha Das Paket enthält die folgenden Plug-Ins:

  • ConversationSummaryPlugin - Fasst Unterhaltungen zusammen
  • FileIOPlugin - Lese- und Schreibvorgänge im Dateisystem
  • HttpPlugin - Sendet Anforderungen an HTTP-Endpunkte
  • MathPlugin - Führt mathematische Vorgänge aus
  • TextPlugin - Führt Textmanipulation durch
  • TimePlugin - Ruft Uhrzeit- und Datumsinformationen ab
  • WaitPlugin - Verzögert die Ausführung für einen bestimmten Zeitraum

Um ein Core-Plug-In zu verwenden, können Sie es Ihrem Kernel-Generator mithilfe der AddFromType Methode hinzufügen. Um beispielsweise TimePlugin zum Kernel hinzuzufügen, können Sie den folgenden Code verwenden:

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);

Dieser Code fügt dem Kernel TimePlugin hinzu und ruft dann die DayOfWeek-Funktion auf, um den aktuellen Wochentag abzurufen. Die Ausgabe ist der aktuelle Wochentag.

Diese einfach verfügbaren Plug-Ins können verwendet werden, um Ihrem Projekt schnell Funktionen hinzuzufügen. In der nächsten Übung erfahren Sie, wie ConversationSummaryPlugin verwendet werden kann, um eine Zusammenfassung einer Unterhaltung oder die Aktionselemente aus einem Textblock zu erhalten.