Explorer les plug-ins intégrés
Les plug-ins sont l’un des principaux composants du kit de développement logiciel (SDK) Semantic Kernel. Un plug-in définit la tâche à effectuer par le noyau lors de son interaction avec le grand modèle de langage (LLM). Les plug-ins peuvent se composer de code natif et d’invites à LLM. Le Kit de développement logiciel (SDK) Semantic Kernel propose également des plug-ins intégrés pour les tâches courantes prêtes à être utilisées dans vos applications.
Qu’est-ce qu’un plug-in ?
Dans le kit de développement logiciel (SDK) Semantic Kernel, un plug-in est une classe qui contient des fonctions qui peuvent être exécutées par le noyau. Vous pouvez créé une fonction de plug-in à partir d’une invite sémantique ou d’un code de fonction natif. Pour utiliser un plug-in, vous l’ajoutez au noyau, puis appelez la fonction souhaitée en utilisant la méthode InvokeAsync
. Le noyau accède au plug-in, localise et exécute la fonction, puis retourne le résultat. Examinons quelques plug-ins prédéfinis.
Plug-ins intégrés
Le Kit de développement logiciel (SDK) Semantic Kernel offre un package supplémentaire avec des plug-ins prédéfinis pour des tâches courantes. Ceux-ci sont disponibles dans le package Plugins.Core
que vous pouvez installer avec NuGet : dotnet add package Microsoft.SemanticKernel.Plugins.Core --version 1.2.0-alpha
Le package inclut les plug-ins suivants :
ConversationSummaryPlugin
: résume une conversationFileIOPlugin
: lit et écrit sur le système de fichiersHttpPlugin
: envoie des requêtes à des points de terminaison HTTPMathPlugin
: effectue des opérations mathématiquesTextPlugin
: effectue des manipulations de texteTimePlugin
: obtient des informations sur la date et l’heureWaitPlugin
: interrompt l’exécution pendant le délai spécifié
Pour utiliser un plug-in de base, vous pouvez l’ajouter à votre générateur de noyau en utilisant la méthode AddFromType
. Par exemple, pour ajouter le TimePlugin
à votre noyau, vous pouvez utiliser le code suivant :
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);
Ce code ajoute le TimePlugin
au noyau, puis appelle la fonction DayOfWeek
pour obtenir le jour actuel de la semaine. La sortie correspond au jour actuel de la semaine.
Ces plug-ins facilement disponibles peuvent être utilisés pour ajouter rapidement des fonctionnalités à votre projet. Dans l’exercice suivant, vous allez découvrir comment utiliser le ConversationSummaryPlugin
pour obtenir un résumé de conversation ou des éléments d’action d’un bloc de texte.