MrTechKing

5 min read

Generative AI for Beginners: Microsoft's Free 21-Lesson Course (GitHub, Scanned)

Microsoft's free course on building generative AI apps: prompts, chat, search, images, RAG, agents and fine-tuning, in 21 lessons.

Generative AI for Beginners logo
✅
Scan: safe. Nothing to warn about. No secrets, no suspicious code and no binaries; the advisories sit in sample apps and a PDF build tool, none critical. Scanned Nov 13, 2026; the full report is below.

Generative AI for Beginners is Microsoft's free course for developers who want to build with large language models. Its 21 lessons are each a self-contained topic, so you can start wherever you like. Learn lessons explain an idea, such as how LLMs work, comparing models, prompt engineering, responsible AI, UX for AI and security. Build lessons add code: text generation, chat apps, semantic search, image generation, low-code apps, function calling, RAG with vector databases, open-source models, agents and fine-tuning.

Each lesson has a short video, a written README and code samples in Python and TypeScript, mostly in Jupyter notebooks. You can run them with Azure OpenAI, Microsoft Foundry Models, the OpenAI API, or Foundry Local for models on your own computer. The lessons are translated into more than 50 languages, and there is a separate .NET edition.

It is written by Microsoft Cloud Advocates, is now in its third version and is MIT-licensed, with about 123,000 stars and 164 contributors since June 2023. The course naturally leans on Microsoft's own services, though the OpenAI and local options work too.

Who it is for

Developers with some Python or TypeScript who want a structured first course in building AI apps, students, and teams getting started with Azure AI. Absolute beginners can read the Learn lessons without writing code.

Getting started

1. Read the lessons on GitHub, starting with course setup

https://github.com/microsoft/generative-ai-for-beginners/tree/main/00-course-setup

2. Or clone it without the 50-plus translations, to keep the download small

git clone --filter=blob:none --sparse https://github.com/microsoft/generative-ai-for-beginners.git

3. Then, inside the folder, skip the translation folders

git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'

The README notes that GitHub Models, used by some lessons, is retiring at the end of July 2026; use Microsoft Foundry Models, the OpenAI API or Foundry Local instead. Cloud model calls are billed by the provider you choose.

Safety scan

We cloned microsoft/generative-ai-for-beginners at commit 79a4334 on Nov 13, 2026 and ran the checks described on the GitHub Tools page: credential patterns, decode-and-execute code, install-time scripts, committed binaries, risky CI workflows, every host the code talks to, known vulnerabilities in pinned dependencies, and project hygiene. A person read every hit. This is what we found.

  • No secret hits, no pattern hits, no install hooks and no committed binaries across 11,070 files and about 1.3 million lines, most of them translated lessons and notebooks.
  • 23 advisories, none critical. 16 are in the root package-lock.json, which holds the course's sample dependencies and docsify-to-pdf, a tool for turning the lessons into a PDF; the high ones there are in packages such as follow-redirects, marked, extract-zip, json5 and semver. The other lockfiles, for the TypeScript sample apps in lessons 6 to 11, hold one high and a few moderate and low ones. The Python requirements have no known advisories.
  • The hosts are Microsoft Learn, Azure, OpenAI's platform docs, Hugging Face, YouTube and GitHub. Many links carry a WT.mc_id tracking parameter Microsoft uses to count course traffic; we found no analytics code in the samples.
  • Seven workflows, no pull_request_target, and all three third-party actions are pinned to commits. A security policy, Dependabot, CodeQL, contributing guide and code of conduct are present.

What the scanner counted

CheckResult
SecretsNone found.
Suspicious codeNone found.
Install-time codeNone: nothing runs at install beyond the package manager itself.
Committed binariesNone.
CI workflows7 workflows. None use pull_request_target. 0 of 3 third-party actions pinned to a tag rather than a commit.
Network hosts18 distinct hosts referenced from source; most often github.com, learn.microsoft.com, platform.openai.com, ai.azure.com. No URLs to bare IP addresses.
Known vulnerabilities23 advisories across 412 pinned packages: 0 critical, 12 high, 7 moderate, 4 low. 06-text-generation-apps/js-githubmodels/package-lock.json: 21 packages, 0 advisories; 06-text-generation-apps/python/requirements.txt: 1 packages, 0 advisories; 06-text-generation-apps/typescript/recipe-app/package-lock.json: 127 packages, 3 advisories; 07-building-chat-applications/js-githubmodels/package-lock.json: 21 packages, 0 advisories; 07-building-chat-applications/typescript/chat-completions-app/package-lock.json: 95 packages, 3 advisories; 08-building-search-applications/js-githubmodels/package-lock.json: 21 packages, 0 advisories; 08-building-search-applications/typescript/search-app/package-lock.json: 95 packages, 3 advisories; 09-building-image-applications/typescript/image-generation-app/package-lock.json: 95 packages, 3 advisories; 11-integrating-with-function-calling/js-githubmodels/package-lock.json: 21 packages, 0 advisories; 11-integrating-with-function-calling/typescript/function-app/package-lock.json: 100 packages, 4 advisories; package-lock.json: 295 packages, 16 advisories; requirements.txt: 6 packages, 0 advisories.
Project hygieneHas security policy, automated dependency updates, CodeQL, licence file, contributing guide.
OpenSSF ScorecardNot scored: the project is not in Scorecard's weekly index.

