generative-ai-for-beginners 课程总览:21 课从零构建生成式 AI 应用的完整学习路线
【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners
本指南以 generative-ai-for-beginners 开源课程总览(translations/hr/README.md)为骨架,系统梳理这套由 Microsoft Cloud 专家打造的 21 课入门课程:从环境搭建、LLM 提供商选择,到逐课的学习路径与代码实战(Python / TypeScript 双语),并补充仓库内 00-course-setup 与 03-providers.md 的配置细节及 shared/python/env_utils.py 的源码级佐证。读完你将掌握该课程的完整结构、环境配置方法,以及如何按自己的兴趣自由选课、从零上手生成式 AI 应用开发。
generative-ai-for-beginners 课程封面缩略图
课程是什么
generative-ai-for-beginners 是一套包含21 节课的综合性课程,由 Microsoft Cloud 专家编写,目标是让学习者掌握构建生成式 AI 应用所需的基础知识。课程口号是:"21 lekcija koja podučava sve što trebate znati za početak izrade Generativnih AI aplikacija"(21 节课教你开始构建生成式 AI 应用所需的一切)。
课程采用高度模块化设计:每一课都覆盖独立主题,学习者可以从任何一节课开始,无需按顺序逐课推进。
每节课的完整构成包括:
- 主题的短视频导览(部分课程标注 "Video uskoro" 即视频即将上线);
- 位于各课
README.md中的书面讲义; - 尽可能同时提供Python 和 TypeScript两个版本的代码示例,并分别支持 Azure OpenAI 与 OpenAI API 两条调用路径;
- 指向额外学习资源的 "Nastavi učiti"(继续学习)链接。
两种课程类型:Nauči(学习)与 Izradi(构建)
课程内部分为两类标签,学习者可据此快速判断每节课的定位:
- Nauči(Learn,概念课):侧重于解释生成式 AI 概念,例如提示工程、负责任 AI、安全、微调、LLMOps 等;
- Izradi(Build,构建课):在讲解概念的基础上给出可直接运行的代码示例,覆盖文本生成、聊天应用、搜索应用、图像生成、低代码、函数调用、RAG、开源模型、AI Agent 等主题。
从仓库目录结构可以直观印证这种"概念 + 构建"的二元设计:以 06-text-generation-apps、08-building-search-applications 为代表的构建课目录下,均包含python/、typescript/、js-githubmodels/、dotnet/等语言子目录,而概念课则以纯 README 讲稿为主。
多语言支持与稀疏克隆(Sparse Checkout)
该仓库的一个显著特点是内置 50+ 语言的翻译版本,仓库根目录下的 translations 目录包含每种语言的课程文档(40 个.md+ 28 个.ipynb),translated_images 目录则包含对应语言的图片资源。翻译由 GitHub Action 自动化维护(标注为 "Automatski i uvijek ažurno",即自动且始终最新)。
重要提醒:正因如此,直接克隆整个仓库的下载体积会显著增大。若你只想学习课程而无需翻译内容,官方推荐使用sparse checkout(稀疏检出)模式:
Bash / macOS / Linux:
git clone --filter=blob:none --sparse <repository-url> cd generative-ai-for-beginners git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'CMD(Windows):
git clone --filter=blob:none --sparse <repository-url> cd generative-ai-for-beginners git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"上述命令通过--filter=blob:none延迟下载文件内容、--sparse仅检出顶层文件,再用git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'排除translations与translated_images两个大目录,即可获得完成课程所需的全部内容且下载速度大幅提升。
开始前的环境准备
课程总览明确列出了运行课程代码的三类可选后端(三选一即可):
| 提供商 | 对应的作业标记 |
|---|---|
| Azure OpenAI Service | 课程文件标记为aoai-assignment |
| GitHub Marketplace Model Catalog(GitHub Models,将于 2026 年 7 月底退役) | 课程文件标记为githubmodels |
| OpenAI API | 课程文件标记为oai-assignment |
同时建议具备以下基础:
- Python 或 TypeScript 基础(完全零基础者可先修配套的 Python / TypeScript 入门课);
- 一个GitHub 账号,用于 fork 整个仓库并完成课程中的挑战;
- 新建的 Codespace 环境(推荐,可规避依赖问题)。
仓库为此专门提供了00-course-setup 环境搭建课,其核心步骤为:Fork 仓库 → 创建 Codespace(Code → Codespaces → New on main)→ 添加密钥(如OPENAI_API_KEY)→ 按需配置.env。
配置 LLM 提供商:以 .env 为核心
在开始运行代码之前,必须完成 LLM 提供商的注册与凭证配置。仓库的 03-providers.md 给出了完整的配置指引,其核心机制是统一的.env环境变量文件:
- 在仓库根目录找到
.env.copy模板文件,其内容结构如下(关键变量):
# OpenAI Provider OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI in Microsoft Foundry AZURE_OPENAI_API_VERSION='2024-10-21' # 默认已设置(当前稳定 GA 版本) AZURE_OPENAI_API_KEY='<add your Foundry resource key here>' AZURE_OPENAI_ENDPOINT='<add your Foundry resource endpoint here, e.g. https://<resource-name>.openai.azure.com>' AZURE_OPENAI_DEPLOYMENT='<add your chat completion model deployment name here, e.g. gpt-4o-mini>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model deployment name here, e.g. text-embedding-3-small>' ## Microsoft Foundry Models(多提供商模型目录,替代将于 2026 年 7 月底退役的 GitHub Models) AZURE_INFERENCE_ENDPOINT='<add your Microsoft Foundry project endpoint here>' AZURE_INFERENCE_CREDENTIAL='<add your Microsoft Foundry Models API key here>' ## Hugging Face HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'- 复制为
.env(该文件已被 gitignore,保证密钥安全):
cp .env.copy .env- 用真实值替换占位符并保存。
各核心变量的含义对照表:
| 变量 | 说明 |
|---|---|
HUGGING_FACE_API_KEY | Hugging Face 用户访问令牌 |
OPENAI_API_KEY | 非 Azure 的 OpenAI 端点授权密钥 |
AZURE_OPENAI_API_KEY | Azure OpenAI 服务授权密钥 |
AZURE_OPENAI_ENDPOINT | Azure OpenAI 资源部署端点 |
AZURE_OPENAI_DEPLOYMENT | 文本生成模型部署端点 |
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | 文本嵌入模型部署端点 |
AZURE_INFERENCE_ENDPOINT | Microsoft Foundry 项目端点 |
AZURE_INFERENCE_CREDENTIAL | Microsoft Foundry 项目 API 密钥 |
此外还支持完全离线的本地运行方案:Foundry Local(微软设备端运行时,自动选择 NPU/GPU/CPU 执行器并暴露 OpenAI 兼容端点)与Ollama(本地运行 Llama、Phi、Mistral、Gemma 等开源模型),无需任何云订阅。
注意:当前仓库版本已将 GitHub Models 标记为 2026 年 7 月底退役,推荐使用 Microsoft Foundry Models 作为直接替代方案(提供相同的免费体验模型目录与 Azure AI Inference SDK / OpenAI SDK 体验)。以上配置以当前仓库 03-providers.md 实际内容为准。
源码级佐证:环境变量的安全读取
仓库在 shared/python/env_utils.py 中提供了读取这些环境变量的统一工具函数,从实现层面印证了.env配置机制:
get_required_env(var_name, description):读取必需环境变量,若缺失或为空则抛出带说明的ValueError,提示"请在.env文件或环境中设置";validate_env_vars(*var_names):批量校验多个变量,一次性报告全部缺失项并返回{变量名: 值}字典;get_env_with_default(var_name, default):带默认值的读取,例如模型名缺省时可回退到gpt-4o。
对应地,tests/test_env_utils.py 中提供了针对上述函数的测试用例,覆盖缺失变量抛错与默认值回退等场景,可作为读者理解配置校验行为的参考。配合python-dotenv的load_dotenv()即可在 Python 脚本中加载.env中的凭证。
21 节课完整路径表
下表完整继承课程总览中的课程列表,并转换为仓库根目录下的相对路径(英文原版课程路径):
| # | 课程链接 | 类型与内容描述 |
|---|---|---|
| 00 | 环境搭建 | 学习:如何搭建开发环境 |
| 01 | 生成式 AI 与 LLM 入门 | 学习:理解什么是生成式 AI 以及大语言模型(LLM)如何工作 |
| 02 | 探索与比较不同的 LLM | 学习:如何为你的用例选择正确的模型 |
| 03 | 负责任地使用生成式 AI | 学习:如何负责任地构建生成式 AI 应用 |
| 04 | 提示工程基础 | 学习:提示工程最佳实践实战 |
| 05 | 创建高级提示 | 学习:如何应用改进提示输出质量的提示工程技术 |
| 06 | 构建文本生成应用 | 构建:使用 Azure OpenAI / OpenAI API 构建文本生成应用 |
| 07 | 构建聊天应用 | 构建:高效构建与集成聊天应用的技术 |
| 08 | 使用向量数据库构建搜索应用 | 构建:使用 Embedding 搜索数据的应用 |
| 09 | 构建图像生成应用 | 构建:图像生成应用 |
| 10 | 构建低代码 AI 应用 | 构建:使用低代码工具构建生成式 AI 应用 |
| 11 | 通过函数调用集成外部应用 | 构建:什么是函数调用及其在应用中的用例 |
| 12 | 为 AI 应用设计用户体验 | 学习:开发生成式 AI 应用时如何应用 UX 设计原则 |
| 13 | 保护你的生成式 AI 应用 | 学习:AI 系统面临的威胁与风险及安全防护方法 |
| 14 | 生成式 AI 应用生命周期 | 学习:管理 LLM 生命周期与 LLMOps 的工具和指标 |
| 15 | RAG 与向量数据库 | 构建:使用 RAG 框架从向量数据库检索 Embedding 的应用 |
| 16 | 开源模型与 Hugging Face | 构建:使用 Hugging Face 上的开源模型 |
| 17 | AI Agent | 构建:使用 AI Agent 框架的应用 |
| 18 | LLM 微调 | 学习:微调 LLM 的 what、why 与 how |
| 19 | 使用小语言模型(SLM)构建 | 学习:使用小语言模型构建的优势 |
| 20 | 使用 Mistral 模型构建 | 学习:Mistral 模型家族的特性与差异 |
| 21 | 使用 Meta 模型构建 | 学习:Meta 模型家族的特性与差异 |
其中第 19、20、21 课的对应代码示例位于仓库 19-slm/python、20-mistral/python 与 21-meta/python 目录下的 GitHub Models 作业 notebook 中。
学习路径建议与典型起点
课程总览强调"每课独立成章,想从哪里开始都可以",但仓库的环境搭建课也给出了一张实用的"下一步"指引表:
| 你想…… | 前往…… |
|---|---|
| 开始第 1 课 | 01-introduction-to-genai |
| 离线工作 | setup-local.md |
| 配置 LLM 提供商 | providers.md |
对零基础读者,最自然的路径是:先完成 00-course-setup 的环境搭建,随后从第 1 课"生成式 AI 与 LLM 入门"开始建立概念框架。该课通过一个虚构的教育科技 startup 场景展开,逐步讲解生成式 AI 的发展脉络(从早期基于规则的聊天机器人 → 90 年代统计机器学习 → 神经网络/RNN → 基于 Transformer 注意力机制的现代 LLM),并阐明 LLM 的核心机制——tokenizer 将文本转为 token 序列、模型按概率分布预测下一个 token、temperature 参数控制输出随机性,这些概念是理解后续所有构建课的基础。
AI、机器学习、深度学习与生成式 AI 的关系图
实操运行示例:从文本生成应用开始
如果你想尽快上手代码,第 6 课构建文本生成应用是理想的第一个构建课。它讲解openaiPython 库的核心概念,并演示如何用 prompt、temperature 与 token 三个参数构建文本生成应用。仓库中 06-text-generation-apps/python 目录提供了三种后端的完整实现:
oai-app.py/oai-app-recipe.py(OpenAI API);aoai-app.py/aoai-app-recipe.py(Azure OpenAI);githubmodels-app.py(Microsoft Foundry Models / GitHub Models)。
典型运行方式:
pip install openai python-dotenv python 06-text-generation-apps/python/oai-app.py脚本通过load_dotenv()加载.env中的密钥,再调用 OpenAI 兼容客户端发送 prompt 并打印生成的文本,是验证环境配置是否正确的快捷途径。
支持渠道与参与贡献
课程总览还提供了三类社区支持与贡献入口:
- 学习者支持:官方 Discord 服务器与 Microsoft Foundry Developer Forum,用于与其他学习者交流、提问与反馈产品问题;
- 启动企业支持:Microsoft for Startups 计划(面向使用 Azure 信用额度的初创团队);
- 开源贡献:发现拼写或代码错误时,可通过提 issue 或发起 pull request 参与改进。仓库 CONTRIBUTING.md 与 CODE_OF_CONDUCT.md 提供了具体参与规范。
另外,00-course-setup/README.md 中列出的常见故障排查表也值得收藏,例如:Codespace 容器构建卡住超过 10 分钟可执行 "Rebuild Container";遇到python: command not found说明终端未挂载需点击+打开 bash;401 Unauthorized通常意味着OPENAI_API_KEY错误或过期;Jupyter notebook 缺少内核时可通过 "Kernel → Select Kernel → Python 3" 修复。
结语
generative-ai-for-beginners 以"21 节课、按需选课、双语代码、三后端支持"的设计,为生成式 AI 初学者提供了一条低门槛且覆盖全面的学习路径:从概念理解(LLM 原理、提示工程、负责任 AI)到实战构建(文本、聊天、搜索、图像、低代码、函数调用、RAG、Agent),再到进阶主题(安全、生命周期、微调、SLM、Mistral、Meta),配合 00-course-setup 的环境搭建指南与 03-providers.md 的提供商配置说明,任何具备基础编程能力的读者都能在数小时内完成从零到首个生成式 AI 应用的跨越。
【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考