[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72201":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":15,"lastSyncTime":30,"discoverSource":31},72201,"AI-Guide-and-Demos-zh_CN","Hoper-J\u002FAI-Guide-and-Demos-zh_CN","Hoper-J","这是一份入门AI\u002FLLM大模型的逐步指南，包含教程和演示代码，带你从API走进本地大模型部署和微调，代码文件会提供Kaggle或Colab在线版本，即便没有显卡也可以进行学习。项目中还开设了一个小型的代码游乐场🎡，你可以尝试在里面实验一些有意思的AI脚本。同时，包含李宏毅 (HUNG-YI LEE）2024生成式人工智能导论课程的完整中文镜像作业。","",null,"Python",4160,441,18,2,0,29,53,98,87,29.94,"MIT License",false,"master",true,[],"2026-06-12 02:03:00","# 这是一个中文的 AI\u002FLLM 大模型入门项目\n\n> 回顾过去的学习历程，吴恩达和李宏毅老师的视频为我的深度学习之路提供了极大的帮助。他们幽默风趣的讲解方式和简单直观的阐述，让枯燥的理论学习变得生动有趣。\n>\n> 然而，在实践的时候，许多学弟学妹们最初会烦恼于怎么去获取国外大模型的 API ，尽管最终都能找到解决方法，但第一次的畏难情绪总是会拖延学习进度，逐渐转变为“看视频就够了”的状态。我时常在评论区看到类似的讨论，于是决定利用闲暇时间帮学子们跨过这道门槛，这也是项目的初衷。\n>\n> 本项目不会提供🪜科学上网的教程，也不会依赖平台自定义的接口，而是使用更兼容的 OpenAI SDK，帮助大家学习更通用的知识。\n>\n> 项目将从简单的 API 调用入手，带你逐步深入大模型的世界。在此过程中，你将掌握 **AI 视频摘要**、**LLM 微调**和 **AI 图像生成**等技能。\n>\n> 强烈建议观看李宏毅老师的课程「生成式人工智能导论」同步学习：[课程相关链接快速访问](#快速访问)\n>\n> 现在，项目还开设了[🎡CodePlayground](.\u002FCodePlayground)，你可以按照文档配置好环境，使用一行代码运行脚本，体验 AI 的魅力。\n>\n> 📑论文随笔位于 [PaperNotes](.\u002FPaperNotes)，将逐步上传大模型相关的基础论文。\n>\n> 🚀 [基础镜像](#-docker-快速部署-)已经准备好，如果你还没有配置好属于自己的深度学习环境，不妨尝试一下 Docker。\n>\n> 祝你旅途愉快！ \n>\n\n## 目录\n\n- **Tag 说明**:\n  - `---`: 基础知识，根据需要进行观看，也可以暂时跳过。其中的代码文件结果都会在文章中示出，但仍建议动手运行代码。可能会有显存要求。\n  - `API`: 文章仅使用大模型的 API，不受设备限制，无 GPU 也可运行。\n    - Kaggle 目前不允许使用 Gradio，故部分交互文件不提供相关链接（这一类文件可以本地运行）。\n  - `LLM`: 大型语言模型相关的实践，代码文件可能有显存要求。\n  - `SD`: Stable Diffusion，文生图相关的实践，代码文件有显存要求。\n- **Online 在线链接说明**：\n  - 与 Code 内容一致，如果提供了 Kaggle 和 Colab，则三选一运行。\n    - 前置文章《[Kaggle：免费 GPU 使用指南，Colab 的理想替代方案](.\u002FGuide\u002FKaggle：免费%20GPU%20使用指南，Colab%20的理想替代方案.md)》\n  - 如果仅提供了 Colab，说明不受显卡限制可以本地运行，此时不能科学上网的同学可以下载 `File` 的代码，学习效果一致。\n  - 运行时请不要忘记打开对应在线平台的 GPU。\n    - Kaggle：`Setting` -> `Accelerator` -> `选择 GPU`。\n    - Colab：`代码执行程序` -> `更改运行时类型` -> `选择 GPU`。\n\n### ✨ New\n\n> 好久不见，更新一篇 MCP 相关的中间文章，或许会对你有所帮助。\n>\n> 因为还没想好模块标题，所以暂时置顶。\n>\n> 目前项目将在叙述上全面使用 uv 进行环境的配置，这是一次并不“友好”的改动，但考虑到其目前已经被广泛应用，「长痛不如短痛」，索性从本项目开始“折腾”，希望能让你熟悉 uv 的使用。\n>\n> Colab 链接因为原账户没绑定恢复邮箱，被暂停了外部访问且无法恢复（引以为戒），后续我会抽空迁移至新账户上。\n\n- [深入 FastMCP 源码：认识 tool()、resource() 和 prompt() 装饰器](.\u002FGuide\u002F深入%20FastMCP%20源码：认识%20tool()、resource()%20和%20prompt()%20装饰器.md)\n- [Claude Code 使用指南：安装与进阶技巧](.\u002FGuide\u002FAgents\u002FClaude%20Code%20使用指南：安装与进阶技巧.md)\n  - [Claude Code 必备的用量监控工具：claude-monitor 实践指南](.\u002FGuide\u002FAgents\u002FClaude%20Code%20必备的用量监控工具：claude-monitor%20实践指南.md)\n  - [【2026-04-19】聊聊 Claude Code v2.1.111：Opus 4.7、Auto 模式开放、xhigh 与 \u002Fultrareview](.\u002FGuide\u002FAgents\u002F聊聊%20Claude%20Code%20v2.1.111：Opus%204.7，Auto%20模式开放，新的思考等级%20xhigh，以及“限免3次”的%20ultrareview.md)\n- [【2025-09-02｜旧文留档】Cursor 与 Claude Code Max 5x 订阅体验记录](.\u002FGuide\u002FAgents\u002F$125%20订阅撬动%20$2000%20API%20额度：这是我最终选择%20Claude%20Code%20Max%205x%20的理由.md)\n- [【2026-04-16｜持续更新】Claude \u002F GPT 订阅建议与反代避坑](.\u002FGuide\u002FAgents\u002FClaude%20和%20GPT%20订阅建议与反代避坑.md)\n\n\n### DeepSeek 使用手册\n\n> 这部分内容将直接由之前的文章（[导论部分](#导论)）重组得来，故存在重复，此模块将暂时专注于 DeepSeek API 的使用，是 OpenAI SDK 相关的通用知识，也可以作为导论 API 部分的拓展。\n>\n> [DeepSeek API【共享】](https:\u002F\u002Fgithub.com\u002FHoper-J\u002FAI-Guide-and-Demos-zh_CN\u002Fdiscussions\u002F6) \n\n| Guide                                                        | Tag  | Describe                                                     | File                                       | Online                                                       |\n| ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | ------------------------------------------ | ------------------------------------------------------------ |\n| [DeepSeek API 的获取与对话示例](.\u002FGuide\u002FDeepSeek%20API%20的获取与对话示例.md) | API  | 获取 DeepSeek API 的 N 种方法及其单轮对话样例：\u003Cbr \u002F>- DeepSeek 官方\u003Cbr \u002F>- 硅基流动\u003Cbr \u002F>- 阿里云百炼\u003Cbr \u002F>- 百度智能云\u003Cbr \u002F>- 字节火山引擎 | [Code](.\u002FDemos\u002Fdeepseek-api-guide-1.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002Fdeepseek-api-guide-1)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1rdBEJT_oOxaScm3_10epoHX_TdbSm1Ty?usp=sharing) |\n| [DeepSeek 联网满血版使用指南](.\u002FGuide\u002FDeepSeek%20联网满血版使用指南.md) | API  | 通过 API 绕开 DeepSeek 网页对话的卡顿，提供两种配置方案：\u003Cbr \u002F>- Cherry Studio【推荐】\u003Cbr \u002F>- Chatbox |                                            |                                                              |\n| [DeepSeek API 输出解析 - OpenAI SDK](.\u002FGuide\u002FDeepSeek%20API%20输出解析%20-%20OpenAI%20SDK.md) | API  | 关于 OpenAI SDK 的通用知识，以 DeepSeek 聊天\u002F推理模型为例进行演示：\u003Cbr \u002F>- 认识 API 的返回字段\u003Cbr \u002F>- 打印模型回复和每次对话的用量信息\u003Cbr \u002F> | [Code](.\u002FDemos\u002Fdeepseek-api-guide-2.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002Fdeepseek-api-guide-2)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1WT0jpeIzWewoN5cT12Uwi92d5_tNff2J?usp=sharing) |\n| └─[流式输出解析](.\u002FGuide\u002FDeepSeek%20API%20流式输出解析%20-%20OpenAI%20SDK.md) | API  | API 解析 - 流式输出篇\u003Cbr \u002F>- 认识 chunk 的结构\u003Cbr \u002F>- 处理各平台聊天\u002F推理模型的流式输出 | [Code](.\u002FDemos\u002Fdeepseek-api-guide-3.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002Fdeepseek-api-guide-3)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Hfm7qU75GSvU8cO6RL108ZcmwaugXemo?usp=sharing) |\n| [DeepSeek API 多轮对话 - OpenAI SDK](.\u002FGuide\u002FDeepSeek%20API%20多轮对话%20-%20OpenAI%20SDK.md) | API  | DeepSeek API 的多轮对话示例 - 非流式输出篇：\u003Cbr \u002F>- 认识单轮对话和多轮对话时 `messages` 的差异\u003Cbr \u002F>- 尝试封装对话类 | [Code](.\u002FDemos\u002Fdeepseek-api-guide-4.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002Fdeepseek-api-guide-4)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F11REpPevN4bSL8yeJzQs7LAiV2cm9lUmh?usp=sharing) |\n| └─[统一模型对话逻辑与流式输出](.\u002FGuide\u002FDeepSeek%20API%20统一模型对话逻辑与流式输出.md) | API  | - 统一聊天模型和推理模型对话类\u003Cbr \u002F>- 引入流式输出处理\u003Cbr \u002F>\u003Cbr \u002F>【代码文件】\u003Cbr \u002F>- 使用 `APIConfigManager` 进行各平台配置，不再分散逻辑 | [Code](.\u002FDemos\u002Fdeepseek-api-guide-5.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002Fdeepseek-api-guide-5)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F14u47q-lGfH7l1ehkBuTU0kgIsNarap9J?usp=sharing) |\n\n---\n\n### 导论\n\n\n| Guide                                                        | Tag       | Describe                                                     | File                                                         | Online |\n| ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ---- |\n| [00. 大模型 API 获取步骤](.\u002FGuide\u002F00.%20大模型%20API%20获取步骤.md) | API       | 带你一步步的获取 API：\u003Cbr \u002F>- 阿里（通义千问）。\u003Cbr \u002F>- 智谱。\u003Cbr \u002F>- DeepSeek。 |                                                              |      |\n| [01. 初识 LLM API：环境配置与多轮对话演示](.\u002FGuide\u002F01.%20初识%20LLM%20API：环境配置与多轮对话演示.md) | API       | 这是一段入门的配置和演示，对话代码修改自开发文档。       | [Code](.\u002FDemos\u002F01.%20LLM%20API%20使用演示——从环境配置到多轮对话.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F01-llm-api) \u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1i3Oemsu-mdHgB-uhhJBAgzjnr0woVeiW?usp=sharing) |\n| [02. 简单入门：通过 API 与 Gradio 构建 AI 应用](.\u002FGuide\u002F02.%20简单入门：通过%20API%20与%20Gradio%20构建%20AI%20应用.md) | API       | 指导如何去使用 Gradio 搭建一个简单的 AI 应用。               | [Code](.\u002FDemos\u002F02.%20使用%20API%20快速搭建你的第一个%20AI%20应用.ipynb) | [Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1nz89ATcl5l900bso6-xErEo1laT-rmPE?usp=share_link) |\n| [03. 进阶指南：自定义 Prompt 提升大模型解题能力](.\u002FGuide\u002F03.%20进阶指南：自定义%20Prompt%20提升大模型解题能力.md) | API       | 你将学习自定义一个 Prompt 来提升大模型解数学题的能力，其中一样会提供 Gradio 和非 Gradio 两个版本，并展示代码细节。 | [Code](.\u002FDemos\u002F03.%20自定义%20Prompt%20提升大模型解题能力——Gradio%20与%20ipywidgets%20版.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F03-prompt-ipywidgets)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1c5WH62n8P1fKWaVrqXRV5pfRWKqV_3Zs?usp=sharing) |\n| [04. 认识 LoRA：从线性层到注意力机制](.\u002FGuide\u002F04.%20认识%20LoRA：从线性层到注意力机制.md) | ---       | 在正式进入实践之前，你需要知道 LoRA 的基础概念，这篇文章会带你从线性层的 LoRA 实现到注意力机制。 |                                                              |      |\n| [05. 理解 Hugging Face 的 `AutoModel` 系列：不同任务的自动模型加载类](.\u002FGuide\u002F05.%20理解%20Hugging%20Face%20的%20%60AutoModel%60%20系列：不同任务的自动模型加载类.md) | ---       | 我们即将用到的模块是 Hugging Face 中的 AutoModel，这篇文章一样是一个前置知识，你将了解到如何查看模型的参数和配置信息，以及如何使用 `inspect` 库进一步查看对应的源码。 | [Code](.\u002FDemos\u002F04.%20Hugging%20Face%20AutoModel%20示例合集.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F04-hugging-face-automodel)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1gLTXcvG-tEDOqnR7qM-3-S812qnBUGlh?usp=sharing) |\n| [06. 开始实践：部署你的第一个语言模型](.\u002FGuide\u002F06.%20开始实践：部署你的第一个语言模型.md) | LLM       | 实现非常入门的语言模型部署，项目到现在为止都不会有 GPU 的硬性要求，你可以继续学习。 | [Code](.\u002FDemos\u002F05.%20尝试部署你的第一个语言模型.ipynb)\u003Cbr \u002F>[app_fastapi.py](.\u002FDemos\u002Fapp_fastapi.py)\u003Cbr \u002F> [app_flask.py](.\u002FDemos\u002Fapp_flask.py) |      |\n| [07. 探究模型参数与显存的关系以及不同精度造成的影响](.\u002FGuide\u002F07.%20探究模型参数与显存的关系以及不同精度造成的影响.md) | ---       | 了解模型参数和显存的对应关系并掌握不同精度的导入方式会使得你对模型的选择更加称手。 |                                                              |      |\n| [08. 尝试微调 LLM：让它会写唐诗](.\u002FGuide\u002F08.%20尝试微调%20LLM：让它会写唐诗.md) | LLM       | 这篇文章与 [03. 进阶指南：自定义 Prompt 提升大模型解题能力](.\u002FGuide\u002F03.%20进阶指南：自定义%20Prompt%20提升大模型解题能力.md)一样，本质上是专注于“用”而非“写”，你可以像之前一样，对整体的流程有了一个了解，尝试调整超参数部分来查看对微调的影响。 | [Code](.\u002FDemos\u002F06.%20尝试微调%20LLM：让它会写唐诗.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F06-llm)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1u2xgN5gWnZCwPlH2R-0gz_CpI9gzLdiy?usp=sharing) |\n| [09. 深入理解 Beam Search：原理, 示例与代码实现](.\u002FGuide\u002F09.%20深入理解%20Beam%20Search：原理%2C%20示例与代码实现.md) | ---       | 从示例到代码演示，讲解 Beam Search 的数学原理，这应该能解决一些之前阅读的困惑，最终提供一个简单的使用 Hugging Face Transformers 库的示例（如果跳过了之前的文章的话可以尝试它）。 | [Code](.\u002FDemos\u002F07.%20Beam%20Search%20示例代码.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F07-beam-search)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1apYBAQ6HNlo4xJDBT0RtUCgmNo_mQVXF?usp=sharing) |\n| [10. Top-K vs Top-P：生成式模型中的采样策略与 Temperature 的影响 ](.\u002FGuide\u002F10.%20Top-K%20vs%20Top-P：生成式模型中的采样策略与%20Temperature%20的影响.md) | ---       | 进一步向你展示其他的生成策略。                               | [Code](.\u002FDemos\u002F08.%20Top-K%20vs%20Top-P%20采样与%20Temperature%20示例代码.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F08-top-k-vs-top-p-temperature)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1XrmSwQmDPg7v44ZMi4P0glNKiqjzZWbo?usp=sharing) |\n| [11. DPO 微调示例：根据人类偏好优化 LLM 大语言模型](.\u002FGuide\u002F11.%20DPO%20微调示例：根据人类偏好优化%20LLM%20大语言模型.md) | LLM       | 一个使用 DPO 微调的示例。                                    | [Code](.\u002FDemos\u002F09.%20DPO%20微调：根据偏好引导%20LLM%20的输出.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F09-dpo-llm)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1TxL9MrIXDY3HjWgQ4B3IcEeMj-lsbNAZ?usp=sharing) |\n| [12. Inseq 特征归因：可视化解释 LLM 的输出](.\u002FGuide\u002F12.%20Inseq%20特征归因：可视化解释%20LLM%20的输出.md) | LLM       | 翻译和文本生成（填空）任务的可视化示例。                     | [Code](.\u002FDemos\u002F10.%20Inseq：可视化解释%20LLM%20的输出.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F10-inseq-llm)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1bWqGtRaG3aO7Vo149wIPHaz_XKnbJqlE?usp=sharing) |\n| [13. 了解人工智能可能存在的偏见](.\u002FGuide\u002F13.%20了解人工智能可能存在的偏见.md) | LLM       | 不需要理解代码，可以当作休闲时的一次有趣探索。               | [Code](.\u002FDemos\u002F11.%20了解人工智能可能存在的偏见.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F11-bias)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F10nHzBO9uiQWdGLnp551n_MYjnK3n-R0D?usp=sharing) |\n| [14. PEFT：在大模型中快速应用 LoRA](.\u002FGuide\u002F14.%20PEFT：在大模型中快速应用%20LoRA.md) | ---       | 学习如何在导入模型后增加 LoRA 层。                         | [Code](.\u002FDemos\u002F12.%20应用%20LoRA%20到大模型的简单示例（PEFT）.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F12-lora-peft)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1-gWfn9xslSq6WlYDS9cinnyDEhBhjte4?usp=sharing) |\n| [15. 用 API 实现 AI 视频摘要：动手制作属于你的 AI 视频助手](.\u002FGuide\u002F15.%20用%20API%20实现%20AI%20视频摘要：动手制作属于你的%20AI%20视频助手.md) | API & LLM | 你将了解到常见的 AI 视频总结小助手背后的原理，并动手实现 AI 视频摘要。 | [Code - 完整版](.\u002FDemos\u002F13a.%20轻松开始你的第一次%20AI%20视频总结（API%20版）%20-%20完整版.ipynb)\u003Cbr \u002F>[Code - 精简版](.\u002FDemos\u002F13b.%20轻松开始你的第一次%20AI%20视频总结（API%20版）-%20精简版.ipynb)\u003Cbr \u002F>[🎡脚本]( .\u002FCodePlayground\u002Fsummarizer.py) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F13b-ai-api)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1yh2J4_Cy45fqvydH34LLtDpw10kuWutO?usp=sharing) |\n| [16. 用 LoRA 微调 Stable Diffusion：拆开炼丹炉，动手实现你的第一次 AI 绘画](.\u002FGuide\u002F16.%20用%20LoRA%20微调%20Stable%20Diffusion：拆开炼丹炉，动手实现你的第一次%20AI%20绘画.md) | SD        | 使用 LoRA 进行文生图模型的微调，现在你也能够为别人提供属于你的 LoRA 文件。 | [Code](.\u002FDemos\u002F14a.%20尝试使用%20LoRA%20微调%20Stable%20Diffusion%20模型.ipynb)\u003Cbr \u002F>[Code - 精简版](.\u002FDemos\u002F14b.%20尝试使用%20LoRA%20微调%20Stable%20Diffusion%20模型%20-%20精简版.ipynb)\u003Cbr \u002F>[🎡 脚本](.\u002FCodePlayground\u002Fsd_lora.py) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F14b-lora-stable-diffusion)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1idmnaQZwRhjUPw7ToEXlVo82Mihfl_aA?usp=sharing) |\n| [17. 浅谈 RTN 模型量化：非对称 vs 对称.md](.\u002FGuide\u002F17.%20浅谈%20RTN%20模型量化：非对称%20vs%20对称.md) | ---       | 更进一步地了解 RTN 模型量化的行为，文章以 INT8 为例进行讲解。 | [Code](.\u002FDemos\u002F15.%20探究非对称量化和对称量化%20-%20INT8.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F15-int8)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1aFlUL8jQZEAO2ZsMXJxbUqlIXGb0m0hC?usp=sharing) |\n| [18. 模型量化技术概述及 GGUF & GGML 文件格式解析](.\u002FGuide\u002F18.%20模型量化技术概述及%20GGUF%20%26%20GGML%20文件格式解析.md) | ---       | 这是一个概述文章，或许可以解决一些你在使用 GGUF\u002FGGML 时的疑惑。 |                                                              |      |\n| [19a. 从加载到对话：使用 Transformers 本地运行量化 LLM 大模型（GPTQ & AWQ）](.\u002FGuide\u002F19a.%20从加载到对话：使用%20Transformers%20本地运行量化%20LLM%20大模型（GPTQ%20%26%20AWQ）.md)\u003Cbr \u002F>[19b. 从加载到对话：使用 Llama-cpp-python 本地运行量化 LLM 大模型（GGUF）](.\u002FGuide\u002F19b.%20从加载到对话：使用%20Llama-cpp-python%20本地运行量化%20LLM%20大模型（GGUF）.md) | LLM       | 你将在自己的电脑上部署一个拥有 70 亿（7B）参数的量化模型，注意，这篇文章没有显卡要求。\u003Cbr \u002F>[19 a](.\u002FGuide\u002F19a.%20从加载到对话：使用%20Transformers%20本地运行量化%20LLM%20大模型（GPTQ%20%26%20AWQ）.md) 使用 Transformers，涉及 GPTQ 和 AWQ 格式的模型加载。\u003Cbr \u002F>[19 b](.\u002FGuide\u002F19b.%20从加载到对话：使用%20Llama-cpp-python%20本地运行量化%20LLM%20大模型（GGUF）.md) 使用 Llama-cpp-python，涉及 GGUF 格式的模型加载。\u003Cbr \u002F>另外，你还将完成本地的大模型对话交互功能。 | [Code - a](.\u002FDemos\u002F16a.%20使用%20Transformers%20加载量化后的%20LLM%20大模型（GPTQ%20%26%20AWQ）.ipynb)\u003Cbr \u002F>[Code - b](.\u002FDemos\u002F16b.%20使用%20Llama-cpp-python%20加载量化后的%20LLM%20大模型（GGUF）.ipynb)\u003Cbr \u002F>[🎡脚本]( .\u002FCodePlayground\u002Fchat.py) | [Kaggle - a](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F16a-transformers-llm-gptq)\u003Cbr \u002F>[Colab - a](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1cmIDjHriW8aQ5mIsV6ZeTqdnqYe6PoOv?usp=sharing)\u003Cbr \u002F>[Kaggle - b](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F16b-llama-cpp-python-llm-gguf)\u003Cbr \u002F>[Colab - b](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1AhgC0qDaqWBXAI9eSbwTStGgvgFfLOpf?usp=sharing) |\n| [20. RAG 入门实践：从文档拆分到向量数据库与问答构建](.\u002FGuide\u002F20.%20RAG%20入门实践：从文档拆分到向量数据库与问答构建.md) | LLM       | RAG 的相关实践。\u003Cbr \u002F>了解文本分块的递归工作原理。           | [Code](.\u002FDemos\u002F17.%20使用%20LangChain%20实现%20RAG.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F17-langchain-rag)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1260befv1nLiEzV7SvzPPb0n-u3IXlp6E?usp=sharing) |\n| [21. BPE vs WordPiece：理解 Tokenizer 的工作原理与子词分割方法](.\u002FGuide\u002F21.%20BPE%20vs%20WordPiece：理解%20Tokenizer%20的工作原理与子词分割方法.md) | ---       | Tokenizer 的基本操作。\u003Cbr \u002F>了解常见的子词分割方法：BPE 和 WordPiece。\u003Cbr \u002F>了解注意力掩码（Attention Mask）和词元类型 ID （Token Type IDs）。 | [Code](.\u002FDemos\u002F19.%20BPE%20vs%20WordPiece：理解%20Tokenizer%20的工作原理与子词分割方法.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F19-bpe-vs-wordpiece-tokenizer)\u003Cbr \u002F>[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1J6QN0QbuoWBDIIrBe-TJ6Hi5rnzTSovM?usp=sharing) |\n| [22a. 微调 LLM：实现抽取式问答](.\u002FGuide\u002F22a.%20微调%20LLM：实现抽取式问答.md)\u003Cbr \u002F>[22b. 作业 - Bert 微调抽取式问答](.\u002FGuide\u002F22b.%20作业%20-%20Bert%20微调抽取式问答.md) | LLM | 微调预训练模型以实现下游任务：抽取式问答。\u003Cbr \u002F>可以先尝试作业 [22b](.\u002FGuide\u002F22b.%20作业%20-%20Bert%20微调抽取式问答.md) 再阅读 [22a](.\u002FGuide\u002F22a.%20微调%20LLM：实现抽取式问答.md)，但并不强制要求。 | [BERT 论文精读](.\u002FPaperNotes\u002FBERT%20论文精读.md)\u003Cbr \u002F>[Code - 完整](.\u002FDemos\u002F21a.%20微调%20LLM：实现抽取式问答.ipynb)\u003Cbr \u002F>[Code - 作业](.\u002FDemos\u002F21b.%20Bert%20微调抽取式问答任务%20-%20作业样例代码.ipynb) | [Kaggle - 完整](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F21a-llm)\u003Cbr \u002F>[Colab - 完整](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1jgdoO7fKk7Tsn2yi28ytsDQ8VXdthnIm?usp=sharing)\u003Cbr \u002F>[Kaggle - 作业](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F21-bert)\u003Cbr \u002F>[Colab - 作业](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1zHR2Cztmo49j3yrdT3GgkzNcAcHd7M0M?usp=sharing) |\n\n> [!TIP]\n>\n> 如果你更喜欢拉取仓库到本地进行阅读 `.md`，那么在出现公式报错的时候，请使用 `Ctrl+F` 或者 `Command+F`，搜索`\\\\_`并全部替换为`\\_`。\n\n### 拓展阅读\n\n| Guide                                                        | Describe                                                     |\n| ------------------------------------------------------------ | ------------------------------------------------------------ |\n| [a. 使用 HFD 加快 Hugging Face 模型和数据集的下载](.\u002FGuide\u002Fa.%20使用%20HFD%20加快%20Hugging%20Face%20模型和数据集的下载.md) | 如果你觉得模型下载实在是太慢了，可以参考这篇文章进行配置。\u003Cbr \u002F>遇到代理相关的 443 错误，也可以试着查看这篇文章。 |\n| [b. 命令行基础指令速查（Linux & Mac适用）](.\u002FGuide\u002Fb.%20命令行基础指令速查（Linux%20%26%20Mac适用）.md) | 一份命令行的指令速查，基本包含当前仓库的涉及的所有指令，在感到疑惑时去查看它。 |\n| [c. 一些问题的解决方法](.\u002FGuide\u002Fc.%20一些问题的解决方法.md)  | 这里会解决一些项目运行过程中可能遇到的问题。\u003Cbr \u002F>- 如何拉取远程仓库覆盖本地的一切修改？\u003Cbr \u002F>- 怎么查看和删除 Hugging Face 下载的文件，怎么修改保存路径？\u003Cbr \u002F>- 在线平台 Kaggle\u002FColab 怎么开启 GPU？ |\n| [d. 如何加载 GGUF 模型（分片 & Shared & Split & 00001-of-0000...的解决方法）](.\u002FGuide\u002Fd.%20如何加载%20GGUF%20模型（分片%20%26%20Shared%20%26%20Split%20%26%2000001-of-0000...的解决方法）.md) | - 了解 Transformers 关于 GGUF 的新特性。\u003Cbr \u002F>- 使用 Transformers\u002FLlama-cpp-python\u002FOllama 加载 GGUF 格式的模型文件。\u003Cbr \u002F>- 学会合并分片的 GGUF 文件。\u003Cbr \u002F>- 解决 LLama-cpp-python 无法 offload 的问题。 |\n| [e. 数据增强：torchvision.transforms 常用方法解析](.\u002FGuide\u002Fe.%20数据增强：torchvision.transforms%20常用方法解析.md) | - 了解常用的图像数据增强方法。\u003Cbr \u002F>[Code](.\u002FDemos\u002F18.%20数据增强：torchvision.transforms%20常用方法演示.ipynb) \\| [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F18-torchvision-transforms) \\| [Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1cOy8LFMUVfDaBe7iV-YWxcZ1W2bFgg4w?usp=sharing) |\n| [f. 交叉熵损失函数 nn.CrossEntropyLoss() 详解和要点提醒（PyTorch）](.\u002FGuide\u002Ff.%20交叉熵损失函数%20nn.CrossEntropyLoss()%20详解和要点提醒（PyTorch）.md) | - 了解交叉熵损失的数学原理及 PyTorch 实现。\u003Cbr \u002F>- 了解初次使用时需要注意的地方。 |\n| [g. 嵌入层 nn.Embedding() 详解和要点提醒（PyTorch）](.\u002FGuide\u002Fg.%20嵌入层%20nn.Embedding()%20详解和要点提醒（PyTorch）.md) | - 了解嵌入层和词嵌入的概念。\u003Cbr \u002F>- 使用预训练模型可视化 Embedding。\u003Cbr \u002F>[Code](.\u002FDemos\u002F20.%20嵌入层%20nn.Embedding()%20代码示例.ipynb) \\| [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F20-nn-embedding) \\| [Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1BLgmxasxOD1HQGrI0L1sPlYG40iba9SY?usp=sharing) |\n| [h. 使用 Docker 快速配置深度学习环境（Linux）](.\u002FGuide\u002F使用%20Docker%20快速配置深度学习环境（Linux）.md)\u003Cbr \u002F>[h. Docker 基础命令介绍和常见报错解决](.\u002FGuide\u002FDocker%20基础命令介绍和常见报错解决.md) | - 使用两行命令配置好深度学习环境\u003Cbr \u002F>- Docker 基础命令介绍\u003Cbr \u002F>- 解决使用时的三个常见报错 |\n| [i. Epoch、Batch 和 Step 之间的关系以及梯度累积](.\u002FGuide\u002FEpoch、Batch%20和%20Step%20之间的关系以及梯度累积.md) | 基础文章，可以在任意时候进行阅读\u003Cbr \u002F>- Epoch、Batch、Step 三者之间的关系\u003Cbr \u002F>- SGD、BGD、MBGD 方法的区别\u003Cbr \u002F>- 梯度累积的使用 |\n\n---\n\n**文件夹解释：**\n\n- **Demos**\n\n  所有的代码文件都将存放在其中。\n\n  - **data**\n\n    存放代码中可能用到的小型数据，不需要关注这个文件夹。\n\n- **GenAI_PDF**\n\n  这里是【生成式人工智能导论】课程的作业PDF文件，我上传了它们，因为其最初保存在 Google Drive 中。\n\n- **Guide**\n\n  所有的指导文件都将存放在其中。\n\n  - **assets**\n\n    这里是 .md 文件用到的图片，不需要关注这个文件夹。\n  \n- **PaperNotes**\n\n  论文随笔。\n\n  - [**README.md**](.\u002FPaperNotes)\n    - 目录索引。\n  - [对比学习论文随笔 1：正负样本](.\u002FPaperNotes\u002F对比学习论文随笔%201：正负样本.md)\n    - 涉及使用正负样本思想且优化目标一致的基础论文\n  - [Transformer 论文精读](.\u002FPaperNotes\u002FTransformer%20论文精读.md)\n    - 从零开始复现 Transformer（PyTorch），并对各组件进行解读。\n    - [Code](.\u002FPaperNotes\u002FDemos\u002F动手实现%20Transformer.ipynb) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002Ftransformer) | [Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1BtYPNjEHw3dudw5KKFe9dBEsUsgkm1Vt?usp=sharing)\n  - [BERT 论文精读](.\u002FPaperNotes\u002FBERT%20论文精读.md)\n    - 预训练任务 MLM 和 NSP\n    - BERT 模型的输入和输出，以及一些与 Transformer 不同的地方\n    - 以 $\\text{BERT}_\\text{BASE}$ 为例，计算模型的总参数量\n    - [作业 - BERT 微调抽取式问答](.\u002FGuide\u002F22b.%20作业%20-%20Bert%20微调抽取式问答.md)\n  - [GPT 论文精读](.\u002FPaperNotes\u002FGPT%20论文精读.md)\n    - GPT 数字系列论文：[GPT-1](.\u002FPaperNotes\u002FGPT%20论文精读.md#gpt-1) \u002F [GPT-2](.\u002FPaperNotes\u002FGPT%20论文精读.md#gpt-2) \u002F [GPT-3](.\u002FPaperNotes\u002FGPT%20论文精读.md#gpt-3) \u002F [GPT-4](.\u002FPaperNotes\u002FGPT%20论文精读.md#gpt-4)\n\n- [**CodePlayground**](.\u002FCodePlayground)\n\n  - 一些有趣的代码脚本示例（Toy 版）。\n\n    - **README.md**\n\n      - 你需要先阅读这份说明。\n    \n    - **summarizer.py** [🎡脚本](.\u002FCodePlayground\u002Fsummarizer.py)\n    \n      AI 视频\u002F音频\u002F字幕摘要。\n      \n    - **sd_lora.py** [🎡 脚本](.\u002FCodePlayground\u002Fsd_lora.py)\n    \n      AI 绘画。\n      \n    - **chat.py** [🎡脚本]( .\u002FCodePlayground\u002Fchat.py)\n    \n      AI 对话。\n\n## 快速访问\n\n> **生成式人工智能导论学习资源**\n>\n> - [课程主页](https:\u002F\u002Fspeech.ee.ntu.edu.tw\u002F~hylee\u002Fgenai\u002F2024-spring.php)\n>\n> - 官方 | 授权视频: [YouTube](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PLJV_el3uVTsPz6CTopeRp2L2t4aL_KgiI) | [Bilibili](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1BJ4m1e7g8\u002F?p=1)\n\n中文镜像版的制作与分享已经获得李宏毅老师的授权，感谢老师对于知识的无私分享！\n\n- HW1，2不涉及代码相关知识，你可以通过访问对应的作业PDF来了解其中的内容：[HW1](.\u002FGenAI_PDF\u002FHW1.pdf) | [HW2](.\u002FGenAI_PDF\u002FHW2.pdf)。\n- HW3: [引导文章](.\u002FGuide\u002F02.%20简单入门：通过%20API%20与%20Gradio%20构建%20AI%20应用.md) | [代码中文镜像](.\u002FDemos\u002F02.%20使用%20API%20快速搭建你的第一个%20AI%20应用.ipynb) | [中文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1nz89ATcl5l900bso6-xErEo1laT-rmPE?usp=share_link) | [英文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F15jh4v_TBPsTyIBhi0Fz46gEkjvhzGaBR?usp=sharing) | [作业PDF](.\u002FGenAI_PDF\u002FHW3.pdf)\n- HW4: [引导文章](.\u002FGuide\u002F03.%20进阶指南：自定义%20Prompt%20提升大模型解题能力.md) | [代码中文镜像](.\u002FDemos\u002F03.%20自定义%20Prompt%20提升大模型解题能力——Gradio%20与%20ipywidgets%20版.ipynb) | [中文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1c5WH62n8P1fKWaVrqXRV5pfRWKqV_3Zs?usp=sharing) | [英文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F16JzVN_Mu4mJfyHQpQEuDx1q6jI-cAnEl?hl=zh-tw#scrollTo=RI0hC7SFT3Sr&uniqifier=1) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F03-prompt-ipywidgets) | [作业PDF](.\u002FGenAI_PDF\u002FHW4.pdf)\n- HW5: [引导文章](.\u002FGuide\u002F08.%20尝试微调%20LLM：让它会写唐诗.md) | [代码中文镜像](.\u002FDemos\u002F06.%20尝试微调%20LLM：让它会写唐诗.ipynb) | [中文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1u2xgN5gWnZCwPlH2R-0gz_CpI9gzLdiy?usp=sharing) | [英文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1nB3jwRJVKXSDDNO-pbURrao0N2MpqHl8?usp=sharing#scrollTo=uh5rwbr4q5Nw) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F06-llm) | [作业PDF](.\u002FGenAI_PDF\u002FHW5.pdf)\n- HW6: [引导文章](.\u002FGuide\u002F11.%20DPO%20微调示例：根据人类偏好优化%20LLM%20大语言模型.md) | [代码中文镜像](.\u002FDemos\u002F09.%20DPO%20微调：根据偏好引导%20LLM%20的输出.ipynb) | [中文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1TxL9MrIXDY3HjWgQ4B3IcEeMj-lsbNAZ?usp=sharing) | [英文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1d3zmkqo-ZmxrIOYWSe3vDD0za8tUPguu?usp=sharing#scrollTo=owGIuqdnRI8I) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F09-dpo-llm) | [作业PDF](.\u002FGenAI_PDF\u002FHW6.pdf)\n- HW7: [引导文章](.\u002FGuide\u002F12.%20Inseq%20特征归因：可视化解释%20LLM%20的输出.md) | [代码中文镜像](.\u002FDemos\u002F10.%20Inseq：可视化解释%20LLM%20的输出.ipynb) | [中文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1bWqGtRaG3aO7Vo149wIPHaz_XKnbJqlE?usp=sharing) | [英文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Xnz0GHC0yWO2Do0aAYBCq9zL45lbiRjM?usp=sharing#scrollTo=UFOUfh2k1jFNI) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F10-inseq-llm) | [作业PDF](.\u002FGenAI_PDF\u002FHW7.pdf)\n- HW8: [引导文章](.\u002FGuide\u002F13.%20了解人工智能可能存在的偏见.md) | [代码中文镜像](.\u002FDemos\u002F11.%20了解人工智能可能存在的偏见.ipynb) | [中文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F10nHzBO9uiQWdGLnp551n_MYjnK3n-R0D?usp=sharing) | [英文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1DkK2Mb0cuEtdEN5QnhmjGE3Xe7xeMuKN?usp=sharing#scrollTo=LP3tSLGGZ-TG) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F11-bias) | [作业PDF](.\u002FGenAI_PDF\u002FHW8.pdf)\n- HW9: [引导文章](.\u002FGuide\u002F15.%20用%20API%20实现%20AI%20视频摘要：动手制作属于你的%20AI%20视频助手.md) | [代码中文镜像](.\u002FDemos\u002F13a.%20轻松开始你的第一次%20AI%20视频总结（API%20版）%20-%20完整版.ipynb) | [中文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1yh2J4_Cy45fqvydH34LLtDpw10kuWutO?usp=sharing) | [英文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Ysr25kz6lP7gR8DNTkJMAqOuMp2bhXes?usp=sharing#scrollTo=YCara20SW8AN) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F13b-ai-api) | [作业PDF](.\u002FGenAI_PDF\u002FHW9.pdf)\n- HW10: [引导文章](.\u002FGuide\u002F16.%20用%20LoRA%20微调%20Stable%20Diffusion：拆开炼丹炉，动手实现你的第一次%20AI%20绘画.md) | [代码中文镜像](.\u002FDemos\u002F14a.%20尝试使用%20LoRA%20微调%20Stable%20Diffusion%20模型.ipynb) | [中文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1idmnaQZwRhjUPw7ToEXlVo82Mihfl_aA?usp=sharing) | [英文 Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1dI_-HVggxyIwDVoreymviwg6ZOvEHiLS?usp=sharing#scrollTo=CnJtiRaRuTFX) | [Kaggle](https:\u002F\u002Fwww.kaggle.com\u002Fcode\u002Faidemos\u002F14b-lora-stable-diffusion) | [作业PDF](.\u002FGenAI_PDF\u002FHW10.pdf)\n\n**P.S. 中文镜像将完全实现作业代码的所有功能（本地运行），Kaggle 是国内可直连的在线平台，中文 Colab 和 Kaggle 内容一致，英文 Colab 链接对应于原作业，选择其中一个完成学习即可。**\n\n---\n\n根据实际需求，从下方选择一种方式来准备学习环境，**点击 `►` 或文字展开**。\n\u003Cdetails>\n    \u003Csummary> \u003Ch2> 在线平台学习 \u003C\u002Fh2> \u003C\u002Fsummary>\n如果倾向于使用在线平台学习，或者受到显卡性能的限制，可以选择以下平台：\n\n- **Kaggle**（国内直连，推荐）：阅读文章《[Kaggle：免费 GPU 使用指南，Colab 的理想替代方案](.\u002FGuide\u002FKaggle：免费%20GPU%20使用指南，Colab%20的理想替代方案.md)》进行了解。\n\n- **Colab**（需要🪜科学上网）\n\n项目中的代码文件在两个平台是同步的。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary> \u003Ch2> 本地环境配置 \u003C\u002Fh2> \u003C\u002Fsummary>\n\n\u003Cdetails>\n    \u003Csummary> \u003Cstrong> 安装基础软件 \u003C\u002Fstrong> \u003C\u002Fsummary>\n\n- **Git**：用于克隆代码仓库。\n- **Wget 和 Curl**：用于下载脚本和文件。\n- **pip**：用于安装 Python 依赖包。\n- **uv**：仓库将不再采用 conda 而是全面转为 uv。\n\n### 安装 Git\n\n- **Linux (Ubuntu)**：\n\n  ```bash\n  sudo apt-get update\n  sudo apt-get install git\n  ```\n\n- **Mac**：\n\n  - 先安装 Homebrew：\n\n    ```bash\n    \u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FHomebrew\u002Finstall\u002FHEAD\u002Finstall.sh)\"\n    ```\n\n  然后运行：\n\n  ```bash\n  brew install git\n  ```\n\n- **Windows**：\n\n  从 [Git for Windows](https:\u002F\u002Fgitforwindows.org\u002F) 下载并安装。\n\n### 安装 Wget 和 Curl\n\n- **Linux (Ubuntu)**：\n\n  ```bash\n  sudo apt-get update\n  sudo apt-get install wget curl\n  ```\n\n- **Mac**：\n\n  ```bash\n  brew install wget curl\n  ```\n\n- **Windows**：\n\n  从 [Wget for Windows](https:\u002F\u002Feternallybored.org\u002Fmisc\u002Fwget\u002F) 和 [Curl 官方网站](https:\u002F\u002Fcurl.se\u002Fwindows\u002F) 下载并安装。\n\n### 安装 pip\n\n**注意**：如果已经安装了 Anaconda 或 Miniconda，系统中会包含 `pip`，无需额外安装。\n\n- **Linux (Ubuntu)**：\n\n  ```bash\n  sudo apt-get update\n  sudo apt-get install python3-pip\n  ```\n\n- **Mac**：\n\n  ```bash\n  brew install python3\n  ```\n\n- **Windows**：\n\n  1. 下载并安装 [Python](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Fwindows\u002F)，确保勾选“Add Python to PATH”选项。\n\n  2. 打开命令提示符，输入：\n\n     ```bash\n     python -m ensurepip --upgrade\n     ```\n\n#### 验证安装\n\n在终端中输入以下命令，如果显示版本信息，则说明安装成功。\n\n```bash\npip --version\n```\n\n#### 配置国内镜像源（可选，建议）\n\n```bash\npip config set global.index-url https:\u002F\u002Fmirrors.aliyun.com\u002Fpypi\u002Fsimple\n```\n\n### 安装 uv\n\n- **Linux\u002FMac**：\n\n  ```bash\n  curl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n  # 或者 pip install uv\n  ```\n\n  查看目前的 Shell：\n\n  ```bash\n  echo $SHELL\n  ```\n\n  然后将 uv 加到 PATH 中，根据 `echo $SHELL` 的输出选择对应的命令执行：\n\n  - sh, bash, zsh：\n\n    ```bash\n    source $HOME\u002F.local\u002Fbin\u002Fenv\n    ```\n\n  - fish\n\n    ```bash\n    source $HOME\u002F.local\u002Fbin\u002Fenv.fish\n    ```\n\n- **Windows**：\n\n  ```bash\n  powershell -c \"irm https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.ps1 | more\"\n  # 或者 pip install uv\n  ```\n\n#### 配置国内镜像源（可选，建议）\n\n```bash\n# 创建配置目录\nmkdir -p ~\u002F.config\u002Fuv\n\n# 创建配置文件（Linux\u002FMac），Windows 在 %APPDATA%\\uv\\uv.toml\ncat > ~\u002F.config\u002Fuv\u002Fuv.toml \u003C\u003C EOF\n[[index]]\nurl = \"https:\u002F\u002Fmirrors.aliyun.com\u002Fpypi\u002Fsimple\u002F\"\ndefault = true\nEOF\n```\n\n\u003C\u002Fdetails>\n\n### 克隆仓库项目\n\n通过以下命令拉取项目:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FHoper-J\u002FAI-Guide-and-Demos-zh_CN.git\ncd AI-Guide-and-Demos-zh_CN\n```\n\n### 同步项目依赖\n\n```bash\nuv sync\n```\n\n该命令会自动同步当前项目的主要依赖：\n\n- torch>=2.6\n- torchvision>=0.19\n- torchaudio>=2.6\n- ...（详见 `pyproject.toml`）\n\n这样就成功配置好了所有需要的环境，准备开始学习 :) 如果缺少显卡或者系统原因导致无法完全同步，也不用担心，其余依赖在每个文章中会单独列出，可以尝试直接到对应的文章中进行一部分依赖的下载。\n\n### 激活虚拟环境\n\n>如果不激活的话需要使用 `uv run` + 命令执行，比如：\n>\n>```bash\n>uv run python script.py\n>uv run jupyter lab\n>```\n\n- **Linux\u002FMac**：\n\n  ```bash\n  source .venv\u002Fbin\u002Factivate\n  ```\n\n- **Windows**：\n\n  ```bash\n  .venv\\Scripts\\activate\n  ```\n\n### 使用 Jupyter-Lab\n\n执行下面的命令：\n\n```bash\nuv run jupyter-lab\n```\n\n![image-20240928110805693](.\u002FGuide\u002Fassets\u002Fimage-20240928110805693.png)\n\n> [!note]\n>\n> 如果在 AutoDL 租服务器运行的话，建议先注册内核，方便切换版本：\n>\n> ```bash\n> UV_DIR=$(dirname $(which uv)) uv run python -m ipykernel install --user --name=ai --display-name=\"ai\" --env PATH \"$UV_DIR:$PATH\"\n> ```\n>\n> 注册后可以在左上角`内核`->`更改内核`：\n>\n> ![image-20250807230736922](.\u002FGuide\u002Fassets\u002Fimage-20250808005910358.png)\n\n可以通过弹出的链接进行访问，一般位于 8888 端口。对于图形化界面，Windows\u002FLinux 按住 `Ctrl`，Mac 按住 `Command`，然后点击链接可以直接跳转。至此，你将获得项目的全貌：\n\n![image-20240928115726301](.\u002FGuide\u002Fassets\u002Fimage-20240928115726301.png)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n    \u003Csummary> \u003Ch2> Docker 快速部署 \u003C\u002Fh2> \u003C\u002Fsummary>\n\n> 没有安装 Docker 的同学可以阅读文章《[使用 Docker 快速配置深度学习环境（Linux）](.\u002FGuide\u002F使用%20Docker%20快速配置深度学习环境（Linux）.md)》，建议初学者阅读《[Docker 基础命令介绍和常见报错解决](.\u002FGuide\u002FDocker%20基础命令介绍和常见报错解决.md)》。\n\n### 镜像介绍\n\n> 未来将更新为 uv 安装。\n\n[所有版本](https:\u002F\u002Fhub.docker.com\u002Frepository\u002Fdocker\u002Fhoperj\u002Fquickstart\u002Ftags)都预装了 `sudo`、`pip`、`conda`、`wget`、`curl` 和 `vim` 等常用工具，且已经配置好 `pip` 和 `conda` 的国内镜像源。同时，集成了 `zsh` 和一些实用的命令行插件（命令自动补全、语法高亮、以及目录跳转工具 `z`）。此外，已预装 `jupyter notebook` 和 `jupyter lab`，设置了其中的默认终端为 `zsh`，方便进行深度学习开发，并优化了容器内的中文显示，避免出现乱码问题。其中还预配置了 Hugging Face 的国内镜像地址。\n\n#### 版本说明\n\n- **base** 版本：占用约 16GB 存储空间，基于 `pytorch\u002Fpytorch:2.5.1-cuda11.8-cudnn9-devel`，默认 `python` 版本为 3.11.10，可以通过 `conda install python==版本号` 直接修改版本。\n- **dl** 版本：占用约 20GB 存储空间，在 **base** 基础上，额外安装了深度学习框架和常用工具，具体查看安装清单。\n\n### 安装清单\n\n\u003Cdetails> \u003Csummary> \u003Cstrong>base\u003C\u002Fstrong> \u003C\u002Fsummary>\n\n**基础环境**：\n\n- python 3.11.10\n- torch 2.5.1 + cuda 11.8 + cudnn 9\n\n**Apt 安装**：\n\n- `wget`、`curl`：命令行下载工具\n- `vim`、`nano`：文本编辑器\n- `git`：版本控制工具\n- `git-lfs`：Git LFS（大文件存储）\n- `zip`、`unzip`：文件压缩和解压工具\n- `htop`：系统监控工具\n- `tmux`、`screen`：会话管理工具\n- `build-essential`：编译工具（如 `gcc`、`g++`）\n- `iputils-ping`、`iproute2`、`net-tools`：网络工具（提供 `ping`、`ip`、`ifconfig`、`netstat` 等命令）\n- `ssh`：远程连接工具\n- `rsync`：文件同步工具\n- `tree`：显示文件和目录树\n- `lsof`：查看当前系统打开的文件\n- `aria2`：多线程下载工具\n- `libssl-dev`：OpenSSL 开发库\n\n**pip 安装**：\n\n- `jupyter notebook`、`jupyter lab`：交互式开发环境\n- `virtualenv`：Python 虚拟环境管理工具，可以直接用 conda\n- `tensorboard`：深度学习训练可视化工具\n- `ipywidgets`：Jupyter 小部件库，用以正确显示进度条\n\n**插件**：\n\n- `zsh-autosuggestions`：命令自动补全\n- `zsh-syntax-highlighting`：语法高亮\n- `z`：快速跳转目录\n\n\u003C\u002Fdetails>\n\n\u003Cdetails> \u003Csummary> \u003Cstrong>dl\u003C\u002Fstrong> \u003C\u002Fsummary>\n\n\n**dl**（Deep Learning）版本在 **base** 基础上，额外安装了深度学习可能用到的基础工具和库：\n\n**Apt 安装**：\n\n- `ffmpeg`：音视频处理工具\n- `libgl1-mesa-glx`：图形库依赖（解决一些深度学习框架图形相关问题）\n\n**pip 安装**：\n\n- **数据科学库**：\n  - `numpy`、`scipy`：数值计算和科学计算\n  - `pandas`：数据分析\n  - `matplotlib`、`seaborn`：数据可视化\n  - `scikit-learn`：机器学习工具\n- **深度学习框架**：\n  - `tensorflow`：另一种流行的深度学习框架\n  - `tf-keras`：Keras 接口的 TensorFlow 实现\n- **NLP 相关库**：\n  - `transformers`、`datasets`：Hugging Face 提供的 NLP 工具\n  - `nltk`、`spacy`：自然语言处理工具\n\n如果需要额外的库，可以通过以下命令手动安装：\n\n```bash\npip install --timeout 120 \u003C替换成库名>\n```\n\n这里 `--timeout 120` 设置了 120 秒的超时时间，确保在网络不佳的情况下仍然有足够的时间进行安装。如果不进行设置，在国内的环境下可能会遇到安装包因下载超时而失败的情况。\n\n\u003C\u002Fdetails>\n\n注意，所有镜像都不会提前拉取仓库。\n\n### 获取镜像（三选一）\n\n假设你已经安装并配置好了 Docker，那么只需两行命令即可完成深度学习的环境配置，对于当前项目，你可以查看完[版本说明](#版本说明)后进行选择，二者对应的 `image_name:tag` 如下：\n\n- **base**: `hoperj\u002Fquickstart:base-torch2.5.1-cuda11.8-cudnn9-devel`\n- **dl**: `hoperj\u002Fquickstart:dl-torch2.5.1-cuda11.8-cudnn9-devel`\n\n拉取命令为：\n\n```bash\ndocker pull \u003Cimage_name:tag>\n```\n\n下面以 **dl** 版为例进行命令演示，选择其中一种方式完成。\n\n#### 国内镜像版\n\n```bash\ndocker pull dockerpull.org\u002Fhoperj\u002Fquickstart:dl-torch2.5.1-cuda11.8-cudnn9-devel\n```\n\n#### 🪜科学上网版\n\n```bash\ndocker pull hoperj\u002Fquickstart:dl-torch2.5.1-cuda11.8-cudnn9-devel\n```\n\n#### 本地（网盘下载）\n\n> 可以通过[百度云盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1RJDfc5ouTDeBFhOdbIAHNg?pwd=bdka)下载文件（阿里云盘不支持分享大的压缩文件）。\n>\n> 同名文件内容相同，`.tar.gz` 为压缩版本，下载后通过以下命令解压：\n>\n> ```bash\n> gzip -d dl.tar.gz\n> ```\n\n假设 `dl.tar` 被下载到了 `~\u002FDownloads` 中，那么切换至对应目录：\n\n```bash\ncd ~\u002FDownloads\n```\n\n然后加载镜像：\n\n```bash\ndocker load -i dl.tar\n```\n\n### 创建并运行容器（使用主机网络）\n\n> 此模式下，容器会直接使用主机的网络配置，所有端口都等同于主机的端口，无需单独映射。如果只需映射指定端口，将 `--network host` 替换为 `-p port:port`。\n\n```bash\ndocker run --gpus all -it --name ai --network host hoperj\u002Fquickstart:dl-torch2.5.1-cuda11.8-cudnn9-devel \u002Fbin\u002Fzsh\n```\n\n#### 设置代理\n\n对于需要使用代理的同学，增加 `-e` 来设置环境变量，也可以参考[拓展文章a](.\u002FGuide\u002Fa.%20使用%20HFD%20加快%20Hugging%20Face%20模型和数据集的下载.md#重新设置代理)：\n\n假设代理的 HTTP\u002FHTTPS 端口号为 7890， SOCKS5 为 7891：\n\n- `-e http_proxy=http:\u002F\u002F127.0.0.1:7890`\n- `-e https_proxy=http:\u002F\u002F127.0.0.1:7890`\n- `-e all_proxy=socks5:\u002F\u002F127.0.0.1:7891`\n\n融入到之前的命令中：\n\n```bash\ndocker run --gpus all -it \\\n  --name ai \\\n  --network host \\\n  -e http_proxy=http:\u002F\u002F127.0.0.1:7890 \\\n  -e https_proxy=http:\u002F\u002F127.0.0.1:7890 \\\n  -e all_proxy=socks5:\u002F\u002F127.0.0.1:7891 \\\n  hoperj\u002Fquickstart:dl-torch2.5.1-cuda11.8-cudnn9-devel \\\n  \u002Fbin\u002Fzsh\n```\n\n> [!tip]\n>\n> **常用操作提前看**：\n>\n> - **启动容器**：`docker start \u003C容器名>`\n> - **运行容器**：`docker exec -it \u003C容器名> \u002Fbin\u002Fzsh`\n>   - **容器内退出**：`Ctrl + D` 或 `exit`。\n> - **停止容器**：`docker stop \u003C容器名>`\n> - **删除容器**：`docker rm \u003C容器名>`\n\n### 克隆仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FHoper-J\u002FAI-Guide-and-Demos-zh_CN.git\ncd AI-Guide-and-Demos-zh_CN\n```\n\n### 安装并启动 Jupyter Lab\n\n```bash\njupyter lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root\n```\n\n![image-20241113224059114](.\u002FGuide\u002Fassets\u002Fimage-20241113224059114.png)\n\n对于图形化界面，Windows\u002FLinux 摁住 `Ctrl`，mac 按住 `Command`，然后点击链接可以直接跳转。\n\n\u003C\u002Fdetails>\n\n---\n\n**感谢你的STAR🌟，希望这一切对你有所帮助。**\n","这是一个面向中文用户的AI\u002FLLM大模型入门项目，旨在通过教程和演示代码帮助学习者从API调用到本地部署与微调。核心功能包括AI视频摘要、LLM微调及AI图像生成等技能的学习，并且提供了Kaggle或Colab在线版本以支持无GPU环境下的实践。特别适合对人工智能领域感兴趣但缺乏实战经验的学生或开发者使用，同时包含了李宏毅教授2024年生成式人工智能导论课程的完整中文作业镜像，进一步增强了教育资源的实用性。","2026-06-11 03:40:49","high_star"]