首页
/ Generative AI for Beginners 课程全解读:21 节课带你从零构建生成式 AI 应用

Generative AI for Beginners 课程全解读:21 节课带你从零构建生成式 AI 应用

2026-09-08 22:16:31作者:冯梦姬Eddie

本指南以课程总览页 translations/fi/README.md(芬兰语版)为主干,并对照仓库英文根 README.md 与各章节源码组织展开。读完本文,你将完整掌握这套“21 课生成式 AI 课程”的整体结构、Learn/Build 两种课型的区分、三套模型运行环境的接入方式、免翻译的稀疏克隆方法,以及从第 00 课环境搭建到逐章推进的实战路径。

课程是什么:21 课覆盖从概念到代码的完整链路

按总览页描述,本仓库是一套由 Microsoft Cloud Advocates 维护的开源课程(版本 3),目标是用 21 节课讲清“构建生成式 AI 应用所需的全部知识”。其核心设计有四点:

  • 每课独立成章、可随意切入:21 节课每节都有独立主题,学习者可以从任何感兴趣的章节开始,无需严格按顺序阅读;
  • 两种课型标签:章节被明确标注为 "Learn"(概念学习课,解释生成式 AI 概念)或 "Build"(动手构建课,在讲解概念的同时尽可能给出 PythonTypeScript 双语言代码示例);
  • Keep Learning 延伸模块:每节课都附带 "Keep Learning" 小节,给出继续深入学习的材料;
  • 面向 .NET 开发者另有分册:总览页说明,若使用 .NET 技术栈,可关注配套的《Generative AI for Beginners(.NET Edition)》。

仓库布局:一节一章,代码、课文与配图就近存放

“每课一个目录”是这套课程最重要的目录约定。以根目录为例,00-course-setup/21-meta/ 共 22 个编号目录,每一课目录内通常包含:

  • README.md:书面课文,即该课的“正文”;
  • images/:课文配图;
  • python/:Python 代码(脚本或 Jupyter notebook);
  • typescript/、js-githubmodels/ 或 javascript/:部分动手课提供的 TypeScript/JavaScript 版本;
  • dotnet/:少量动手课附带的 .NET 交互式 notebook(.dib)。

以 06 课 06-text-generation-apps/README.md 为例,其目录同时包含 python/js-githubmodels/typescript/recipe-app/dotnet/notebook-azure-openai.dib,直观体现了“跨语言、多 provider 对齐”的代码组织方式。

仓库根目录还维护了一批与课程配套的质量基建,可辅助理解代码约定:

运行课程代码:三套可选的模型服务与文件命名约定

总览页明确指出,运行本课程代码可以采用以下三种服务之一,且代码文件的命名前缀直接与所选服务一一对应,这是本仓库最值得先掌握的映射关系:

服务(总览页原文) 命名前缀 典型文件
Azure OpenAI Service aoai-assignment aoai-assignment.ipynb06-text-generation-apps/python/aoai-app.py
GitHub Marketplace Model Catalog(GitHub Models) githubmodels githubmodels-assignment.ipynb06-text-generation-apps/python/githubmodels-app.py
OpenAI API oai-assignment oai-assignment.ipynb06-text-generation-apps/python/oai-app.py

从仓库源码结构看,上述三种前缀贯穿各章 notebook 与脚本(如 08-building-search-applications/python/oai-solution.ipynb20-mistral/python/githubmodels-assignment.ipynb 等),因此“选好服务 → 找到对应前缀的示例文件 → 直接复用”是本课程最高效的跑代码方式。

除服务外,入门还建议具备 Python 或 TypeScript 的基础知识,并准备一个用于 fork 课程的 GitHub 账号。另外,00-course-setup/README.md 已单独成课(第 00 课),专门指导开发环境搭建。

版本提示:芬兰语总览页对应的英文根 README.md 目前对“可用服务”清单做了更新——除 Azure OpenAI、OpenAI API 外,还新增了 Microsoft Foundry Models 与支持完全离线运行的 Foundry Local;同时 00-course-setup/README.md 标注 GitHub Models(及 GITHUB_TOKEN 变量)将在 2026 年 7 月底退役,建议用 Microsoft Foundry Models 提供的 AZURE_INFERENCE_ENDPOINTAZURE_INFERENCE_CREDENTIAL 环境变量替代。翻译文档生成时间较早,实际运行时请以仓库英文原版与第 00 课的最新说明为准。

