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
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for