![Generative AI For Beginners](./images/repo-thumbnailv4-fixed.png)

### 21 Lessons teaching everything you need to know to start building Generative AI applications













### 🌐 Multi-Language Support

#### Supported via GitHub Action (Automated & Always Up-to-Date)

<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](./translations/ar/README.md) | [Bengali](./translations/bn/README.md) | [Bulgarian](./translations/bg/README.md) | [Burmese (Myanmar)](./translations/my/README.md) | [Chinese (Simplified)](./translations/zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](./translations/zh-HK/README.md) | [Chinese (Traditional, Macau)](./translations/zh-MO/README.md) | [Chinese (Traditional, Taiwan)](./translations/zh-TW/README.md) | [Croatian](./translations/hr/README.md) | [Czech](./translations/cs/README.md) | [Danish](./translations/da/README.md) | [Dutch](./translations/nl/README.md) | [Estonian](./translations/et/README.md) | [Finnish](./translations/fi/README.md) | [French](./translations/fr/README.md) | [German](./translations/de/README.md) | [Greek](./translations/el/README.md) | [Hebrew](./translations/he/README.md) | [Hindi](./translations/hi/README.md) | [Hungarian](./translations/hu/README.md) | [Indonesian](./translations/id/README.md) | [Italian](./translations/it/README.md) | [Japanese](./translations/ja/README.md) | [Kannada](./translations/kn/README.md) | [Khmer](./translations/km/README.md) | [Korean](./translations/ko/README.md) | [Lithuanian](./translations/lt/README.md) | [Malay](./translations/ms/README.md) | [Malayalam](./translations/ml/README.md) | [Marathi](./translations/mr/README.md) | [Nepali](./translations/ne/README.md) | [Nigerian Pidgin](./translations/pcm/README.md) | [Norwegian](./translations/no/README.md) | [Persian (Farsi)](./translations/fa/README.md) | [Polish](./translations/pl/README.md) | [Portuguese (Brazil)](./translations/pt-BR/README.md) | [Portuguese (Portugal)](./translations/pt-PT/README.md) | [Punjabi (Gurmukhi)](./translations/pa/README.md) | [Romanian](./translations/ro/README.md) | [Russian](./translations/ru/README.md) | [Serbian (Cyrillic)](./translations/sr/README.md) | [Slovak](./translations/sk/README.md) | [Slovenian](./translations/sl/README.md) | [Spanish](./translations/es/README.md) | [Swahili](./translations/sw/README.md) | [Swedish](./translations/sv/README.md) | [Tagalog (Filipino)](./translations/tl/README.md) | [Tamil](./translations/ta/README.md) | [Telugu](./translations/te/README.md) | [Thai](./translations/th/README.md) | [Turkish](./translations/tr/README.md) | [Ukrainian](./translations/uk/README.md) | [Urdu](./translations/ur/README.md) | [Vietnamese](./translations/vi/README.md)

