generative-ai-for-beginners 完整课程指南:用 21 课系统掌握生成式 AI 应用开发
本仓库是一套名为 Generative AI for Beginners(课程版本号为 Version 3)的开源课程:由微软云布道团队(Microsoft Cloud Advocates)维护的 21 个独立课时,覆盖从生成式 AI 与 LLM 原理、提示词工程,到文本/图像/搜索应用构建、RAG、Agent、微调与 LLMOps 的完整学习路径。无论你从零入门还是已经会写 Python/TypeScript,都可以按本文梳理的课程地图、目录结构与运行准备,快速确定从哪个课时切入,并在本仓库内找到对应 README、可运行示例与练习文件。本文依据该仓库的 translations/bn/README.md(课程首页 README 的孟加拉语翻译版)撰写,所有章节与文件链接均已转换为以仓库根目录为起点的相对路径,可直接在仓库内跳转查阅。
课程是什么:21 课、随时可切入的模块化学习
根据首页 README 的说明,这是一套共 21 个课时(外加第 0 课的开发环境准备)的完整课程,每个课时都聚焦一个独立主题,因此可以从任意感兴趣的课时开始,不必按顺序线性读完。
课时采用两种清晰的标签来区分定位:
- Learn(学)型课时:解释某个生成式 AI 概念,帮助建立原理认知;
- Build(构建)型课时:在解释概念的同时,给出可在本仓库中直接运行的代码示例,并尽可能同时提供 Python 与 TypeScript 两个版本。
此外,每个课时还包含一个 "Keep Learning"(继续学习)小节,罗列额外学习资源;部分课时附有短视频介绍(个别课时标注为"视频即将推出",例如第 19、20、21 课)。对于 .NET 开发者,课程生态还提供了独立的 .NET 版本课程《Generative AI for Beginners (.NET Edition)》。
值得说明的是,首页 README 的全量课程目录表格(编号 00~21)、课时分类、运行环境要求等内容,是本仓库对外的"课程门户",本文后续章节将逐项展开并落到仓库内的具体目录与文件上。
运行课程代码需要准备什么
三个可选的大模型服务,对应三套练习命名
课程的代码不是只绑定一家供应商的。首页 README 明确列出三套可选服务,每套服务在练习与示例文件中都有独立的命名前缀:
| 服务 | 对应课时/代码前缀 | 说明 |
|---|---|---|
| Azure OpenAI Service | aoai-assignment |
以 Azure OpenAI 为后端的练习与示例 |
| GitHub Marketplace Model Catalog(GitHub Models) | githubmodels |
通过 GitHub 模型目录运行的示例 |
| OpenAI API | oai-assignment |
以 OpenAI 官方 API 为后端的练习与示例 |
也就是说,当你在课时目录里看到 aoai-app.py、oai-assignment.ipynb、githubmodels-app.py 这类文件时,文件名前缀就代表了它接入的服务后端。读者可以在三家中任选其一即可跑通整套课程代码。作为补充,本仓库英文版根 README(README.md)当前版本还提示:GitHub Models 将于 2026 年 7 月底停止服务,建议改用 Microsoft Foundry Models(Azure AI Foundry 模型目录);因此以本仓库当前状态为准时,新增的 Foundry 系列接入方式也值得关注。
基础知识与账号要求
- 具备 Python 或 TypeScript 的初级知识会很有帮助(零基础读者可先从对应语言的基础课程入手);
- 需要一个 GitHub 账号,用于把整个仓库 fork 到自己的账号下,从而自由修改代码并完成挑战;
- 课程还专门准备了第 0 课 Course Setup,用于帮助你搭建开发环境。
开发环境:fork → Codespaces → 密钥
第 0 课 00-course-setup/README.md 给出了推荐的环境搭建路径:
- Fork 本仓库到自己的 GitHub 账号(也可顺手将仓库加星,便于日后查找);
- 创建 Codespaces:在 fork 后的仓库中进入
Code -> Codespaces -> New on main,以容器化方式运行课程,从而规避本地依赖问题; - 添加环境变量/密钥:通过 Codespaces 的 "Manage user secrets" 添加名为
OPENAI_API_KEY的密钥并填入你的 Key。
该目录下还细分了三份配套文档,可分别查阅:
- 00-course-setup/01-setup-cloud.md:云环境(Codespaces)搭建细节;
- 00-course-setup/02-setup-local.md:本地运行方案(如本地安装 Python、通过
git clone检出仓库后再运行); - 00-course-setup/03-providers.md:如何获取各 LLM 服务商的 Endpoint 与 API Key。
这些文档中还提供了 .env 文件的通用做法(Unix 用 touch .env、Windows 用 echo . > .env),随后用 python-dotenv 把凭据加载进应用。仓库层面的依赖与封装也印证了这一约定:根目录 requirements.txt 列出的 python-dotenv、openai>=1.12.0、tiktoken、azure-ai-inference 等正是运行示例所需的核心依赖;而公共工具模块 shared/python/api_utils.py 中提供的 create_openai_client() 会优先从 OPENAI_API_KEY 环境变量读取密钥,同文件的 create_azure_openai_client()(shared/python/api_utils.py)则从 AZURE_OPENAI_ENDPOINT 与 AZURE_OPENAI_API_KEY 读取 Azure 端点与密钥,并自动拼装 <endpoint>/openai/v1/ 作为 base_url。仓库还配套了 tests/ 目录下的单元测试(如 test_env_utils.py、test_api_utils.py),供你验证环境与工具函数行为。
克隆策略:50+ 语言仓库的 sparse checkout 实践
这是一个重要的实操细节。由于首页 README 声明仓库内含 50 多种语言的翻译(完整的翻译内容位于 translations/ 与 translated_images/),整仓下载体积会明显偏大。如果你只想要英文课程内容本身、不希望下载全部翻译,README 推荐使用 Git 的 sparse checkout(稀疏检出)加 blob 过滤来克隆:
Bash / macOS / Linux:
git clone --filter=blob:none --sparse https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners.git
cd generative-ai-for-beginners
git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
CMD(Windows):
git clone --filter=blob:none --sparse https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners.git
cd generative-ai-for-beginners
git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
这样只检出课程主体(/*)而排除 translations 与 translated_images 两个目录,可以在显著加快下载的同时,获得完成课程所需的全部文件。
多语言支持与翻译说明
该课程具备成熟的多语言体系,首页 README 中的语言切换表即覆盖 50 余种语言。语言目录遵循统一约定:
- 各语言课程文本位于
translations/<语言代码>/下(例如本文档所在的translations/bn/即孟加拉语); - 各语言译文对应的本地化图片位于
translated_images/<语言代码>/下,文件名带有哈希后缀(如translated_images/bn/repo-thumbnailv4-fixed.11f1ce6a85d01461.webp)。
翻译通过 GitHub Actions 自动维护,能保持与英文正文同步更新。同时,翻译文件页脚带有明确声明:这类译文由 AI 翻译服务 Co-op Translator 自动生成,可能存在误差,权威文本应以原始语言(英文)的文档为准,重要信息建议参考专业人工翻译。这一点对读者有实际参考价值——当发现某个译文的表述与英文存在出入时,请回到根目录的 README.md 与各课时的英文 README 核对。
每个课时里有什么
仓库首页 README 统一说明了课时构成,这也是你进入任意一个 NN-*/ 课时目录后可以看到的标准结构:
- 一段该主题的短视频导览(存放在课时 README 头部);
- 写在课时目录 README 中的完整文字课程;
- 同时支持 Azure OpenAI 与 OpenAI API 的 Python 与 TypeScript 代码示例;
- 指向更多资源的额外学习链接(即每个课时 README 中的 "Keep Learning" 部分)。
从仓库目录结构可以印证这一点:多数课时目录下都包含 images/(课时横幅图与示意图)、python/、js-githubmodels/ 或 typescript/ 等代码目录,例如 06-text-generation-apps、09-building-image-applications 等。在 06~09 等课时下还能看到 dotnet/notebook-azure-openai.dib 这类面向 .NET 的 Azure OpenAI 实验笔记本文件。
课程全目录(编号 00~21)
下表完整继承首页 README 的课程目录,并将每个课时链接转换为仓库根目录下的相对路径。类型列区分 "Learn(概念课)" 与 "Build(实践课)":
按学习阶段看:01~05 与 12~14、18~21 属于概念(Learn)阶段,先建立对 LLM 原理、提示词工程、负责任 AI、UX 与安全、生命周期与微调等方向的认知;06~11 与 15~17 属于构建(Build)阶段,覆盖文本生成、聊天、搜索、图像、低代码、函数调用、RAG、开源模型与 AI Agents 等动手主题。两阶段均可按需跨入。
实践课代码资产在仓库中的分布
为便于按课时索引代码,下面把 Build 型课时在仓库中的关键实现资产梳理如下(均为仓库内真实存在的路径,可作为深入阅读的起点):
- 06 文本生成应用:06-text-generation-apps/python 下有
aoai-app.py、oai-app.py、githubmodels-app.py,以及围绕配方向模型(aoai-app-recipe.py)、历史会话机器人(*history-bot.py)、学习助手(*study-buddy.py)等变体;另有 06-text-generation-apps/js-githubmodels(app.js+package.json)与 TypeScript 版recipe-app、依赖清单 06-text-generation-apps/python/requirements.txt; - 07 聊天应用:07-building-chat-applications 下同时有
js-githubmodels/app.js、Python 作业笔记本(aoai-assignment*.ipynb、oai-*.ipynb、githubmodels-*.ipynb)与 TypeScriptchat-completions-app; - 08 搜索应用:08-building-search-applications 除 Python/TS 示例外,还包含完整的脚本管线 08-building-search-applications/scripts/(转写下载
transcript_download.py、说话人/摘要/Embeddings 富化等transcript_enrich_*.py,以及跨平台启动脚本),并内置了 300 万条级别的 embedding 索引文件embedding_index_3m.json,方便直接体验向量检索; - 09 图像生成应用:09-building-image-applications 提供
aoai-app.py/oai-app.py与图像变体aoai-app-variation.py/oai-app-variation.py等,配套 TypeScriptimage-generation-app; - 10 低代码应用:无传统代码目录,但提供独立作业文档 10-building-low-code-ai-applications/assignment.md,围绕 Power Platform/AI Builder 等低代码工具展开;
- 11 Function Calling:11-integrating-with-function-calling 下有
js-githubmodels/app.js、python作业笔记本与 TypeScriptfunction-app; - 15 RAG 与向量数据库:核心动手载体为 15-rag-and-vector-databases/notebook-rag-vector-databases.ipynb,并配套可实验的语料 15-rag-and-vector-databases/data/ 下的 Markdown 文档片段;
- 16~17 开源模型与 Agent:16-open-source-models 与 17-ai-agents 分别以 Hugging Face 模型接入与 AI Agent 框架为主题展开构建练习;
- 18 微调:18-fine-tuning/python/openai 提供基于 OpenAI 的训练数据 JSONL 与练习笔记本;
- 19~21 小模型与厂商模型:19-slm 提供 Phi-3/Phi-3.5 系列推理与视觉演示笔记本;20-mistral 与 21-meta 则分别以
githubmodels-assignment.ipynb演示 Mistral 家族与 Meta(Llama)模型的接入。
需要说明的是,各课时之间文件命名存在共性规律:以 aoai-、oai-、githubmodels- 开头区分后端服务(对应上文三套运行选项),assignment 表示带作业任务的练习、solution/app 表示参考答案或完整示例,.ipynb 笔记本与 .py 脚本并存,方便在 IDE 或 Jupyter 两种模式下运行。
课程首页 README 的其余要点
- 继续学习与"构建就绪":若希望进一步挑战生产级示例,README 提示课程生态提供了更进阶的生成式 AI 代码示例合集(Python/TypeScript 双语言)供查阅;
- 学习者支持渠道:可通过课程对应的官方 Discord 服务器与其他学习者交流求助,也可在产品官方开发者论坛提问或反馈意见;
- 版权与贡献:仓库以开源许可发布,允许就拼写或代码错误提交 Issue 或 Pull Request;首页还特别致谢了维护全部 GitHub Actions/工作流的 John Aziz,以及为各课时学习者与代码体验做出关键改进的 Bernhard Merkle。
结语:一份可直接照着走的课程地图
综合来看,translations/bn/README.md(即课程首页 README)本身就是一张可执行的路线图:先按"三选一"准备服务凭据(Azure OpenAI / GitHub Models / OpenAI API),再通过 fork + Codespaces 或 sparse checkout 就绪环境,然后从 00 课开始,沿 Learn 概念课→Build 实践课的路径,在仓库各 NN-*/ 目录内对照 README 与示例代码逐课推进即可。当你在调试中遇到依赖或环境问题,优先回到 00-course-setup 的排障表,并对照英文原文(根目录 README.md 及各课时 README)确认翻译版本的表述差异。这套课程仓库的可贵之处,正是把"概念 → 代码 → 练习"三层内容按课时完整沉淀在同一个仓库里,方便随时检索、复用与二次开发。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0623
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00