The raw findings

Every hit the scanner wrote out, with a link to the exact line at the scanned commit. Secrets candidates are redacted.

Worst known vulnerabilities (23 of 23)
AdvisorySeverityPackageSummary
GHSA-mrwp-f3q8-3g9phighfollow-redirects@1.16.1follow-redirects: Cross-realm sensitiveHeaders arrays are discarded and custom credentials can follow redirects
GHSA-93q8-gq69-wqmwhighansi-regex@4.1.0Inefficient Regular Expression Complexity in chalk/ansi-regex
GHSA-7pqw-9j4j-h8q3highextract-zip@1.7.0extract-zip allows arbitrary file writes through symlink archive entries
GHSA-jmr9-qjv8-65gvhighextract-zip@1.7.0extract-zip unvalidated symlink path traversal
GHSA-62ch-8vmq-8xm7highfiglet@1.5.0figlet is vulnerable to denial of service via unbounded loop when whitespaceBreak is used with a small width
GHSA-9c47-m6qq-7p4hhighjson5@0.5.1Prototype Pollution in JSON5 via Parse Method
GHSA-5v2h-r2cx-5xgjhighmarked@2.1.1Inefficient Regular Expression Complexity in marked
GHSA-rrrm-qjm4-v8hfhighmarked@2.1.1Inefficient Regular Expression Complexity in marked
GHSA-5v2h-r2cx-5xgjhighmarked@1.2.9Inefficient Regular Expression Complexity in marked
GHSA-rrrm-qjm4-v8hfhighmarked@1.2.9Inefficient Regular Expression Complexity in marked
GHSA-c2qf-rxjj-qqgwhighsemver@6.3.0semver vulnerable to Regular Expression Denial of Service
GHSA-93q8-gq69-wqmwhighansi-regex@5.0.0Inefficient Regular Expression Complexity in chalk/ansi-regex
GHSA-3g3m-2fjr-6pw4moderateglob@11.1.0Glob: AbortSignal cancellation bypass allows post-timeout filesystem traversal
GHSA-g3hv-75wg-m249moderateminimatch@10.2.5minimatch has potential denial of service via globparts amplification
GHSA-3g3m-2fjr-6pw4moderateglob@13.0.6Glob: AbortSignal cancellation bypass allows post-timeout filesystem traversal
GHSA-g3hv-75wg-m249moderateminimatch@10.2.4minimatch has potential denial of service via globparts amplification
GHSA-g3hv-75wg-m249moderateminimatch@10.2.6minimatch has potential denial of service via globparts amplification
GHSA-pfrx-2q88-qq97moderategot@9.6.0Got allows a redirect to a UNIX socket
GHSA-4r62-v4vq-hr96moderatemarked@1.2.9Regular Expression Denial of Service (REDoS) in Marked
GHSA-73rr-hh4g-fpgxlowdiff@4.0.2jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch
GHSA-mmh6-m7v9-5956lowmarkdown-link-extractor@1.3.0Regular expression denial of service in markdown-link-extractor
GHSA-m6fv-jmcg-4jfglowsend@0.17.1send vulnerable to template injection that can lead to XSS
GHSA-cm22-4g7w-348plowserve-static@1.14.1serve-static vulnerable to template injection that can lead to XSS

By the numbers

Stars123.5K
Forks66.4K
Contributors164
Commits2,578
Open issues0
Open pull requests22
Releases0
Latest releasenone tagged
LicenceMIT
Main languageJupyter Notebook
Project age3 years
Last pushNov 12, 2026
Tracked files11,070
Lines of code1.3M
Checkout size771 MB

Lines by language: Jupyter 798.3K, Markdown 459.5K, JSON 63K, Python 2,652, JavaScript 577, YAML 406.

Questions

Is Generative AI for Beginners free?

Yes. The course is free and MIT-licensed. Running the code samples uses a model provider such as Azure OpenAI or OpenAI, which bills you, or Foundry Local, which runs models on your own computer.

Do I need an Azure account?

No. The lessons also support the OpenAI API, and Foundry Local runs models offline with no cloud subscription. Azure is the default in many samples because Microsoft wrote the course.

Do I need to know how to code?

For the Build lessons, some Python or TypeScript helps; the README links beginner courses for both. The Learn lessons, such as prompt engineering and responsible AI, can be read without coding.


This post is part of GitHub Tools, where every repository is cloned and scanned before it is written up. The scan is a snapshot of one commit on one day; the repository has moved on since, so check it before you install.