Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les développeurs .NET doivent intégrer et interagir avec un large éventail de services d’intelligence artificielle (IA) dans leurs applications. Les Microsoft.Extensions.AI bibliothèques fournissent une approche unifiée pour représenter les composants d’INTELLIGENCE artificielle générative et permettent l’intégration et l’interopérabilité transparentes avec différents services IA. Cet article présente les bibliothèques et fournit des exemples d’utilisation détaillés pour vous aider à commencer.
Les packages
Le 📦 package Microsoft.Extensions.AI.Abstractions fournit les types d’échange principaux, y compris IChatClient et IEmbeddingGenerator<TInput,TEmbedding>. Toute bibliothèque .NET qui fournit un client LLM peut implémenter l’interface IChatClient pour permettre une intégration transparente avec le code consommant.
Le 📦 package Microsoft.Extensions.AI a une dépendance implicite sur le Microsoft.Extensions.AI.Abstractions package. Ce package vous permet d’intégrer facilement des composants tels que l’appel automatique de l’outil de fonction, la télémétrie et la mise en cache dans vos applications à l’aide de modèles familiers d’injection de dépendances et d’intergiciels. Par exemple, cela fournit la méthode d’extension UseOpenTelemetry(ChatClientBuilder, ILoggerFactory, String, Action<OpenTelemetryChatClient>), qui ajoute la prise en charge d’OpenTelemetry au pipeline du client de discussion.
Quel package référencer
Pour accéder à des utilitaires de niveau supérieur pour travailler avec des composants d'intelligence artificielle générative, référez-vous plutôt au package Microsoft.Extensions.AI (qui fait lui-même référence à Microsoft.Extensions.AI.Abstractions). La plupart des applications et services consommants doivent référencer le Microsoft.Extensions.AI package avec une ou plusieurs bibliothèques qui fournissent des implémentations concrètes des abstractions.
Bibliothèques qui fournissent des implémentations des abstractions référencent généralement uniquement Microsoft.Extensions.AI.Abstractions.
Installer les packages
Pour plus d’informations sur l’installation des packages NuGet, consultez dotnet package add ou Manage package dependencies in .NET applications.
API et fonctionnalités
L’interface IChatClient
L’interface IChatClient définit une abstraction cliente chargée d’interagir avec les services IA qui fournissent des fonctionnalités de conversation. Elle inclut des méthodes d’envoi et de réception de messages avec du contenu multimodal (par exemple, du texte, des images et de l’audio), en tant qu’ensemble complet ou diffusé de manière incrémentielle.
Pour plus d’informations et des exemples d’utilisation détaillés, consultez Utiliser l’interface IChatClient.
L’interface IEmbeddingGenerator
L’interface IEmbeddingGenerator représente un générateur générique d’incorporations. Pour les paramètres de type générique, TInput est le type de valeurs d’entrée incorporées et TEmbedding est le type d’incorporation généré, qui hérite de la Embedding classe.
Pour plus d’informations et des exemples d’utilisation détaillés, consultez Utiliser l’interface IEmbeddingGenerator.
Interface IImageGenerator (expérimentale)
L’interface IImageGenerator représente un générateur pour la création d’images à partir d’invites de texte ou d’autres entrées. Cette interface permet aux applications d’intégrer des fonctionnalités de génération d’images à partir de différents services IA via une API cohérente. L’interface prend en charge la génération de texte à image (en appelant GenerateAsync(ImageGenerationRequest, ImageGenerationOptions, CancellationToken)) et les options de configuration pour la taille et le format de l’image. Comme d’autres interfaces de la bibliothèque, il peut être composé d’intergiciels pour la mise en cache, la télémétrie et d’autres préoccupations croisées.
Pour plus d’informations, consultez Générer des images à partir de texte à l’aide de l’IA.
Générer avec Microsoft.Extensions.AI
Vous pouvez commencer à créer avec Microsoft.Extensions.AI en suivant les méthodes suivantes :
- Développeurs de bibliothèques : si vous possédez des bibliothèques qui fournissent des clients pour les services IA, envisagez d’implémenter les interfaces dans vos bibliothèques. Cela permet aux utilisateurs d’intégrer facilement votre package NuGet via les abstractions. Pour obtenir des exemples, consultez des exemples d’implémentation IChatClient et des exemples d’implémentation IEmbeddingGenerator.
- Consommateurs de services : si vous développez des bibliothèques qui consomment des services IA, utilisez les abstractions au lieu de coder en dur vers un service IA spécifique. Cette approche offre à vos consommateurs la possibilité de choisir leur fournisseur préféré.
- Développeurs d’applications : utilisez les abstractions pour simplifier l’intégration dans vos applications. Cela permet la portabilité entre les modèles et services, facilite le test et la simulation, tire parti du middleware fourni par l’écosystème et gère une API cohérente dans votre application, même si vous utilisez différents services dans différentes parties de votre application.
- Contributeurs de l’écosystème : si vous souhaitez contribuer à l’écosystème, envisagez d’écrire des composants intergiciels personnalisés.
Pour plus d’exemples, consultez le dépôt GitHub dotnet/ai-samples . Pour obtenir un exemple de bout en bout, consultez eShopSupport.