Explorer les plug-ins intégrés

Effectué

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 conversation
  • FileIOPlugin : lit et écrit sur le système de fichiers
  • HttpPlugin : envoie des requêtes à des points de terminaison HTTP
  • MathPlugin : effectue des opérations mathématiques
  • TextPlugin : effectue des manipulations de texte
  • TimePlugin : obtient des informations sur la date et l’heure
  • WaitPlugin : 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.