拿到仓库:完整克隆与“免翻译”稀疏克隆

仓库内置 50 余种语言翻译(translations/translated_images/),这会显著增大下载体积。总览页给出的建议是:绝大多数学习者不需要本地翻译文件,此时应使用 Git 的 sparse checkout 功能只拉取课程主体。

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"

命令要点拆解:

  • --filter=blob:none:先不下载各文件的具体内容(blob),按需延迟获取,大幅减小首次下载量;
  • --sparse 配合 sparse-checkout set --no-cone:用 '/*' 通配包含根目录全部课程,再用 '!translations''!translated_images' 显式排除翻译正文与翻译配图;
  • 该结果保留了完成课程所需的全部章节、代码、测试与配置,而下载速度显著更快。

第 00 课:先搭好开发环境

00-course-setup/README.md 是官方给出的“开课前置流程”,总览页也将其列为第一站。其主干步骤包括:

  1. Fork 本仓库到自己的 GitHub 账号,便于修改代码、完成作业;
  2. 创建 Codespaces(推荐以规避本地依赖问题),并把模型 API Key 以用户级 secret(如 OPENAI_API_KEY)写入;
  3. 根据自身需求进入对应分支文档:跑云端选择 01-setup-cloud.md,离线开发选择 02-setup-local.md,配置模型服务商(Endpoint/Key、.env 文件、python-dotenv 等)选择 03-providers.md

该 README 还内置了一张“排障对照表”,覆盖容器构建卡住、python: command not found、来自 OpenAI 的 401 Unauthorized、Dev container 挂载异常、notebook kernel 缺失等常见症状与修复动作,遇到环境问题时可直接按表排查。

21 课课程目录总表

下表完整继承总览页的章节清单(编号、章节类型与主题),并将原文档中的相对链接统一转换为以仓库根目录为起点的路径:

# 课型 章节(课文位置) 主题与核心内容
00 Learn 00-course-setup 如何搭建开发环境(云端 / 本地 / Provider 三篇指南)
01 Learn 01-introduction-to-genai 理解什么是生成式 AI,以及大语言模型(LLM)如何工作
02 Learn 02-exploring-and-comparing-different-llms 探索并比较不同 LLM,学会按使用场景选型
03 Learn 03-using-generative-ai-responsibly 负责任地构建生成式 AI 应用
04 Learn 04-prompt-engineering-fundamentals Prompt 工程基础,含三套 provider 的动手作业 notebook
05 Learn 05-advanced-prompts 进阶提示词创作,应用能提升输出效果的 prompt 工程技术
06 Build 06-text-generation-apps 基于 Azure OpenAI / OpenAI API 构建文本生成应用
07 Build 07-building-chat-applications 高效构建并集成聊天应用的技术
08 Build 08-building-search-applications 使用 Embedding(嵌入)检索数据的搜索应用
09 Build 09-building-image-applications 图像生成应用
10 Build 10-building-low-code-ai-applications 使用低代码工具构建生成式 AI 应用
11 Build 11-integrating-with-function-calling Function Calling(函数调用)是什么及其应用场景
12 Learn 12-designing-ux-for-ai-applications 将 UX 设计原则应用于生成式 AI 应用开发
13 Learn 13-securing-ai-applications AI 系统面临的威胁与风险,以及安全防护方法
14 Learn 14-the-generative-ai-application-lifecycle 管理 LLM 应用生命周期与 LLMOps 的工具与指标
15 Build 15-rag-and-vector-databases 基于 RAG 框架、从向量数据库中检索嵌入的应用
16 Build 16-open-source-models 使用 Hugging Face 上的开源模型构建应用
17 Build 17-ai-agents 基于 AI Agent 框架构建应用
18 Learn 18-fine-tuning LLM 微调的“是什么、为什么、怎么做”
19 Learn 19-slm 使用小语言模型(SLM)构建的收益
20 Learn 20-mistral Mistral 模型家族的特性与差异
21 Learn 21-meta Meta 模型家族的特性与差异