> **Prefer to Clone Locally?**
>
> This repository includes 50+ language translations which significantly increases the download size. To clone without translations, use sparse checkout:
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/generative-ai-for-beginners.git
> cd generative-ai-for-beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
>
> **CMD (Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/generative-ai-for-beginners.git
> cd generative-ai-for-beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> This gives you everything you need to complete the course with a much faster download.
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->

# Generative AI for Beginners (Version 3) - A Course

Learn the fundamentals of building Generative AI applications with our 21-lesson comprehensive course by AI Research Lab.

## 🌱 Getting Started

This course has 21 lessons. Each lesson covers its own topic so start wherever you like!

Lessons are labeled either "Learn" lessons explaining a Generative AI concept or "Build" lessons that explain a concept and code examples in both **Python** and **TypeScript** when possible.

For .NET Developers checkout [Generative AI for Beginners (.NET Edition)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet)!

Each lesson also includes a "Keep Learning" section with additional learning tools.

## What You Need
### To run the code of this course, you can use either: 
 - [Azure OpenAI Service](https://aka.ms/genai-beginners/azure-open-ai) - **Lessons:** "aoai-assignment"
 - [Microsoft Foundry Models](https://ai.azure.com/catalog/models) - **Lessons:** "githubmodels" (GitHub Models is retiring at the end of July 2026 - use Microsoft Foundry Models instead)
 - [OpenAI API](https://aka.ms/genai-beginners/open-ai) - **Lessons:** "oai-assignment" 
 - [Foundry Local](https://foundrylocal.ai) - Run models fully offline on your own device, no cloud subscription required
   
- Basic knowledge of Python or TypeScript is helpful - \*For absolute beginners check out these [Python](https://aka.ms/genai-beginners/python) and [TypeScript](https://aka.ms/genai-beginners/typescript) courses
- A GitHub account to [fork this entire repo](https://aka.ms/genai-beginners/github) to your own GitHub account

We have created a **[Course Setup](./00-course-setup/README.md)** lesson to help you with setting up your development environment.

Don't forget to [star (🌟) this repo](https://docs.github.com/en/get-started/exploring-projects-on-github/saving-repositories-with-stars) to find it easier later.

## 🧠 Ready to Deploy?

If you are looking for more advanced code samples, check out our [collection of Generative AI Code Samples](https://aka.ms/genai-beg-code) in both **Python** and **TypeScript**.

## 🗣️ Meet Other Learners, Get Support

Join our [Community Forum](https://aka.ms/genai-discord) to meet and network with other learners taking this course and get support.

Ask questions or share product feedback in our [Developer Forum](https://aka.ms/azureaifoundry/forum) on Github.

## 🚀 Building a Startup?

Visit [Microsoft for Startups](https://www.microsoft.com/startups) to find out how to get started building with Azure credits today.

## 🙏 Want to help?

Do you have suggestions or found spelling or code errors? [Raise an issue](https://github.com/microsoft/generative-ai-for-beginners/issues) or [Create a pull request](https://github.com/microsoft/generative-ai-for-beginners/pulls)

## 📂 Each lesson includes:

- A short video introduction to the topic
- A written lesson located in the README
- Python and TypeScript code samples supporting Azure OpenAI and OpenAI API
- Links to extra resources to continue your learning

## 🗃️ Lessons

| #   | **Lesson Link**                                                                                                                              | **Description**                                                                                 | **Video**                                                                   | **Extra Learning**                                                             |
| --- | -------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| 00  | [Course Setup](./00-course-setup/README.md)                                                                 | **Learn:** How to Setup Your Development Environment                                            | Video Coming Soon                                                                 | [Learn More](https://aka.ms/genai-collection) |
| 01  | [Introduction to Generative AI and LLMs](./01-introduction-to-genai/README.md)                              | **Learn:** Understanding what Generative AI is and how Large Language Models (LLMs) work. | <a href="/player.html?course=genai-beginners&lesson=01" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 02  | [Exploring and comparing different LLMs](./02-exploring-and-comparing-different-llms/README.md) | **Learn:** How to select the right model for your use case | <a href="/player.html?course=genai-beginners&lesson=02" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 03  | [Using Generative AI Responsibly](./03-using-generative-ai-responsibly/README.md) | **Learn:** How to build Generative AI Applications responsibly | <a href="/player.html?course=genai-beginners&lesson=03" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 04  | [Understanding Prompt Engineering Fundamentals](./04-prompt-engineering-fundamentals/README.md) | **Learn:** Hands-on Prompt Engineering Best Practices | <a href="/player.html?course=genai-beginners&lesson=04" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 05  | [Creating Advanced Prompts](./05-advanced-prompts/README.md) | **Learn:** How to apply prompt engineering techniques that improve the outcome of your prompts. | <a href="/player.html?course=genai-beginners&lesson=05" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 06  | [Building Text Generation Applications](./06-text-generation-apps/README.md) | **Build:** A text generation app using Azure OpenAI / OpenAI API | <a href="/player.html?course=genai-beginners&lesson=06" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 07  | [Building Chat Applications](./07-building-chat-applications/README.md) | **Build:** Techniques for efficiently building and integrating chat applications. | <a href="/player.html?course=genai-beginners&lesson=07" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 08  | [Building Search Apps Vector Databases](./08-building-search-applications/README.md) | **Build:** A search application that uses Embeddings to search for data. | <a href="/player.html?course=genai-beginners&lesson=08" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 09  | [Building Image Generation Applications](./09-building-image-applications/README.md) | **Build:** An image generation application | <a href="/player.html?course=genai-beginners&lesson=09" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 10  | [Building Low Code AI Applications](./10-building-low-code-ai-applications/README.md) | **Build:** A Generative AI application using Low Code tools | <a href="/player.html?course=genai-beginners&lesson=10" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 11  | [Integrating External Applications with Function Calling](./11-integrating-with-function-calling/README.md) | **Build:** What is function calling and its use cases for applications | <a href="/player.html?course=genai-beginners&lesson=11" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 12  | [Designing UX for AI Applications](./12-designing-ux-for-ai-applications/README.md) | **Learn:** How to apply UX design principles when developing Generative AI Applications | <a href="/player.html?course=genai-beginners&lesson=12" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 13  | [Securing Your Generative AI Applications](./13-securing-ai-applications/README.md) | **Learn:** The threats and risks to AI systems and methods to secure these systems. | <a href="/player.html?course=genai-beginners&lesson=13" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 14  | [The Generative AI Application Lifecycle](./14-the-generative-ai-application-lifecycle/README.md) | **Learn:** The tools and metrics to manage the LLM Lifecycle and LLMOps | <a href="/player.html?course=genai-beginners&lesson=14" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 15  | [Retrieval Augmented Generation (RAG) and Vector Databases](./15-rag-and-vector-databases/README.md) | **Build:** An application using a RAG Framework to retrieve embeddings from a Vector Databases | <a href="/player.html?course=genai-beginners&lesson=15" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 16  | [Open Source Models and Hugging Face](./16-open-source-models/README.md) | **Build:** An application using open source models available on Hugging Face | <a href="/player.html?course=genai-beginners&lesson=16" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 17  | [AI Agents](./17-ai-agents/README.md) | **Build:** An application using an AI Agent Framework | <a href="/player.html?course=genai-beginners&lesson=17" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 18  | [Fine-Tuning LLMs](./18-fine-tuning/README.md) | **Learn:** The what, why and how of fine-tuning LLMs | <a href="/player.html?course=genai-beginners&lesson=18" target="_blank">🎬 观看视频</a> | [Learn More](https://aka.ms/genai-collection) |
| 19  | [Building with SLMs](./19-slm/README.md)                                                              | **Learn:** The benefits of building with Small Language Models                                            | Video Coming Soon | [Learn More](https://aka.ms/genai-collection) |
| 20  | [Building with Mistral Models](./20-mistral/README.md)                                                              | **Learn:** The features and differences of the Mistral Family Models                                           | Video Coming Soon | [Learn More](https://aka.ms/genai-collection) |
| 21  | [Building with Meta Models](./21-meta/README.md)                                                              | **Learn:** The features and differences of the Meta Family Models                                           | Video Coming Soon | [Learn More](https://aka.ms/genai-collection) |

### 🌟 Special thanks

Special thanks to [**John Aziz**](https://www.linkedin.com/in/john0isaac/) for creating all of the GitHub Actions and workflows

[**Bernhard Merkle**](https://www.linkedin.com/in/bernhard-merkle-738b73/) for making key contributions to each lesson to improve the learner and code experience. 

