[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Hoper-J--AI-Guide-and-Demos-zh_CN":3,"tool-Hoper-J--AI-Guide-and-Demos-zh_CN":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160411,2,"2026-04-18T23:33:24",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":73,"owner_company":73,"owner_location":73,"owner_email":73,"owner_twitter":73,"owner_website":73,"owner_url":75,"languages":76,"stars":81,"forks":82,"last_commit_at":83,"license":84,"difficulty_score":32,"env_os":85,"env_gpu":86,"env_ram":87,"env_deps":88,"category_tags":100,"github_topics":73,"view_count":32,"oss_zip_url":73,"oss_zip_packed_at":73,"status":17,"created_at":101,"updated_at":102,"faqs":103,"releases":132},9511,"Hoper-J\u002FAI-Guide-and-Demos-zh_CN","AI-Guide-and-Demos-zh_CN","这是一份入门AI\u002FLLM大模型的逐步指南，包含教程和演示代码，带你从API走进本地大模型部署和微调，代码文件会提供Kaggle或Colab在线版本，即便没有显卡也可以进行学习。项目中还开设了一个小型的代码游乐场🎡，你可以尝试在里面实验一些有意思的AI脚本。同时，包含李宏毅 (HUNG-YI LEE）2024生成式人工智能导论课程的完整中文镜像作业。","AI-Guide-and-Demos-zh_CN 是一份专为中文用户打造的 AI 与大语言模型（LLM）入门实战指南。它旨在解决初学者在面对国外大模型 API 获取困难、本地环境配置复杂以及缺乏显卡资源时的畏难情绪，帮助用户平滑地从理论认知过渡到动手实践。\n\n该项目非常适合希望系统学习 AI 技术的开发者、学生及研究人员，尤其是那些受限于硬件条件或网络环境的入门者。内容涵盖从基础的 API 调用、AI 视频摘要、图像生成，到进阶的本地大模型部署与微调全流程。其独特亮点在于提供了丰富的 Kaggle 和 Colab 在线代码版本，确保用户即使没有本地 GPU 也能随时运行实验；同时集成了李宏毅教授 2024 生成式人工智能课程的完整中文镜像作业，并设有“代码游乐场”供自由探索。此外，项目坚持使用通用的 OpenAI SDK 标准，不依赖特定平台接口，确保所学技能具备广泛的适用性与迁移价值，是通往大模型世界的理想起点。","# 这是一个中文的 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 进行介绍（这是一次并不“友好”的改动，但考虑到其目前已经被广泛应用，「长痛不如短痛」，索性从本项目开始“折腾”，希望能让你熟悉 uv 的使用）。\n>\n> 需要注意的是，因为目前的库版本更迭，或许会出现一些关于版本冲突的报错，计划在 8\n> 月全面更新代码进行修复（当然，复制报错去问 AI 基本都可以临时解决）。\n>\n> Colab 链接因为原账户没绑定恢复邮箱，被暂停了外部访问且无法恢复（引以为戒），后续我会抽空迁移至新账户上。\n\n- [深入 FastMCP 源码：认识 tool()、resource() 和 prompt() 装饰器](.\u002FGuide\u002F深入%20FastMCP%20源码：认识%20tool()、resource()%20和%20prompt()%20装饰器.md)\n- [Claude Code 使用指南：安装与进阶技巧](.\u002FGuide\u002FClaude%20Code%20使用指南：安装与进阶技巧.md)\n  - [Claude Code 必备的用量监控工具：claude-monitor 实践指南](.\u002FGuide\u002FClaude%20Code%20必备的用量监控工具：claude-monitor%20实践指南.md)\n- [【2025-09-02｜旧文留档】Cursor 与 Claude Code Max 5x 订阅体验记录](.\u002FGuide\u002F$125%20订阅撬动%20$2000%20API%20额度：这是我最终选择%20Claude%20Code%20Max%205x%20的理由.md)\n- [【2026-04-16｜持续更新】Claude \u002F GPT 订阅建议与反代避坑](.\u002FGuide\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](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHoper-J_AI-Guide-and-Demos-zh_CN_readme_a8e2e22cf686.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](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHoper-J_AI-Guide-and-Demos-zh_CN_readme_19e5911620da.png)\n\n可以通过弹出的链接进行访问，一般位于 8888 端口。对于图形化界面，Windows\u002FLinux 按住 `Ctrl`，Mac 按住 `Command`，然后点击链接可以直接跳转。至此，你将获得项目的全貌：\n\n![image-20240928115726301](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHoper-J_AI-Guide-and-Demos-zh_CN_readme_f89b23466555.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](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHoper-J_AI-Guide-and-Demos-zh_CN_readme_643807fcce40.png)\n\n对于图形化界面，Windows\u002FLinux 摁住 `Ctrl`，mac 按住 `Command`，然后点击链接可以直接跳转。\n\n\u003C\u002Fdetails>\n\n---\n\n**感谢你的STAR🌟，希望这一切对你有所帮助。**\n","# 这是一个中文的 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 进行介绍（这是一次并不“友好”的改动，但考虑到其目前已经被广泛应用，「长痛不如短痛」，索性从本项目开始“折腾”，希望能让你熟悉 uv 的使用）。\n>\n> 需要注意的是，因为目前的库版本更迭，或许会出现一些关于版本冲突的报错，计划在 8\n> 月全面更新代码进行修复（当然，复制报错去问 AI 基本都可以临时解决）。\n>\n> Colab 链接因为原账户没绑定恢复邮箱，被暂停了外部访问且无法恢复（引以为戒），后续我会抽空迁移至新账户上。\n\n- [深入 FastMCP 源码：认识 tool()、resource() 和 prompt() 装饰器](.\u002FGuide\u002F深入%20FastMCP%20源码：认识%20tool()、resource()%20和%20prompt()%20装饰器.md)\n- [Claude Code 使用指南：安装与进阶技巧](.\u002FGuide\u002FClaude%20Code%20使用指南：安装与进阶技巧.md)\n  - [Claude Code 必备的用量监控工具：claude-monitor 实践指南](.\u002FGuide\u002FClaude%20Code%20必备的用量监控工具：claude-monitor%20实践指南.md)\n- [【2025-09-02｜旧文留档】Cursor 与 Claude Code Max 5x 订阅体验记录](.\u002FGuide\u002F$125%20订阅撬动%20$2000%20API%20额度：这是我最终选择%20Claude%20Code%20Max%205x%20的理由.md)\n- [【2026-04-16｜持续更新】Claude \u002F GPT 订阅建议与反代避坑](.\u002FGuide\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| ------------------------------------------------------------ | --------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ---- |\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### 拓展阅读\n\n| 指南                                                        | 描述                                                     |\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>[代码](.\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>[代码](.\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    - [代码](.\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](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHoper-J_AI-Guide-and-Demos-zh_CN_readme_a8e2e22cf686.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](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHoper-J_AI-Guide-and-Demos-zh_CN_readme_19e5911620da.png)\n\n可以通过弹出的链接进行访问，一般位于 8888 端口。对于图形化界面，Windows\u002FLinux 按住 `Ctrl`，Mac 按住 `Command`，然后点击链接可以直接跳转。至此，你将获得项目的全貌：\n\n![image-20240928115726301](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHoper-J_AI-Guide-and-Demos-zh_CN_readme_f89b23466555.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](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHoper-J_AI-Guide-and-Demos-zh_CN_readme_643807fcce40.png)\n\n对于图形化界面，Windows\u002FLinux 摁住 `Ctrl`，mac 按住 `Command`，然后点击链接可以直接跳转。\n\n\u003C\u002Fdetails>\n\n---\n\n**感谢你的STAR🌟，希望这一切对你有所帮助。**","# AI-Guide-and-Demos-zh_CN 快速上手指南\n\n本指南旨在帮助开发者快速搭建环境并运行 `AI-Guide-and-Demos-zh_CN` 项目中的示例代码，涵盖从 API 调用到大模型微调的基础实践。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Windows, macOS, 或 Linux\n- **Python 版本**: 推荐 Python 3.9 - 3.11\n- **硬件要求**:\n  - **API 类任务 (`Tag: API`)**: 无 GPU 要求，普通笔记本即可运行。\n  - **本地部署\u002F微调类任务 (`Tag: LLM`, `Tag: SD`)**: 建议配备 NVIDIA GPU (显存 ≥ 8GB 用于基础微调，≥ 16GB 用于 Stable Diffusion 训练)。若无本地 GPU，可使用项目提供的 Kaggle 或 Colab 在线链接。\n\n### 前置依赖\n项目推荐使用 `uv` 进行环境管理（速度快且兼容性好），同时也支持传统的 `pip`。\n\n## 2. 安装步骤\n\n### 方案 A：使用 uv 安装（推荐）\n`uv` 是该项目主要采用的包管理工具，能显著加快依赖安装速度。\n\n1. **安装 uv** (如果尚未安装):\n   ```bash\n   curl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n   # Windows PowerShell:\n   powershell -c \"irm https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.ps1 | iex\"\n   ```\n\n2. **克隆项目并创建虚拟环境**:\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002FHoper-J\u002FAI-Guide-and-Demos-zh_CN.git\n   cd AI-Guide-and-Demos-zh_CN\n\n   # 创建虚拟环境并激活\n   uv venv\n   source .venv\u002Fbin\u002Factivate  # Linux\u002FmacOS\n   # .venv\\Scripts\\activate   # Windows\n   ```\n\n3. **安装依赖**:\n   ```bash\n   # 使用国内镜像源加速（如清华源）\n   uv pip install -r requirements.txt --index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n   ```\n   *注：若根目录暂无 `requirements.txt`，可根据具体 Demo 需求安装核心库，例如：*\n   ```bash\n   uv pip install openai gradio transformers peft accelerate datasets --index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n   ```\n\n### 方案 B：使用 pip 安装\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\npython -m venv venv\nsource venv\u002Fbin\u002Factivate  # Linux\u002FmacOS\n# venv\\Scripts\\activate   # Windows\n\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### Docker 快速部署（可选）\n如果你希望避免配置本地环境，项目提供了基础镜像支持：\n```bash\ndocker pull \u003Cproject-docker-image> # 具体镜像名请参考项目最新 Docker 章节\ndocker run -it --gpus all \u003Cproject-docker-image>\n```\n\n## 3. 基本使用\n\n本项目核心在于通过 Jupyter Notebook (`.ipynb`) 学习大模型技术。以下以最基础的 **LLM API 对话** 为例。\n\n### 第一步：获取 API Key\n本项目兼容 OpenAI SDK 格式。你可以使用 DeepSeek、阿里通义千问、智谱等国内模型的 API。\n- 参考文档：[00. 大模型 API 获取步骤](.\u002FGuide\u002F00.%20大模型%20API%20获取步骤.md)\n- 将获取到的 `API_KEY` 和 `BASE_URL` 记录下来。\n\n### 第二步：运行示例代码\n进入 `Demos` 目录，打开 `01. 初识 LLM API：环境配置与多轮对话演示.ipynb`。\n\n**最简代码示例 (Python):**\n\n```python\nfrom openai import OpenAI\n\n# 初始化客户端 (以 DeepSeek 为例，其他模型只需修改 base_url 和 api_key)\nclient = OpenAI(\n    api_key=\"YOUR_API_KEY\", \n    base_url=\"https:\u002F\u002Fapi.deepseek.com\" \n)\n\n# 发送对话请求\nresponse = client.chat.completions.create(\n    model=\"deepseek-chat\",\n    messages=[\n        {\"role\": \"system\", \"content\": \"你是一个有用的助手。\"},\n        {\"role\": \"user\", \"content\": \"请用一句话介绍什么是 LoRA？\"}\n    ],\n    stream=False\n)\n\n# 打印结果\nprint(response.choices[0].message.content)\n```\n\n### 第三步：尝试交互式应用 (Gradio)\n项目包含多个基于 Gradio 的 Demo，可快速构建 AI 界面。\n运行 `02. 简单入门：通过 API 与 Gradio 构建 AI 应用.ipynb` 中的代码块，即可在本地浏览器启动一个简单的聊天机器人界面。\n\n```bash\n# 在 Notebook 中运行或直接在终端执行对应的 python 脚本\npython Demos\u002Fapp_fastapi.py \n# 或运行 notebook 中显示的 gradio.launch() 单元格\n```\n\n### 在线运行替代方案\n若本地环境配置困难或显存不足，可直接点击项目 README 中各章节对应的 **Kaggle** 或 **Colab** 链接：\n1. 点击链接进入在线环境。\n2. 确保在设置中开启 **GPU Accelerator** (Kaggle: Settings -> Accelerator -> GPU; Colab: Runtime -> Change runtime type -> GPU)。\n3. 填入你的 API Key 或直接运行预置的本地模型推理代码。","计算机专业大三学生小林想独立完成一个“本地大模型微调”的课程项目，但受限于没有高端显卡且对配置海外开发环境感到畏惧。\n\n### 没有 AI-Guide-and-Demos-zh_CN 时\n- **环境搭建劝退**：面对复杂的 Docker 配置和依赖冲突，因缺乏中文指引和基础镜像，在本地安装阶段就耗费数天仍报错连连。\n- **硬件门槛受限**：由于个人电脑无独立显卡，无法运行任何 LLM 微调代码，只能眼巴巴看着教程干着急，被迫放弃实践。\n- **API 获取困难**：试图调用国外模型 API 时，被网络限制和繁琐的注册流程卡住，产生强烈的畏难情绪，最终退回到“只看视频不动手”的状态。\n- **理论实践脱节**：虽然看完了李宏毅老师的课程视频，但找不到对应的中文代码作业进行验证，导致对生成式 AI 的理解仅停留在概念层面。\n\n### 使用 AI-Guide-and-Demos-zh_CN 后\n- **一键启动环境**：直接拉取项目提供的 Docker 基础镜像，并利用 uv 快速配置好依赖，几分钟内即可在本地或云端跑通第一个 Demo。\n- **云端免费算力**：通过项目集成的 Kaggle 和 Colab 在线链接，无需本地显卡也能直接运行显存要求高的微调和文生图代码，轻松完成实验。\n- **通用 API 实践**：跟随 DeepSeek API 指南，利用兼容 OpenAI SDK 的通用代码绕过网络障碍，顺利实现流式输出解析和用量监控。\n- **课业同步实战**：直接复用项目中李宏毅 2024 课程的完整中文镜像作业，在\"CodePlayground\"中边学边改，将理论知识迅速转化为可运行的脚本。\n\nAI-Guide-and-Demos-zh_CN 通过提供零门槛的云端算力入口和本土化代码指引，帮助初学者跨过了从“观看视频”到“动手实践”的最艰难鸿沟。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FHoper-J_AI-Guide-and-Demos-zh_CN_19e59116.png","Hoper-J",null,"https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FHoper-J_4d05d0d8.png","https:\u002F\u002Fgithub.com\u002FHoper-J",[77],{"name":78,"color":79,"percentage":80},"Python","#3572A5",100,3985,424,"2026-04-18T19:10:14","MIT","Linux, macOS, Windows","非必需。API 调用部分无需 GPU；LLM 微调、部署及 Stable Diffusion (SD) 部分需要 NVIDIA GPU，具体显存需求视模型大小和精度而定（文中提及不同精度对显存有影响），建议使用支持 CUDA 的显卡。","未说明",{"notes":89,"python":90,"dependencies":91},"1. 项目分为 API、LLM、SD 三类任务：API 类无设备限制；LLM 和 SD 类有显存要求。2. 推荐使用 Docker 基础镜像快速部署。3. 项目全面采用 'uv' 工具进行环境配置和管理。4. 提供 Kaggle 和 Colab 在线运行链接，需手动在平台设置中开启 GPU 加速器。5. 代码主要使用 OpenAI SDK 兼容接口，不依赖特定平台自定义接口。","未说明 (项目推荐使用 uv 进行环境配置)",[92,93,94,95,96,97,98,99],"openai","gradio","transformers","peft","accelerate","diffusers","inseq","fastmcp",[35,15,14],"2026-03-27T02:49:30.150509","2026-04-19T15:38:04.637759",[104,109,114,119,124,128],{"id":105,"question_zh":106,"answer_zh":107,"source_url":108},42674,"Transformer 实现中的层归一化（LayerNorm）是对最后一个维度还是最后两个维度进行计算？是否符合论文原意？","代码中使用 `mean = x.mean(dim=-1, keepdim=True)` 仅对最后一个维度（特征维度）进行归一化，这是正确的实现。虽然部分解读或可视化可能让人误以为需要对序列维度和特征维度同时归一化，但在标准的 Transformer 架构（如 Vaswani et al. 论文及主流实现如 Tensor2Tensor）中，LayerNorm 是应用于每个 token 的特征向量上的（即针对最后一个维度）。可以通过查阅官方实现流程确认：`transformer_encoder` -> `layer_postprocess` -> `apply_norm` -> `layer_norm`，其核心计算确实是针对特征维度的。","https:\u002F\u002Fgithub.com\u002FHoper-J\u002FAI-Guide-and-Demos-zh_CN\u002Fissues\u002F10",{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},42675,"在微调 LLM 构造数据时，如果 prompt 先进行了 padding 导致计算出的 prompt_len 等于 max_length，进而使 labels 全为 -100，这会影响训练吗？","这种情况通常不会影响训练结果，因为在使用 Hugging Face 的 `DataCollatorForLanguageModeling(mlm=False)` 时，collator 会在批处理阶段自动重建 labels。具体逻辑是将 `labels` 重置为 `input_ids` 的副本，然后将所有的 `pad_token_id` 位置设为 `-100`。因此，即使手动构造数据时 labels 处理有误（如全为 -100），也会被 collator 覆盖修正，训练目标仍然是学习完整序列（prompt + output）。除非更换了自定义的 collator，否则无需过度担心此问题。","https:\u002F\u002Fgithub.com\u002FHoper-J\u002FAI-Guide-and-Demos-zh_CN\u002Fissues\u002F17",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},42676,"使用 PEFT 加载 LoRA 模型后，为什么无法看到可训练参数或模型结构与预期不符？","这通常由两个原因导致：1. `PeftModel.from_pretrained()` 的 `is_trainable` 参数默认为 `False`，此时加载的模型处于评估模式，LoRA 层的参数默认不需要梯度（requires_grad=False），因此遍历参数时会被过滤掉。若需继续训练或查看可训练参数，需显式设置 `is_trainable=True`。2. `save_pretrained()` 仅保存适配器权重而非整个模型，对比输出差异时需确保基础模型（Base Model）的参数完全一致。可以通过 `print(model)` 直接查看模型架构来确认 LoRA 层是否已正确挂载。","https:\u002F\u002Fgithub.com\u002FHoper-J\u002FAI-Guide-and-Demos-zh_CN\u002Fissues\u002F1",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},42677,"在 Google Colab 环境中运行代码时，导入 bitsandbytes 报错提示 'CUDA Setup failed despite GPU being available'，如何解决？","该错误通常是由于 bitsandbytes 版本与 Colab 当前提供的 CUDA 版本不兼容导致的。Colab 目前默认提供 CUDA 12.5 环境。解决方法是安装特定版本的依赖库：将 `bitsandbytes` 升级至 `0.43.2` 版本，并将 `triton` 降级至 `2.3.0` 版本。可以使用以下命令安装：`pip install bitsandbytes==0.43.2 triton==2.3.0`。","https:\u002F\u002Fgithub.com\u002FHoper-J\u002FAI-Guide-and-Demos-zh_CN\u002Fissues\u002F14",{"id":125,"question_zh":126,"answer_zh":127,"source_url":108},42678,"在学习新技术或阅读论文时，如何平衡深入探索细节与推进主线任务（DDL）之间的关系？","建议将“探索”作为课余爱好并分配固定时间，而不是让其无限制地占用主线任务时间。对于新知识，可以先通过中文资料理解基础数学和公式原理（利用母语优势），遇到疑惑再转向英文搜索（英文社区关于延伸问题的解答更丰富）。如果遇到类似“兔子洞”（Wiki rabbit hole）的深层理论问题（如实变函数等），且不影响当前任务核心逻辑，可以暂时搁置。当有截止日期（DDL）时，应自然地将导向转为“结果导向”，优先保证任务完成；时间充裕时再满足探索精神。此外，利用大模型辅助学习时，应将其输出视为旁证，通过“质疑->查验资料->修正”的循环来确认知识的准确性，而不是盲目依赖。",{"id":129,"question_zh":130,"answer_zh":131,"source_url":113},42679,"在微调任务的数据预处理中，attention_mask 应该全设为 1 还是根据实际 padding 情况设置？","Attention mask 必须根据实际的 padding 情况进行设置，不能全设为 1。如果在构造数据时先对 prompt 进行了 `padding=\"max_length\"` 操作，会导致所有样本长度一致且包含大量 padding token，此时若手动将 `attention_mask` 设为全 1，会让模型将 padding token 误认为是有效内容参与计算。正确的做法是：先不对 prompt 单独 padding，而是将完整的文本（prompt + output）输入 tokenizer 并进行 padding，直接使用 tokenizer 返回的 `attention_mask`，这样能准确标记出哪些是真实 token（1），哪些是 padding token（0）。虽然在某些配合 `DataCollatorForLanguageModeling` 的场景下训练可能依然收敛，但规范的 mask 处理是最佳实践。",[]]