Develop AI apps with .NET

This article contains an organized list of the best learning resources for .NET developers who are getting started building AI apps. Resources include popular quickstart articles, reference samples, documentation, and training courses.

Resources for Azure OpenAI Service

Azure OpenAI Service provides REST API access to OpenAI's powerful language models. These models can be easily adapted to your specific task including but not limited to content generation, summarization, image understanding, semantic search, and natural language to code translation. Users can access the service through REST APIs, Azure OpenAI SDK for .NET, or the web-based interface in the Azure OpenAI Studio.

Libraries and samples

Link Description
Azure OpenAI SDK for .NET The GitHub source version of the Azure OpenAI client library for .NET is an adaptation of OpenAI's REST APIs that provides an idiomatic interface and rich integration with the rest of the Azure SDK ecosystem. It can connect to Azure OpenAI resources or to the non-Azure OpenAI inference endpoint, making it a great choice for even non-Azure OpenAI development.
Azure OpenAI SDK Releases Links to all Azure OpenAI SDK library packages, including links for .NET, Java, JavaScript and Go.
Azure.AI.OpenAI NuGet package The NuGet version of the Azure OpenAI client library for .NET.
Get started using GPT-35-Turbo and GPT-4 An article that walks you through creating a chat completion sample.
Completions A collection of 10 samples that demonstrate how to use the Azure OpenAI client library for .NET to chat, stream replies, use your own data, transcribe/translate audio, generate images, etc.
Streaming Chat Completions A deep link to the samples demonstrating streaming completions.
OpenAI with Microsoft Entra ID Role based access control A look at authentication using Microsoft Entra ID.
OpenAI with Managed Identities An article with more complex security scenarios that require Azure role-based access control (Azure RBAC). This document covers how to authenticate to your OpenAI resource using Microsoft Entra ID.
More samples A collection of OpenAI samples written in .NET.

Documentation

Link Description
Azure OpenAI Service Documentation The hub page for Azure OpenAI Service documentation.
Overview of the .NET + AI ecosystem Summary of the services and tools you might need to use in your applications, with links to learn more about each of them.
Build an Azure AI chat app with .NET Use Semantic Kernel or Azure OpenAI SDK to create a simple .NET 8 console chat application.
Summarize text using Azure AI chat app with .NET Simiar to the previous article, but the prompt is to summarize text.
Get insight about your data from an .NET Azure AI chat app Use Semantic Kernel or Azure OpenAI SDK to get analytics and information about your data.
Extend Azure AI using Tools and execute a local Function with .NET Create an assistant that handles certain prompts using custom tools build in .NET.
Generate images using Azure AI with .NET Use the OpenAI dell-e-3 model to generate an image.

Resources for other Azure AI services

In addition to Azure OpenAI Service, there are many other Azure AI services that help developers and organizations rapidly create intelligent, market-ready, and responsbile applications with out-of-the-box and prebuilt customizable APIs and models. Example applications include natural language processing for conversations, search, monitoring, translation, speech, vision, and decision-making.

Samples

Link Description
Integrate Speech into your apps with Speech SDK Samples A repo of samples for the Azure Cognitive Services Speech SDK. Links to samples for speech recognition, translation, speech synthesis, and more.
Azure AI Document Intelligence SDK Azure AI Document Intelligence (formerly Form Recognizer) is a cloud service that uses machine learning to analyze text and structured data from documents. The Document Intelligence software development kit (SDK) is a set of libraries and tools that enable you to easily integrate Document Intelligence models and capabilities into your applications.
Extract structured data from forms, receipts, invoices, and cards using Form Recognizer in .NET A repo of samples for the Azure.AI.FormRecognizer client library.
Extract, classify, and understand text within documents using Text Analytics in .NET The client Library for Text Analytics. This is part of the Azure AI Language service, which provides Natural Language Processing (NLP) features for understanding and analyzing text.
Document Translation in .NET A quickstart article that details how to use Document Translation to translate a source document into a target language while preserving structure and text formatting.
Question Answering in .NET A quickstart article to get an answer (and confidence score) from a body of text that you send along with your question.
Conversational Language Understanding in .NET The client library for Conversational Language Understanding (CLU), a cloud-based conversational AI service, which can extract intents and entities in conversations and acts like an orchestrator to select the best candidate to analyze conversations to get best response from apps like Qna, Luis, and Conversation App.
Analyze images Sample code and setup documents for the Microsoft Azure AI Image Analysis SDK

Documentation

AI service Description API reference Quickstart
Content Safety An AI service that detects unwanted content. Content Safety API reference Quickstart
Document Intelligence Turn documents into intelligent data-driven solutions. Document Intelligence API reference Quickstart
Language Build apps with industry-leading natural landuage understanding capabilities. Language API reference Quickstart
Search Bring AI-powered cloud search to your applications. Search API reference Quickstart
Speech Speech to text, text to speech, translation, and speaker recognition. Speech API reference Quickstart
Translator Use AI-powered trnslation to translate more than 100 in-use, at-risk and endangered languages and dialects. Translation API reference Quickstart
Vision Analyze content in images and videos. Vision API reference Quickstart

Training

Link Description
Generative AI for Beginners Workshop Learn the fundamentals of building Generative AI apps with our 18-lesson comprehensive course by Microsoft Cloud Advocates.
Get started with Azure AI Services Azure AI Services is a collection of services that are building blocks of AI functionality you can integrate into your applications. In this learning path, you'll learn how to provision, secure, monitor, and deploy Azure AI Services resources and use them to build intelligent solutions.
Microsoft Azure AI Fundamentals: Generative AI Training path to help you understand how large language models form the foundation of generative AI: how Azure OpenAI Service provides access to the latest generative AI technology, how prompts and responses can be fine-tuned and how Microsoft's responsible AI principles drive ethical AI advancements.
Develop Generative AI solutions with Azure OpenAI Service Azure OpenAI Service provides access to OpenAI's powerful large language models such as ChatGPT, GPT, Codex, and Embeddings models. This learning path teaches developers how to generate code, images, and text using the Azure OpenAI SDK and other Azure services.

AI app templates

AI app templates provide you with well-maintained, easy to deploy reference implementations that provide a high-quality starting point for your AI apps.

There are two categories of AI app templates, building blocks and end-to-end solutions. Building blocks are smaller-scale samples that focus on specific scenarios and tasks. End-to-end solutions are comprehensive reference samples including documention, source code, and deployment to allow you to take and extend for your own purposes.

To review a list of key templates available for each programming language, see AI app templates. To browse all available templates, see the AI app templates on the Azure Developer CLI gallery.