每节课程的“标配”资源保持一致,包含:主题短视频介绍、位于章节 README 中的书面课文、尽可能同时覆盖 Python 与 TypeScript 且支持 Azure OpenAI / OpenAI API 的代码示例,以及用于延伸学习的额外资源链接。

动手型(Build)章节的配套代码盘点

Build 课的代码密度通常最高,仓库中的对应目录可直接作为“最小可用示例”研读:

  • 06 文本生成python/ 下提供 oai-app.pyaoai-app.pygithubmodels-app.py*-app-recipe.py 等多个可直接运行的脚本,另有 js-githubmodels/app.jstypescript/recipe-app/
  • 07 聊天应用python/ 中按三套 provider 各配 *-assignment*.ipynb 作业,js-githubmodels/app.jstypescript/chat-completions-app/ 提供 JS/TS 实现;
  • 08 搜索应用:除 python/ 的 assignment/solution notebook 外,scripts/ 提供从获取字幕到生成嵌入(embedding)的完整数据处理流水线(含 prepare_transcripts_ai_show.shtranscript_enrich_embeddings.py 等),并预置 300 万条嵌入索引 embedding_index_3m.json 供查询实验使用;
  • 09 图像生成python/oai-app.pyoai-app-variation.pyaoai-* 版本演示了文生图与图生变体两类 API 用法;
  • 11 函数调用python/ 提供 aoai/oai 两套 assignment notebook,typescript/function-app/js-githubmodels/app.js 覆盖 JS 技术栈;
  • 15 RAG:单一 notebook notebook-rag-vector-databases.ipynb 串起“文本切分→嵌入→向量检索→生成”的完整链路;
  • 19/20/21:分别以 Phi 系列(19-slm/python/*.ipynb)、Mistral 与 Meta(githubmodels-assignment.ipynb)为对象,展示具体模型家族的实操。

概念型(Learn)章节并非没有代码——例如 04 课的 python/ 中为三个 provider 各准备了一份 *-assignment.ipynb,05 课也提供了 python/aoai-assignment.pyjavascript/assignment.js 等练习骨架,建议做“读课文 → 补全作业 → 对照 *-solution.*”三步走。

进阶方向与配套内容

总览页同时给出了课程之外的延伸指引:

  • 对已经掌握基础、需要更高级示例的读者,课程方维护有一套覆盖 Python 与 TypeScript 的生成式 AI 代码示例集(README 中以外部链接指向,本文不展开);
  • “Ready to Deploy / Building a startup”段落面向有部署与商业化诉求的读者,介绍了借助 Azure 额度起步的渠道;
  • 课程团队还维护了 LangChain、Azure / Edge / MCP / Agent、生成式 AI 系列(.NET、Java、JavaScript)、核心学习(ML、数据科学、AI、网络安全、Web 开发、IoT、XR)以及 Copilot 系列等多个姊妹课程,可在对应生态中按需衔接。

获取帮助、反馈与贡献

总览页在仓库内提供了两条求助路径:一是加入官方社区服务器,与同课程学习者、资深开发者交流;二是通过产品开发者论坛反馈使用中遇到的问题。若发现拼写或代码错误,可提交 issue 或 pull request——这也是课程持续演进的主要方式。

仓库还明确致谢了负责 GitHub Actions 与工作流的维护者,以及逐课提升学习与代码体验的贡献者,这侧面说明该课程强依赖“CI 翻译 + 社区 PR”的协作模式。

需要特别说明的是:芬兰语总览页由自动化翻译工具(Co-op Translator)生成,机器翻译可能存在偏差,权威版本应以仓库英文原版 README 为准;涉及配置、API 变更等关键信息时,请以本指南“版本提示”中给出的根目录 README.md00-course-setup/README.md 为最终依据。所有章节课文、代码与测试均存放在本仓库内,按上文目录索引即可逐课深入。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.75 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
docsdocs
暂无描述
Markdown
898
5.82 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
921
1.84 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.8 K
1.02 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
531
596
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.02 K
519
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.36 K
1.46 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
391