Ajouter un service IA au noyau
Pour ajouter un service d’intelligence artificielle (IA) au Semantic Kernel, vous devez configurer le noyau afin qu’il utilise un service spécifique, comme OpenAI, Azure OpenAI, ou un autre modèle personnalisé. Cette configuration permet d’intégrer le service et de l’utiliser pour des tâches comme la génération de texte, le traitement de langage naturel ou les calculs vectoriels.
Étapes pour ajouter un service IA au noyau
-
Configurer le noyau : Vous spécifiez le service IA que vous voulez utiliser en fournissant les informations nécessaires, comme les clés API, les noms de modèles, et les points de terminaison.
-
Ajouter le service IA :
Les services IA peuvent être ajoutés à l’aide de méthodes dédiées commeAddOpenAIChatCompletion
,AddAzureOpenAIChatCompletion
, ou d’autres méthodes similaires. -
Utiliser le service IA dans les compétences :
Une fois le service ajouté, il peut être utilisé dans les compétences pour exécuter des tâches spécifiques.
Exemples de configuration pour différents services IA
1. Utilisation d’OpenAI
using Microsoft.SemanticKernel;
// Créer le noyau avec OpenAIvar kernel = Kernel.Builder .Configure(config => { config.AddOpenAIChatCompletion( "gpt-4", // Nom du modèle "your-openai-api-key" // Clé API ); }) .Build();
// Exemple d'appel au modèlestring input = "Explique-moi ce qu'est le cloud computing.";var response = await kernel.RunAsync(input);Console.WriteLine(response);
2. Utilisation d’Azure OpenAI
Azure OpenAI nécessite un point de terminaison spécifique et une clé API pour se connecter.
using Microsoft.SemanticKernel;
// Créer le noyau avec Azure OpenAIvar kernel = Kernel.Builder .Configure(config => { config.AddAzureOpenAIChatCompletion( "gpt-4", // Nom du modèle "your-model-deployment-name", // Nom du déploiement "https://your-azure-endpoint.openai.azure.com", // Point de terminaison Azure "your-azure-api-key" // Clé API Azure ); }) .Build();
// Exemple d'appel au modèlestring input = "Donne-moi des idées pour un projet IA.";var response = await kernel.RunAsync(input);Console.WriteLine(response);
3. Utilisation d’un service personnalisé
Pour un modèle personnalisé, vous pouvez fournir un connecteur via l’interface ITextCompletion
.
using Microsoft.SemanticKernel;using Microsoft.SemanticKernel.AI.TextCompletion;
// Implémenter un service IA personnalisépublic class CustomAIService : ITextCompletion{ public async Task<string> CompleteAsync(string prompt, CancellationToken cancellationToken = default) { // Exemple de logique pour un modèle IA personnalisé return await Task.FromResult($"Réponse simulée pour : {prompt}"); }}
// Ajouter le service personnalisé au noyauvar kernel = Kernel.Builder .Configure(config => { config.AddTextCompletionService("customAI", new CustomAIService()); }) .Build();
// Exemple d'utilisationstring input = "Qu'est-ce que le Machine Learning ?";var response = await kernel.RunAsync(input);Console.WriteLine(response);
Ajout de plusieurs services IA
Vous pouvez configurer plusieurs services IA pour différentes tâches, par exemple, un service pour la génération de texte et un autre pour les calculs vectoriels.
using Microsoft.SemanticKernel;
// Créer le noyau avec plusieurs servicesvar kernel = Kernel.Builder .Configure(config => { // Ajouter OpenAI config.AddOpenAIChatCompletion("gpt-4", "openai-api-key");
// Ajouter Azure OpenAI config.AddAzureOpenAIChatCompletion( "gpt-4", "azure-model-deployment-name", "https://azure-endpoint.openai.azure.com", "azure-api-key" ); }) .Build();
// Exemple d'utilisationstring input = "Qu'est-ce que Semantic Kernel ?";var response = await kernel.RunAsync(input);Console.WriteLine(response);
Conclusion
L’ajout d’un service IA au Semantic Kernel est une étape simple grâce aux connecteurs natifs du framework. Une fois configuré, vous pouvez utiliser le service pour des tâches avancées comme la génération de texte, l’analyse contextuelle, ou les calculs vectoriels, tout en l’intégrant dans vos compétences pour répondre à des besoins métier spécifiques.