Vue d’ensemble de l’écosystème .NET + IA
L’écosystème .NET fournit plusieurs outils puissants, bibliothèques et services pour développer des applications IA. .NET prend en charge les connexions de modèle IA locales et cloud, plusieurs Kits de développement logiciel (SDK) pour divers services de base de données vectorielles et IA et d’autres outils pour vous aider à générer des applications intelligentes aux étendues et complexités variées.
Important
Les Kits de développement logiciel (SDK) et services présentés dans cette documentation ne sont pas tous maintenus par Microsoft. Lorsque vous envisagez un Kit de développement logiciel (SDK), veillez à évaluer sa qualité, ses licences, son support et sa compatibilité pour vous assurer qu’ils répondent à vos besoins.
bibliothèque Microsoft.Extensions.AI pour .NET
Microsoft.Extensions.AI
est un ensemble de bibliothèques .NET principales créées en collaboration avec les développeurs dans l’écosystème .NET, y compris le noyau sémantique. Ces bibliothèques fournissent une couche unifiée d’abstractions C# pour interagir avec les services IA, tels que des modèles de langage petits et volumineux (SLMs et LLMs), des incorporations et des intergiciels.
Microsoft.Extensions.AI
fournit des abstractions qui peuvent être implémentées par différents services, tout en respectant les mêmes concepts de base. Cette bibliothèque n’est pas destinée à fournir des API adaptées aux services d’un fournisseur spécifique. L’objectif est Microsoft.Extensions.AI
d’agir comme une couche unifiante au sein de l’écosystème .NET, ce qui permet aux développeurs de choisir leurs infrastructures et bibliothèques préférées tout en garantissant une intégration et une collaboration transparentes dans l’écosystème.
Semantic Kernel pour .NET
Semantic Kernel est un Kit de développement logiciel (SDK) open source qui active des fonctionnalités d’orchestration et d’intégration IA dans vos applications .NET. Le Kit de développement logiciel (SDK) est généralement l’outil d’orchestration IA recommandé pour les applications .NET qui utilisent un ou plusieurs services IA en association avec d’autres API ou services web, magasins de données et code personnalisé. Semantic Kernel offre aux développeurs d’entreprise les avantages suivants :
- Simplifie l’intégration des fonctionnalités d’IA dans des applications existantes afin d’activer une solution cohérente pour les produits d’entreprise.
- Réduit la courbe d’apprentissage de l’utilisation de différents modèles ou services d’IA en fournissant des résumés qui réduisent la complexité.
- Améliore la fiabilité en réduisant le comportement imprévisible des invites et réponses des modèles d’IA. Vous pouvez affiner les invites et planifier des tâches pour créer une expérience utilisateur contrôlée et prévisible.
Pour plus d’informations, consultez la documentation du noyau sémantique.
Kits de développement logiciel (SDK) .NET pour générer des applications IA
Plusieurs Kits de développement logiciel (SDK) différents sont disponibles pour .NET afin de générer des applications avec des fonctionnalités IA en fonction de la plateforme cible ou du modèle IA. Les modèles OpenAI offrent des fonctionnalités IA générative puissantes, alors que d’autres Azure AI Services proposent des solutions intelligentes pour une variété de scénarios spécifiques.
Kits de développement logiciel (SDK) .NET pour modèles OpenAI
Package NuGet | Modèles pris en charge | Maintenance ou fournisseur | Documentation |
---|---|---|---|
Microsoft.SemanticKernel | Modèles OpenAI Modèles pris en charge par Azure OpenAI |
Semantic Kernel (Microsoft) | Documentation de Semantic Kernel |
SDK Azure OpenAI | Modèles pris en charge par Azure OpenAI | SDK Azure pour .NET (Microsoft) | Documentation sur les services Azure OpenAI |
Kit de développement logiciel (SDK) OpenAI | Modèles pris en charge par OpenAI | Kit de développement logiciel (SDK) pour .NET (OpenAI) | Documentation sur les services OpenAI |
Kits de développement logiciel (SDK) .NET pour Azure AI Services
Azure offre plusieurs autres services IA pour générer des flux de travail et des fonctionnalités d’application spécifiques. Bon nombre de ces services fournissent un Kit de développement logiciel (SDK) .NET pour intégrer leur fonctionnalité dans des applications personnalisées. Quelques-uns des services les plus couramment utilisés s’affichent dans le tableau suivant. Pour obtenir la liste complète des ressources de formation et des services disponibles, consultez la documentation Azure AI Services.
Service | Description |
---|---|
Azure AI Search | Intégrez la recherche cloud basée sur l’IA à vos applications mobiles et web. |
Sécurité du contenu Azure AI | Détectez du contenu indésirable ou choquant. |
Azure AI Document Intelligence | Transformez des documents en solutions intelligentes pilotées par les données. |
Azure AI Language | Créez des applications avec des fonctionnalités de compréhension du langage naturel de pointe. |
Azure AI Speech | Reconnaissance vocale, conversion de texte par synthèse vocale, traduction et reconnaissance de l’orateur. |
Azure AI Traducteur | Technologie de traduction basée sur l’intelligence artificielle avec un support pour plus de 100 langues et dialectes. |
Azure AI Vision | Analysez le contenu dans les images et les vidéos. |
Développer avec des modèles IA locaux
Les applications .NET peuvent également se connecter à des modèles IA locaux pour de nombreux scénarios de développement différents. Semantic Kernel constitue l’outil recommandé pour se connecter à des modèles locaux en utilisant .NET. Semantic Kernel peut se connecter à de nombreux modèles différents hébergés sur un éventail de plateformes et faire abstraction des détails d’implémentation de niveau inférieur.
Vous pouvez par exemple utiliser Ollama pour vous connecter à des modèles d’IA locaux avec .NET, y compris plusieurs petits modèles de langages (SLM) développés par Microsoft :
Modèle | Description |
---|---|
modèles phi3 | Une famille de SLM puissants offrant des performances révolutionnaires à faible coût et avec une faible latence. |
modèles orca | Recherchez des modèles dans des tâches comme le raisonnement sur des données, la compréhension de la lecture, la résolution des problèmes mathématiques et le résumé de texte. |
Remarque
Vous pouvez également héberger les SLM précédents sur d’autres services tels qu’Azure.
Se connecter à des services et bases de données vectoriels
Les applications IA utilisent souvent des services et des bases de données vectoriels pour améliorer la pertinence et fournir une fonctionnalité personnalisée. Bon nombre de ces produits offrent un Kit de développement logiciel (SDK) natif pour .NET, alors que d’autres proposent un service REST auquel vous pouvez vous connecter via un code personnalisé. Semantic Kernel fournit également un modèle de composant extensible qui vous permet d’utiliser différents magasins de vecteurs sans avoir à apprendre chaque Kit de développement logiciel (SDK).
Semantic Kernel fournit des connecteurs pour les services et bases de données vectoriels suivants :
Consultez la documentation de chaque service respectif pour découvrir le Kit de développement logiciel (SDK) .NET et la prise en charge de l’API.
Autres options
Cet article récapitule les outils et SDK dans l’écosystème .NET, en se concentrant sur les services qui fournissent une prise en charge officielle pour .NET. En fonction de vos besoins et de l’étape de développement d’applications, vous pouvez également examiner les options open source de l’écosystème dans la liste non officielle des ressources .NET + AI. Microsoft n’est pas le chargé de maintenance de nombreux projets. Veillez donc à examiner leur qualité, leur licence et leur support.