Overview of the .NET + AI ecosystem

.NET can be used with many different libraries and tools that support the development of generative AI applications. This article includes a summary of the services and tools you might use in your applications, with links to learn more about each of them.

Note

We recommend using the Semantic Kernel SDK to orchestrate your calls to large language models (LLMs) and manage interactions with the various services mentioned here. Semantic Kernel makes it easy to work with different services without having to learn a different API for each one.

Important

These SDKs and tools are built by a variety of sources. Not all SDKs are maintained by Microsoft. When considering an SDK, be sure to evaluate its quality, licensing, and support to ensure they meet your requirements. Also make sure you review each SDK's documentation for detailed version compatibility information.

Working with models

Today, you can use .NET to access models built by OpenAI, using either the Azure OpenAI SDK or the Semantic Kernel. These models can be hosted by OpenAI or in Azure using the Azure AI services. Preview support is coming soon in Semantic Kernel to work with other models, and you can experiment today using open-source SDKs created by the .NET developer community.

NuGet package Supported models Maintainer or vendor Link to docs
Microsoft.SemanticKernel OpenAI models
Azure OpenAI supported models
Semantic Kernel (Microsoft) Semantic Kernel documentation
Azure OpenAI SDK Azure OpenAI supported models Azure SDK for .NET (Microsoft) Azure OpenAI services documentation

Connect your data using vector stores

To increase relevancy and tailor AI applications for your own data, you'll likely need to work with a vector store. Many services provide a native SDK for .NET, which you can use directly. You can also use Semantic Kernel, which provides an extensible component model that allows you to try different vector stores without needing to learn each SDK.

NuGet package Supported vector store Maintainer or vendor Link to docs
Microsoft.SemanticKernel Supported vector stores Semantic Kernel (Microsoft) Semantic Kernel: What is a vector database
Azure.Search.Documents Azure AI Search Azure SDK for .NET (Microsoft) Azure AI Search client library for .NET
Milvus.Client Milvus Vector Database Milvus Install Milvus C# SDK
Qdrant.Client Qdrant Vector Database Qdrant Qdrant .NET SDK

Other options

This article summarized the tools and SDKs in the .NET ecosystem, with a focus on services that provide official support for .NET. Depending on your needs and stage of app development, you might also want to take a look at the open-source options for the ecosystem in the unofficial list of .NET + AI resources. Microsoft is not the maintainer of many of these projects, so be sure to review their quality, licensing, and support.

Next Steps