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是一个面向初学者的生成式 AI 实战课程仓库,包含 21 节可独立学习的内容:前段讲透大语言模型(LLM)、提示词工程等核心概念,后段带着你在 Python 和 TypeScript 中逐步搭出文本生成、对话、检索、图像生成等真实应用。如果你只想花最少的时间入门生成式 AI 开发,照着本文走一遍即可跑通第一个程序。
学什么、值不值得学
这门课覆盖生成式 AI 应用开发的完整知识链路,概念课与实践课交替出现,每节内容独立成篇,可以从任意一节开始:
| 阶段 | 课程 | 你将掌握 |
|---|---|---|
| 概念入门 | 01–05 课 | 生成式 AI 工作原理、模型选型、负责任使用、提示词工程基础与进阶技巧 |
| 应用构建 | 06–11 课 | 文本生成应用、聊天应用、向量检索应用、图像生成应用、低代码 AI、Function Calling |
| 工程进阶 | 12–21 课 | AI 应用 UX 设计、安全加固、LLMOps 生命周期、RAG 与向量数据库、开源模型、AI Agent、微调、小型语言模型 |
相比零散的教程,它的价值在于:每节实践课都配有可直接运行的完整代码示例(python/目录下的.py脚本和.ipynb笔记本,以及typescript/、js-githubmodels/目录下的 JS/TS 项目),并且统一了环境变量与工具模块,你不需要为每节课重新搭环境。50 多种语言的翻译版位于translations/目录,中文学习者可以直接阅读translations/zh-CN/。
环境准备与一键部署步骤
系统要求
| 项目 | 要求 |
|---|---|
| Python | 3.10 及以上(运行 Python 示例) |
| Git | 最新版 |
| Node.js | 仅运行 TypeScript/JavaScript 示例时需要 |
| VS Code | 可选,推荐 |
| Docker Desktop | 仅容器化方案需要,可跳过 |
克隆仓库
仓库包含 50 多种语言的翻译和大量图片,完整克隆体积较大。推荐用稀疏检出跳过translations和translated_images,只下载课程正文和代码:
git clone --filter=blob:none --sparse https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners cd generative-ai-for-beginners git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'如果下载速度可以接受,也可以直接完整克隆:
git clone https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners cd generative-ai-for-beginners创建虚拟环境并安装依赖
python -m venv .venv source .venv/bin/activate # macOS / Linux # Windows PowerShell 下使用: .\.venv\Scripts\activate pip install -r requirements.txtrequirements.txt中已固定了 openai、python-dotenv、azure-ai-inference 等关键依赖;运行 JS/TS 示例的目录(如06-text-generation-apps/js-githubmodels/)再单独执行npm install即可。
云端替代方案:仓库自带
.devcontainer配置,在有 Docker 的机器上用 VS Code 打开仓库后选择 "Reopen in Container",即可获得与官方 Codespaces 一致的运行环境,省去本地配置。
目录结构与配置约定
课程按"编号目录 = 一节课程"组织,每节内部结构高度一致,这也是它易于维护的原因:
00-course-setup/ # 环境搭建指引(先读这里) 01-introduction-to-genai/ # 每节课:README.md + images/ + 代码目录 06-text-generation-apps/ ├── python/ # Python 示例:oai-app.py、aoai-app.py 等 ├── typescript/ # TS 项目(自带 package.json) └── js-githubmodels/ # JS 项目(自带 package.json) shared/python/ # 各课共用的环境变量与 API 工具模块 tests/ # 工具模块的单元测试 .env.copy # 环境变量模板(仓库根目录)关键约定有两条:
- 代码文件用前缀区分模型服务商:
oai-开头走 OpenAI API,aoai-开头走 Azure OpenAI,githubmodels-开头走 Microsoft Foundry Models。缺哪个服务商的凭据,对应文件运行时会直接报错,互不影响。 - 凭据统一放
.env:所有示例通过python-dotenv读取环境变量,.env已被 gitignore,不要把密钥写进代码。
核心工作流:从配置到跑通第一节课
第一步:配置 .env
仓库根目录提供.env.copy模板,复制后填入对应服务商的凭据即可:
cp .env.copy .env.env中各变量的作用:
| 变量 | 用途 |
|---|---|
OPENAI_API_KEY | OpenAI API 密钥 |
AZURE_OPENAI_API_KEY/AZURE_OPENAI_ENDPOINT | Azure OpenAI 资源密钥与端点 |
AZURE_OPENAI_DEPLOYMENT | 文本生成模型的部署名(建议gpt-4o-mini) |
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | 向量模型的部署名(建议text-embedding-3-small) |
AZURE_INFERENCE_ENDPOINT/AZURE_INFERENCE_CREDENTIAL | Microsoft Foundry Models 端点与密钥 |
HUGGING_FACE_API_KEY | Hugging Face 访问令牌 |
你只需要配置其中一个服务商,其余留空。完整说明见课程文档00-course-setup/03-providers.md,本地部署细则见00-course-setup/02-setup-local.md。
第二步:运行 Python 示例
以第 6 课"文本生成应用"的 OpenAI 版脚本为例,06-text-generation-apps/python/oai-app.py只需 3 行核心逻辑——加载.env、创建客户端、发起一次补全请求:
from dotenv import load_dotenv load_dotenv() # 读取 .env 中的 OPENAI_API_KEY client = OpenAI() response = client.responses.create(model="gpt-4o-mini", input=prompt, store=False) print(response.output_text)运行方式:
python 06-text-generation-apps/python/oai-app.py.ipynb格式的练习则建议用 Jupyter 打开:
jupyter notebook在浏览器中导航到任意笔记本(例如08-building-search-applications/python/oai-solution.ipynb)逐格执行即可。
第三步:运行 JavaScript / TypeScript 示例
以第 6 课的 JS 项目为例,进入目录装依赖后直接运行:
cd 06-text-generation-apps/js-githubmodels npm install node app.jsTypeScript 项目(如06-text-generation-apps/typescript/recipe-app/)在各自目录内执行npm install后按其package.json中的脚本命令运行。
关键配置项速查
课程代码里没有"训练参数",真正影响体验与成本的是模型与服务商的配置:
| 配置项 | 调整方向 | 说明 |
|---|---|---|
| 模型选择 | 日常练习用gpt-4o-mini | 第 2 课专门讲如何按任务选模型,小模型便宜且够快 |
AZURE_OPENAI_API_VERSION | 保持模板默认的稳定版本 | 升级前先确认接口兼容 |
采样参数(temperature等) | 创意类任务调高,抽取/分类类任务调低 | 第 4、5 课的提示词课程中有大量对比示例 |
| 服务商 | 追求省事选 OpenAI;企业合规选 Azure;离线场景选 Foundry Local / Ollama | 见00-course-setup/03-providers.md的对比表 |
| 本地运行 | 不想开云订阅时,用 Foundry Local 获得 OpenAI 兼容端点,示例代码几乎不用改 | 第 19 课有实操 |
结果验证与问题排查
验证学习效果
- 逐课验证:每节课程的
README.md末尾都有练习(assignment)和期望输出说明,对照.ipynb中留空的代码格补全后运行,输出符合预期即通过。 - 单元验证:仓库自带针对共用工具模块的测试,可随时回归:
pip install pytest pytest tests/tests/下覆盖env_utils、api_utils、input_validation三个模块,能帮你确认环境配置是否被正确加载。
高频卡点与解法
| 现象 | 解法 |
|---|---|
401 Unauthorized | 密钥错误或已过期,检查.env中对应 Key 的值 |
ModuleNotFoundError: dotenv | 未装依赖,执行pip install -r requirements.txt |
python: command not found | Python 未加入 PATH,重装后重开终端 |
| Windows 下 pip 构建报错 | 先执行pip install --upgrade pip setuptools wheel |
| Docker 构建提示磁盘不足 | Docker Desktop 设置中增大虚拟磁盘 |
| VS Code 反复提示在容器中重开 | 同时启用了 venv 和容器两种方案,二选一即可 |
| 笔记本找不到内核 | Notebook 菜单 → Kernel → 选择 Python 3 |
| 429 限流错误 | 请求过于频繁,降低调用频率或升级服务商配额 |
性能与效率优化建议
- 大仓库提速:如前文稀疏检出命令,跳过翻译目录后下载量减少大半;本地只需
docs/、各课程目录和shared/。 - 降本:把
.env中的模型统一换成小模型(如gpt-4o-mini)完成练习,成本比旗舰模型低一个量级;需要旗舰能力时再切回。 - 离线零成本:安装 Foundry Local 或 Ollama 后,用本地 OpenAI 兼容端点跑大部分示例,完全不需要云订阅。
- 多环境隔离:用 venv 或 Conda 把课程环境锁死在 3.10+,避免与系统全局 Python 冲突,重装依赖时直接重建虚拟环境最快。
- 容器化保一致:团队协作或多机切换时,用
.devcontainer配置构建容器环境,杜绝"我这能跑"的问题。
源码导航:想深挖看哪里
| 路径 | 内容 |
|---|---|
00-course-setup/ | 环境搭建三篇指引(云、本地、服务商配置),遇到问题先翻这里 |
shared/python/env_utils.py | 环境变量安全读取与校验的核心实现(get_required_env、validate_env_vars) |
shared/python/api_utils.py | 各课复用的 API 调用工具,理解它就能看懂所有示例的公共逻辑 |
shared/python/input_validation.py | 输入校验逻辑 |
tests/ | 工具模块的 pytest 用例,可当"如何测试配置"的范例 |
docs/_sidebar.md | 课程站点侧边栏导航 |
15-rag-and-vector-databases/ | RAG 与向量数据库的完整实现(notebook-rag-vector-databases.ipynb与data/下的语料) |
18-fine-tuning/ | 微调专题,python/下有数据文件与练习笔记本 |
写在最后
generative-ai-for-beginners 把"学概念"和"写代码"压缩在同一个仓库里:21 节课从 LLM 原理讲到 AI Agent 与微调,每节都有能直接运行的 Python / TypeScript 示例和配套环境模板。你现在只需三件事——克隆仓库、填好.env中任一服务商的密钥、运行06-text-generation-apps/python/oai-app.py。看到模型返回的第一段生成文本时,你的生成式 AI 开发之路就已经跑起来了。
【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考