{"id":59770,"date":"2026-03-23T10:05:00","date_gmt":"2026-03-23T17:05:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=59770"},"modified":"2026-03-22T22:08:25","modified_gmt":"2026-03-23T05:08:25","slug":"generative-ai-for-beginners-dotnet-version-2-on-dotnet-10","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/generative-ai-for-beginners-dotnet-version-2-on-dotnet-10\/","title":{"rendered":"Generative AI for Beginners .NET: Version 2 on .NET 10"},"content":{"rendered":"<p><!-- markdownlint-disable MD033 --><\/p>\n<p>Today we&#8217;re releasing Version 2 of <a href=\"https:\/\/aka.ms\/genainet\">Generative AI for Beginners .NET<\/a>, our free, open-source course for building AI-powered .NET applications.<\/p>\n<p>If you want to understand and build generative AI applications, from core concepts to production-ready patterns, this is your starting point!<\/p>\n<p>This new version restructured the entire curriculum into five focused lessons with full explanations, rebuilt everything on .NET 10, and moved to Microsoft.Extensions.AI as the primary abstraction.<\/p>\n<p>If you went through v1, this is a different course.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2026\/03\/GenAiV2.webp\" alt=\"Graphic for the announcement of Generative AI for Beginners .NET - Version 2\" \/><\/p>\n<h2>TL;DR<\/h2>\n<ul>\n<li>Completely rewritten curriculum with five structured lessons<\/li>\n<li>All samples updated to .NET 10<\/li>\n<li>New AI abstraction layer using Microsoft.Extensions.AI<\/li>\n<li>Updated RAG implementations using native SDKs<\/li>\n<li>New Microsoft Agent Framework lesson<\/li>\n<\/ul>\n<h2>Five lessons, fully rewritten<\/h2>\n<p>The biggest change in Version 2 is the course itself! We threw out the old lesson structure and rewrote everything from scratch into five lessons, each with complete explanations, working samples, and a clear learning arc.<\/p>\n<ol>\n<li><strong>Introduction to Generative AI<\/strong> &#8211; What generative AI is, how large language models work, and how they connect to .NET, helping you understand the foundation for everything that follows.<\/li>\n<li><strong>Generative AI Techniques<\/strong> &#8211; The practical core. Learn about chat completions, prompt engineering, function calling, RAG, reasoning, and structured outputs. Basically, write and understand AI code for real applications.<\/li>\n<li><strong>AI Patterns and Applications<\/strong> &#8211; Taking the techniques from Lesson 2 and applying them to real application patterns. Learn how to apply generative AI techniques to real application architectures and production patterns.<\/li>\n<li><strong>Agents with MAF<\/strong> &#8211; Multi-agent systems using the Microsoft Agent Framework. Tool use, orchestration, and how agents collaborate to solve complex tasks.<\/li>\n<li><strong>Responsible AI<\/strong> &#8211; Safety, content filtering, evaluation, and the practices you need to ship AI features responsibly.<\/li>\n<\/ol>\n<p>Version 2 goes deeper. Each lesson explains the concepts fully, walks through the code, and connects to the next lesson. You come out of it understanding not just how to call an API, but why the patterns work the way they do and how to apply them in real applications.<\/p>\n<table>\n<thead>\n<tr>\n<th>#<\/th>\n<th><strong>Lesson Link<\/strong><\/th>\n<th><strong>Description<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>01<\/td>\n<td><a href=\"https:\/\/github.com\/microsoft\/Generative-AI-for-beginners-dotnet\/blob\/main\/01-IntroductionToGenerativeAI\/readme.md\"><strong>Introduction to Generative AI<\/strong><\/a><\/td>\n<td>\n<ul>\n<li>What generative AI is and how it differs from traditional programming<\/li>\n<li>Why .NET is a first-class citizen for AI development<\/li>\n<li>The Microsoft AI stack and where each piece fits<\/li>\n<li>How to run samples in GitHub Codespaces or configure local development<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td>02<\/td>\n<td><a href=\"https:\/\/github.com\/microsoft\/Generative-AI-for-beginners-dotnet\/blob\/main\/02-GenerativeAITechniques\/readme.md\"><strong>Generative AI Techniques<\/strong><\/a><\/td>\n<td>\n<ul>\n<li>How to create chat conversations with context and memory<\/li>\n<li>How text embeddings work and why they matter<\/li>\n<li>How to process different content types including images and documents<\/li>\n<li>How to call AI models using Microsoft.Extensions.AI abstractions<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td>03<\/td>\n<td><a href=\"https:\/\/github.com\/microsoft\/Generative-AI-for-beginners-dotnet\/blob\/main\/03-AIPatternsAndApplications\/readme.md\"><strong>AI Patterns and Applications<\/strong><\/a><\/td>\n<td>\n<ul>\n<li>How to build semantic search that understands meaning<\/li>\n<li>How to implement retrieval augmented generation (RAG)<\/li>\n<li>How to create applications that process and understand documents<\/li>\n<li>When to use each pattern and how to combine them<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td>04<\/td>\n<td><a href=\"https:\/\/github.com\/microsoft\/Generative-AI-for-beginners-dotnet\/blob\/main\/04-AgentsWithMAF\/readme.md\"><strong>AI Agents with Microsoft Agent Framework<\/strong><\/a><\/td>\n<td>\n<ul>\n<li>What makes an agent different from a chatbot<\/li>\n<li>How to build agents that use tools and take actions<\/li>\n<li>How to orchestrate multiple agents working together<\/li>\n<li>How to integrate with Model Context Protocol (MCP)<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td>05<\/td>\n<td><a href=\"https:\/\/github.com\/microsoft\/Generative-AI-for-beginners-dotnet\/blob\/main\/05-ResponsibleAI\/readme.md\"><strong>Responsible AI<\/strong><\/a><\/td>\n<td>\n<ul>\n<li>How to identify and mitigate bias in AI applications<\/li>\n<li>How to implement content safety and guardrails<\/li>\n<li>How to build transparency and explainability into your systems<\/li>\n<li>Ethical considerations specific to agentic systems<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>.NET 10 across the board<\/h2>\n<p>The samples now follow modern .NET patterns such as dependency injection, middleware pipelines, and file-based apps introduced in .NET 10.\nAuthentication has also been standardized. All file-based samples now use <code>AzureCliCredential<\/code>, so you authenticate once through the Azure CLI and every sample picks it up. No more juggling connection strings or API keys across dozens of projects.<\/p>\n<p>We also updated all model references to <code>gpt-5-mini<\/code> across the documentation and samples, reflecting the latest available models.<\/p>\n<h2>Microsoft.Extensions.AI as the foundation<\/h2>\n<p>Version 1 used Semantic Kernel as the primary way to talk to AI models. Version 2 uses Microsoft.Extensions.AI (MEAI).<\/p>\n<p>The reasoning was straightforward. MEAI ships as part of the .NET 10 ecosystem, follows the same patterns as <code>ILogger<\/code> and <code>IConfiguration<\/code>, and works across providers without locking you into a specific orchestration framework.<\/p>\n<p>In practice, this meant rewriting every core sample to use <code>IChatClient<\/code> and the MEAI middleware pipeline. The code got simpler. A basic chat completion that previously needed SK kernel setup, plugins, and connector configuration now looks like any other .NET service registration.<\/p>\n<p>For example, the classic Space Invaders sample to learn how to integrate classic apps with AI!<\/p>\n<p><div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-59770-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/webm\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2026\/03\/DemoGenAi.webm?_=1\" \/><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2026\/03\/DemoGenAi.webm\">https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2026\/03\/DemoGenAi.webm<\/a><\/video><\/div><\/p>\n<h2>RAG samples rewritten with native SDKs<\/h2>\n<p>We moved 11 pure Semantic Kernel samples to <code>samples\/deprecated\/<\/code>. They still build, they still work, and you can still reference them. But they&#8217;re no longer part of the main learning path.<\/p>\n<p>For projects that mixed both SK and MEAI (like <code>BasicChat-05AIFoundryModels<\/code> and <code>BasicChat-11FoundryClaude<\/code>), we removed the SK dependency entirely and kept them running on pure MEAI.<\/p>\n<p>We archived these samples because a beginner course should teach the foundational layer first, and in .NET 10, that layer is MEAI, and for agentic use, Microsoft Agent Framework is the premier toolkit to deploy and create agents.<\/p>\n<h2>Microsoft Agent Framework RC<\/h2>\n<p>Lesson 4 now covers the Microsoft Agent Framework, and we&#8217;ve documented it in the course materials! The five Microsoft Agent Framework web application samples continue to cover multi-agent orchestration, PDF ingestion, and chat middleware patterns.<\/p>\n<h2>Updated translations<\/h2>\n<p>All eight language translations (Chinese, French, Portuguese, Spanish, German, Japanese, Korean, Traditional Chinese) have been updated to reflect the new lesson structure, deprecation changes, and .NET 10 migration.<\/p>\n<h2>Getting started<\/h2>\n<p>Join the fun at <a href=\"https:\/\/aka.ms\/genainet\">Generative AI for Beginners &#8211; .NET<\/a>!<\/p>\n<p>Pick a provider (Microsoft Foundry or Ollama for local development), open Lesson 1, and work through the five lessons in order. Each one builds on the last.<\/p>\n<p>If you run into issues or have suggestions, <a href=\"https:\/\/github.com\/microsoft\/Generative-AI-for-beginners-dotnet\/issues\">open an issue<\/a>. If you want to contribute, <a href=\"https:\/\/github.com\/microsoft\/Generative-AI-for-beginners-dotnet\/pulls\">PRs are welcome<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Announcement of Version 2 of Generative AI for Beginners .NET, a free course rebuilt for .NET 10 with Microsoft.Extensions.AI, updated RAG patterns, and new agent framework content across five structured lessons for building production-ready AI apps.<\/p>\n","protected":false},"author":174622,"featured_media":59771,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685,7699,7781,7783,756,7252],"tags":[7892,8094,8136,8036,7885,8135],"class_list":["post-59770","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-dotnet-fundamentals","category-ai","category-aspire","category-csharp","category-cloud","tag-dotnet-10","tag-agent-framework","tag-ai-course","tag-generative-ai","tag-microsoft-extensions-ai","tag-retrieval-augmented-generation"],"acf":[],"blog_post_summary":"<p>Announcement of Version 2 of Generative AI for Beginners .NET, a free course rebuilt for .NET 10 with Microsoft.Extensions.AI, updated RAG patterns, and new agent framework content across five structured lessons for building production-ready AI apps.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/59770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/174622"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=59770"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/59770\/revisions"}],"predecessor-version":[{"id":59774,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/59770\/revisions\/59774"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/59771"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=59770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=59770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=59770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}