Microsoft Launches Unified .NET API for AI and .NET 9 RC

Microsoft’s has introduced a preview of an AI extension library aimed at creating a unified API for AI programming in C#. Additionally, it has released a .NET 9.0 release candidate with a go-live license, ahead of its general availability in November.

The Microsoft.Extensions.AI library is designed as “a unified layer of C# abstractions for interacting with AI services.” The goal is for developers of AI libraries, such as those for specific service providers, to implement these abstractions so that developers can interact with different AI services through a standard API. Microsoft notes that service-specific APIs can still be used where necessary, allowing developers to “pass through to proprietary APIs only when required.”

This approach is somewhat analogous to database interfaces like System.Data.IDbCommand and System.Data.IDbConnection, which enable developers to use a standard API with various drivers for different database managers.

In its preview, Microsoft has provided reference implementations for OpenAI, Azure AI inference, and Ollama.

However, the future success of the Extensions.AI library remains uncertain, and some developers have expressed confusion. One asked, “Is this compatible with the Azure OpenAI library for .NET?” while another wondered, “Is Microsoft.Extensions.AI compatible with Microsoft.SemanticKernel, or should SK be deprecated?”

The Extensions.AI library preview will extend beyond the release of .NET 9, so it may take some time for developers to assess whether this approach gains widespread adoption.

Meanwhile, Microsoft has released the .NET 9 release candidate, which includes a go-live license. .NET follows an annual release cycle, with version 9.0 set to launch during the virtual .NET Conf from November 12 to 14. Although this is not a long-term support (LTS) release, it will be supported for 18 months. According to documentation, .NET 9.0 has a “special focus on cloud-native apps and performance.”

Microsoft partner software engineer Steven Toub has detailed the performance improvements in .NET 9. While these are mostly minor changes, they offer significant upgrades even without modifying application code.

The list of new features in .NET 9 is extensive and includes C# version 13, but the overall theme leans towards incremental enhancements rather than major new features. For .NET MAUI (Multi-platform App UI), the focus is on improving product quality, according to official notes.

Developers who have been hesitant about adopting newer frameworks like MAUI and Blazor may appreciate this focus on quality and may consider reevaluating whether they are ready for implementation.