
Microsoft annonce un nouveau template d'application Web de chat sur l'IA qui est maintenant disponible en avant-première. Ce template fait partie des efforts de Microsoft pour rendre le développement de l'IA avec .NET plus facile à découvrir et à utiliser, grâce à un accompagnement et à des conseils dans Visual Studio, Visual Studio Code et l'interface de programmation .NET.
Installer le template
Pour commencer avec la première version du template, vous devez installer Microsoft.Extensions.AI.Templates à partir de votre terminal. Exécutez :
Code : | Sélectionner tout |
dotnet new install Microsoft.Extensions.AI.Templates
Une fois installé, le template est disponible dans Visual Studio, Visual Studio Code (avec le Dev Kit C#), ou vous pouvez simplement exécuter dotnet new aichatweb pour le créer dans votre répertoire de travail.
Commencer avec la template Chat IA .NET
La template Chat IA .NET est conçu pour vous aider à créer rapidement une application de chat alimentée par l'IA afin de commencer à discuter avec des données personnalisées. Cette version initiale se concentre sur une application web basée sur Blazor, construite à l'aide des abstractions Microsoft.Extensions.AI et Microsoft.Extensions.VectorData. Le template utilise le modèle Retrieval Augmented Generation (RAG) couramment utilisé pour les applications de chat.
Caractéristiques principales et options de configuration
- Chat avec données personnalisées : Le template vous permet de créer une interface utilisateur basée sur le chat qui peut interagir avec des exemples de PDF ou vos propres données à l'aide du modèle RAG.
- Intégration locale et Azure : Le template prend en charge à la fois un magasin de vecteurs local pour le prototypage et Azure AI Search pour les configurations plus avancées.
- Code personnalisable : Le code généré comprend des composants d'interface utilisateur pour les interactions de chat, le suivi des citations et les suggestions de suivi. Vous pouvez personnaliser ou supprimer ces composants selon vos besoins.
- Ingestion de données : Le template inclut du code pour l'ingestion, la mise en cache et le traitement des données, ce qui vous permet de gérer différentes sources et différents formats de données.
Utilisation du template dans Visual Studio
Une fois le template installé à partir de la ligne de commande, vous pouvez le trouver dans Visual Studio en utilisant le menu Fichier > Nouveau projet.... Vous pouvez rechercher Chat IA ou choisir le type de projet IA pour trouver le template :
Après avoir choisi le nom et l'emplacement de votre projet, vous pouvez sélectionner un fournisseur de modèle d'IA et un magasin de vecteurs pour commencer. Par défaut, Microsoft utilisent les modèles GitHub avec un magasin de vecteurs local, ce qui est la façon la plus simple de démarrer avec une configuration minimale.
Utilisation de Visual Studio Code et du kit de développement C#
Pour utiliser le template dans Visual Studio Code, installez d'abord l'extension C# Dev Kit. Ensuite, utilisez la commande .NET : Nouveau projet... Par défaut, cette commande créera un nouveau projet utilisant le fournisseur de modèles GitHub Models et un magasin de vecteurs local.
Dialoguer avec vos propres données
Ce template inclut deux exemples de fichiers PDF et un exemple de code d'ingestion de données pour traiter les PDF. Ce code d'ingestion de données est flexible et vous permet d'intervertir les exemples de fichiers PDF. Pour chatter avec vos propres données, procédez comme suit :
- Si votre projet est en cours d'exécution, arrêtez-le.
- Supprimez les fichiers PDF d'exemple du dossier /wwwroot/Data.
- Ajoutez vos propres fichiers PDF au dossier /wwwroot/Data.
- Exécutez à nouveau l'application.
Au démarrage de l'application, le code d'ingestion de données (situé dans /Services/Ingestion/DataIngestor.cs) comparera le contenu du dossier Data ; il supprimera les anciens fichiers du magasin de vecteurs configuré et en ajoutera de nouveaux. Remarque : en fonction du nombre et de la taille de vos fichiers, il se peut que vous rencontriez des limites de quota et de taux avec votre fournisseur de modèles d'IA configuré. Lorsque vous atteignez une limite, il se peut qu'un message d'erreur s'affiche ou que le démarrage de l'application soit retardé.
Étendre le comportement du chatbot
Le code est construit en utilisant Microsoft.Extensions.AI, ce qui rend très simple l'ajout de comportements personnalisés. Vous pouvez donner au chatbot la possibilité d'appeler n'importe quelle fonction C#. Cela permet d'étendre ses capacités à la récupération de données supplémentaires ou à l'exécution d'actions.
Pour donner un exemple très simple, vous pouvez essayer de lui donner accès aux données « météo ». Dans Pages/Chat/Chat.razor, définissez une fonction C# dans le bloc @code :
Code : | Sélectionner tout |
1 2 3 4 5 | private async Task<string> GetWeather([Description("The city, correctly capitalized")] string city) { string[] weatherValues = ["Sunny", "Cloudy", "Rainy", "Snowy", "Balmy", "Bracing"]; return city == "London" ? "Drizzle" : weatherValues[Random.Shared.Next(weatherValues.Length)]; } |
Ensuite, dans la méthode OnInitialized, mettez à jour chatOptions.Tools pour y inclure votre méthode :
Code : | Sélectionner tout |
1 2 | chatOptions.Tools = [ AIFunctionFactory.Create(SearchAsync), AIFunctionFactory.Create(GetWeather) ]; |
Essayez maintenant de placer un point d'arrêt à l'intérieur de GetWeather et interrogez le chatbot sur le temps qu'il fait. Vous verrez qu'il appellera votre méthode et utilisera le résultat dans sa réponse.
Vous pouvez utiliser cette méthode pour récupérer n'importe quelle information de systèmes externes, y compris via des appels asynchrones. Gardez à l'esprit que les paramètres transmis par le LLM doivent être traités comme des données non fiables.
Prochaines étapes
Dans les prochaines versions, Microsoft prévoit d'étendre l'offre de template pour inclure un template de console d'IA, un template d'API minimale, la prise en charge de .NET Aspire et l'inclusion des templates par défaut dans le SDK .NET. Microsoft explore également la prise en charge d'Azure AI Foundry et travaille avec l'équipe Semantic Kernel pour étendre les options de template pour les utilisateurs de Semantic Kernel.
Source : Annonce Microsoft
Et vous ?


Voir aussi :



Vous avez lu gratuitement 2 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.