Lors de la Microsoft Build 2024, Microsoft a dévoilé un nouvel ensemble de fonctionnalités et d'outils conçus pour rendre le développement .NET plus rapide et plus facile.Voici un aperçu des mises à jour et annonces :
- Intelligence artificielle : Des scénarios de bout en bout pour construire des applications basées sur l'IA, l'adoption de l'écosystème de l'IA et l'intégration profonde avec les services cloud.
- .NET Aspire : pour la création d'applications distribuées cloud-natives.
- C# 13 : Améliorations des fonctionnalités C# les plus appréciées afin de les rendre encore meilleures pour vous.
- Performance : Réduction de la mémoire et du temps d'exécution à l'aide de points de référence critiques.
- Améliorations apportées aux bibliothèques et frameworks .NET, notamment ASP.NET Core, Blazor, .NET MAUI, et bien plus encore.
.NET et l'intelligence artificielle
.NET fournit des outils pour créer des applications puissantes avec l'IA. Vous pouvez utiliser le noyau sémantique pour orchestrer des plugins d'IA, ce qui vous permet d'intégrer de manière transparente des fonctionnalités d'IA dans vos applications.
Vous pouvez utiliser des bibliothèques de pointe comme OpenAI, Qdrant et Milvus pour améliorer la fonctionnalité de vos applications. Vous pouvez également déployer vos applications dans le cloud avec .NET Aspire, ce qui garantit des performances et une évolutivité optimales.
Principes fondamentaux de l'IA
Microsoft introduit un nouveau type Tensor<T>. Les tenseurs sont des composants fondamentaux de nombreux modèles mathématiques, y compris les algorithmes d'apprentissage profond. Il s'agit de tableaux multidimensionnels qui contiennent des poids, des biais et des calculs intermédiaires au sein des réseaux neuronaux.
Cela permet un traitement efficace des données et un flux d'informations à des fins d'apprentissage et de prédiction. Qu'il s'agisse de reconnaissance d'images, de compréhension du langage ou de prévision des tendances, les tenseurs jouent un rôle crucial dans toutes les facettes de l'IA.
En outre, ils facilitent le partage des données entre des bibliothèques telles que ONNX Runtime, TorchSharp ou ML.NET, la création de vos propres bibliothèques mathématiques ou le développement d'applications utilisant des modèles d'IA. La performance est essentielle et on obtient des efficacités supplémentaires en construisant sur les TensorPrimitives, qui utilisent les instructions SIMD pour optimiser le débit.
Commencez rapidement à créer des applications d'IA
Le monde de l'IA évolue rapidement, et Microsoft souhaite que les développeurs puissent commencer rapidement avec un minimum de changements dans leur code.
Microsoft déclare :
Essayez nos nouveaux échantillons de démarrage rapide de l'IA pour voir comment vous pouvez commencer à utiliser des frameworks LLM comme Semantic Kernel pour accéder rapidement à l'écosystème de l'IA. Semantic Kernel permet aux développeurs d'exploiter différents modèles, de se connecter à des magasins de vecteurs et de simplifier leur processus d'invite avec des modèles.
En plus de nos échantillons, nous avons développé des Smart Components, des contrôles préconstruits avec des fonctionnalités d'IA de bout en bout, conçus spécifiquement pour Blazor et MVC / Razor. Ces composants peuvent être intégrés à vos applications existantes en quelques minutes pour leur insuffler des capacités d'IA.
Avec les Smart Components, les équipes peuvent gagner un temps de développement considérable et éviter la nécessité d'une conception UX étendue ou d'une recherche approfondie sur l'apprentissage automatique et l'ingénierie rapide. Actuellement, nous disposons de trois composants intelligents que vous pouvez intégrer, à savoir : SmartPasteButton, SmartTechnology et SmartPasteButton : SmartPasteButton, SmartTextArea et SmartComboBox.
En plus de nos échantillons, nous avons développé des Smart Components, des contrôles préconstruits avec des fonctionnalités d'IA de bout en bout, conçus spécifiquement pour Blazor et MVC / Razor. Ces composants peuvent être intégrés à vos applications existantes en quelques minutes pour leur insuffler des capacités d'IA.
Avec les Smart Components, les équipes peuvent gagner un temps de développement considérable et éviter la nécessité d'une conception UX étendue ou d'une recherche approfondie sur l'apprentissage automatique et l'ingénierie rapide. Actuellement, nous disposons de trois composants intelligents que vous pouvez intégrer, à savoir : SmartPasteButton, SmartTechnology et SmartPasteButton : SmartPasteButton, SmartTextArea et SmartComboBox.
| Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | @page "/"
@using SmartComponents
<form>
<p>Name: <InputText @bind-Value="@name" /></p>
<p>Address line 1: <InputText @bind-Value="@addr1" /></p>
<p>City: <InputText @bind-Value="@city" /></p>
<p>Zip/postal code: <InputText @bind-Value="@zip" /></p>
<button type="submit">Submit</button>
<SmartPasteButton DefaultIcon />
</form>
@code {
string? name, addr1, city, zip;
} |
Élargissement de l'écosystème IA avec .NET
Microsoft annonce avoir collaboré avec de nombreux partenaires de l'industrie pour permettre aux développeurs d'exploiter l'écosystème de l'IA.
Microsoft :
L'une de nos collaborations les plus intéressantes cette année a été celle avec OpenAI. Nous nous sommes associés à eux pour fournir une bibliothèque .NET officielle, qui devrait être publiée dans le courant du mois. Cette collaboration et ce nouveau SDK garantissent aux développeurs .NET une expérience agréable et une parité avec les bibliothèques d'autres langages de programmation que vous connaissez peut-être. Il prend également en charge les dernières fonctionnalités et modèles OpenAI, tels que GPT4o et Assistants v2, et offre une expérience unifiée entre OpenAI et Azure OpenAI.
Nos partenariats ne s'arrêtent pas là. L'année dernière, nous avons annoncé des clients C# officiels avec Qdrant et Milivus. Nos efforts de collaboration se poursuivent avec des partenaires comme Weavite pour offrir aux développeurs une variété d'options de bases de données vectorielles .NET.
Enfin, nous avons travaillé avec des équipes de Microsoft, notamment Semantic Kernel, Azure SQL et Azure AI Search, afin de garantir que nos développeurs puissent bénéficier d'une expérience native transparente avec leurs capacités d'IA.
L'une de nos collaborations les plus intéressantes cette année a été celle avec OpenAI. Nous nous sommes associés à eux pour fournir une bibliothèque .NET officielle, qui devrait être publiée dans le courant du mois. Cette collaboration et ce nouveau SDK garantissent aux développeurs .NET une expérience agréable et une parité avec les bibliothèques d'autres langages de programmation que vous connaissez peut-être. Il prend également en charge les dernières fonctionnalités et modèles OpenAI, tels que GPT4o et Assistants v2, et offre une expérience unifiée entre OpenAI et Azure OpenAI.
Nos partenariats ne s'arrêtent pas là. L'année dernière, nous avons annoncé des clients C# officiels avec Qdrant et Milivus. Nos efforts de collaboration se poursuivent avec des partenaires comme Weavite pour offrir aux développeurs une variété d'options de bases de données vectorielles .NET.
Enfin, nous avons travaillé avec des équipes de Microsoft, notamment Semantic Kernel, Azure SQL et Azure AI Search, afin de garantir que nos développeurs puissent bénéficier d'une expérience native transparente avec leurs capacités d'IA.
Les applications de grand modèle de langage (LLM) nécessitent des résultats fiables, performants et de haute qualité. Les développeurs doivent mesurer et suivre les résultats et les comportements de leurs applications LLM dans les environnements de développement et de production, et identifier et résoudre les problèmes.
L'équipe .Net de Microsoft travaille sur la manière dont les développeurs peuvent utiliser .NET Aspire, Semantic Kernel et Azure pour surveiller leurs applications d'IA. Ces fonctionnalités sont en cours de prévisualisation.
Les images suivantes montrent comment vous pouvez utiliser .NET Aspire avec un code minimal pour collecter des métriques détaillées et des données de traçage à partir de Semantic Kernel, telles que le modèle, le nombre de jetons, l'invite et la réponse générée, en suivant la convention standard OpenTelemetry pour les LLM qui est actuellement en cours de conception.
De plus, la collecte de ces données télémétriques avec Semantic Kernel devrait être simple, avec seulement quelques lignes de code :
| Code : | Sélectionner tout |
1 2 3 4 5 6 7 | // Enable the draft OpenTelemetry LLM data to be collected
AppContext.SetSwitch("Microsoft.SemanticKernel.Experimental.GenAI.EnableOTelDiagnosticsSensitive", true);
// Export the data
builder.Services.AddOpenTelemetry()
.WithMetrics(m => m.AddMeter("Microsoft.SemanticKernel*"))
.WithTracing(t => t.AddSource("Microsoft.SemanticKernel*")); |
Développement cloud-natif avec .NET
En utilisant .NET, vous pouvez créer des applications cloud-natives sécurisées, efficaces, résilientes, observables et configurables. Microsoft annonce avoir amélioré le développement d'apps cloud-natives avec la version reach en proposant :
- Des conteneurs ciselés : Réduction de la taille des images de conteneurs .NET
- NativeAOT & Trimming : Réduction de la taille de l'application tout en améliorant le temps de démarrage de l'application
- De nouvelles fonctionnalités et bibliothèques pour ASP.NET Core afin de rationaliser les scénarios cloud-native.
- Performance : Exploiter chaque goutte de performance dans tous les frameworks et bibliothèques.
.NET Aspire : Simplifier le développement cloud-natif
.NET Aspire est une nouvelle pile qui simplifie le développement d'applications et de services cloud-natifs .NET. .NET Aspire est désormais disponible pour tous.
.NET Aspire permet de créer des applications distribuées, y compris l'orchestration de projets, des composants à intégrer avec des services et des plates-formes de premier plan, la découverte de services, les valeurs par défaut des services, et bien plus encore.
L'un des points forts de .NET Aspire est le tableau de bord, qui offre une vue consolidée des ressources de vos applications, avec des journaux, des traces distribuées et des mesures. Qu'il soit exécuté dans la boucle interne du développeur local ou déployé dans le cloud, le tableau de bord offre une vue en temps réel, centrée sur le développeur, de ce que fait votre application à l'instant même.
Les développeurs doivent déployer des applications distribuées tout au long de leur processus de développement pour effectuer des tests rapides et doivent être en mesure de les déployer facilement en production le moment venu. .NET Aspire est là pour vous aider avec de puissantes fonctionnalités pour amener vos applications dans le cloud, avec la prise en charge du provisionnement et de la connexion aux services cloud dans Azure et AWS pendant le développement et le déploiement d'applications vers Azure Container Apps à l'aide de l'interface CLI du développeur Azure, ou Kubernetes avec Aspirate.
.NET est natif pour Linux
.NET est multiplateforme. Microsoft se donne pour mission de veiller à ce que .NET fonctionne de manière spectaculaire partout où les développeurs créent des applications. Ils ont beaucoup investi dans l'amélioration des flux de travail des développeurs et de la production pour les applications fonctionnant sous Linux.
Microsoft :
Nous travaillons avec Canonical, Red Hat et d'autres mainteneurs pour nous assurer que les paquets .NET sont disponibles à l'installation à partir des flux officiels et mis à jour pour les correctifs de sécurité selon le même calendrier que Microsoft.
Nous travaillons avec Canonical, Red Hat et d'autres mainteneurs pour nous assurer que les paquets .NET sont disponibles à l'installation à partir des flux officiels et mis à jour pour les correctifs de sécurité selon le même calendrier que Microsoft.
Réduction de l'utilisation de la mémoire
La gestion automatique de la mémoire a toujours été une caractéristique clé de .NET, avec un ramasse-miette optimisé pour de nombreux scénarios. En ce qui concerne le développement d'apps cloud-natives, .NET 9 introduit un nouveau mode de ramasse-miette (GC) serveur. Ce nouveau mode réduit l'utilisation de la mémoire, ce qui peut réduire les coûts, tout en offrant les mêmes excellentes performances que celles qui font la réputation de .NET.
[QUOTE]Microsoft :
Qu'est-ce que cela...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.