Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
133 lines (133 loc) · 24.6 KB
/
Copy pathindex.html
File metadata and controls
133 lines (133 loc) · 24.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover">
<meta name="theme-color" content="#624aff">
<meta name="description" content="魔搭紫皮书:从模型选型、运行、微调与评测,到真实场景的开源模型实践。">
<link rel="icon" href="assets/brand/book-mark.svg" type="image/svg+xml">
<link rel="stylesheet" href="assets/styles.css?v=d152fecb6dfc">
<link rel="stylesheet" href="assets/paper.css?v=d4fc45eb604b">
<link rel="stylesheet" href="assets/review.css?v=780630865350">
<link rel="stylesheet" href="assets/reader-tools.css?v=320b93ccd96f">
<link rel="stylesheet" href="assets/reading.css?v=080197d52d85">
<link rel="stylesheet" href="assets/brand/brand.css?v=fcf5fc85cf5f">
<link rel="stylesheet" href="assets/contributors/wall.css?v=ebc4496cc577">
<link rel="stylesheet" href="assets/discussion.css?v=07b3ec90774f">
<link rel="stylesheet" href="assets/navigation.css?v=c591df5e4053">
<link rel="stylesheet" href="assets/wishes.css?v=f4309abc0794">
<link rel="stylesheet" href="assets/homepage.css?v=9f2aacb160d2">
<link rel="stylesheet" href="assets/katex/katex.min.css?v=50d9c78e03da">
<title>魔搭紫皮书</title>
</head>
<body class="paper-site" data-view="home">
<a class="skip-link" href="#contents">跳到全书目录</a>
<div class="reading-progress" aria-hidden="true"><span id="readingProgress"></span></div>
<header class="app-header">
<a class="wordmark" href="#home"><img class="brand-icon" src="assets/brand/book-mark.svg" alt="" width="30" height="30">魔搭紫皮书</a>
<div class="reader-header-tools">
<button class="reader-search-trigger" id="readerSearchButton" aria-haspopup="dialog" aria-controls="bookSearchDialog"><img src="assets/paper/search.svg" alt=""><span>搜索全书内容</span><kbd id="searchShortcut" aria-hidden="true">⌘ K</kbd></button>
<button class="reader-toc-trigger" id="readerTocButton" aria-haspopup="dialog" aria-controls="tocDialog">本章目录</button>
<a class="reader-overview" href="#contents">探索全书 <span aria-hidden="true">↗</span></a>
</div>
<nav class="desktop-nav" aria-label="主导航"><a href="#contents" data-route="contents">全书目录</a><a href="#paths" data-route="paths">阅读路径</a><a href="#practice" data-route="practice">真实任务库</a><a href="#contribute" data-route="contribute">社区共建</a><a class="outline-button" id="headerAction" href="#chapter-1">开始阅读</a></nav>
<div class="header-account-area" id="headerAccountArea"><nav class="header-external-links" aria-label="项目与魔搭社区"><a class="nav-icon-link" href="https://github.com/modelscope/ms-cookbook" target="_blank" rel="noopener noreferrer" aria-label="GitHub 项目仓库(新窗口)" title="GitHub 项目仓库"><img src="assets/brand/github.svg" alt="" width="22" height="22"></a><a class="nav-icon-link" href="https://modelscope.cn/spotlight" target="_blank" rel="noopener noreferrer" aria-label="魔搭开发者实践(新窗口)" title="魔搭开发者实践"><img src="assets/brand/modelscope.ico" alt="" width="24" height="24"></a></nav></div>
<button class="mobile-menu" id="menuButton" aria-label="打开目录" aria-haspopup="dialog"><img src="assets/paper/menu.svg" alt="">目录</button>
</header>
<main id="homePage" data-page="home">
<section class="landing-hero">
<div class="landing-copy"><p class="eyebrow">MODELSCOPE COOKBOOK</p><h1>魔搭紫皮书<span>开源模型应用实战</span></h1><p class="hero-description">从选型、运行到微调与应用。<br>翻开一章,把开源模型用起来。</p><div class="hero-actions"><a class="primary-button" href="#chapter-1">从第一章开始 <img src="assets/home/arrow.svg" alt=""></a><a class="text-link" href="#contents">浏览全书目录 →</a></div></div>
<img class="hero-reading-art" src="assets/reading-dada-illustrations/05-peeking-lavender.png" alt="浅紫搭搭从右下角探头挥手" width="1254" height="1254">
</section>
<section class="home-facts" aria-label="紫皮书共建概况"><div class="container">
<div class="home-fact"><strong>10<span> 人</span></strong><span class="fact-label">社区共建 <small>COMMUNITY</small></span></div>
<div class="home-fact"><strong>7<span> 个</span></strong><span class="fact-label">真实任务 <small>REAL TASKS</small></span></div>
<div class="home-fact"><strong>40<span> 万字</span></strong><span class="fact-label">合计字数 <small>WORDS</small></span></div>
</div></section>
<section class="landing-paths container"><h2>找到你的阅读起点</h2><p class="section-intro">从基础概念到真实场景,循序渐进,动手实践。</p><div class="path-cards" id="homePaths"></div></section>
<section class="home-community container"><img src="assets/reading-dada-illustrations/02-welcome-v2.png" alt="浅紫搭搭招手欢迎" width="220" height="124" loading="lazy"><div><h2>一起把实践经验写进紫皮书</h2><p>交流模型使用经验,分享可复现的案例,参与内容共建。</p></div><a class="outline-button" href="#contribute">加入社区与共建</a></section>
<footer class="landing-footer"><div class="container"><nav aria-label="主题快捷入口"><a href="#contents">认识模型</a><a href="#chapter-7">模型运行</a><a href="#chapter-14">微调评测</a><a href="#practice">业务实践</a> <a href="#paths/aigc">AIGC</a><a href="#chapter-30">Agent</a></nav><a class="primary-button" href="#chapter-1">翻开第一章,开始实践 <img src="assets/home/arrow.svg" alt=""></a><p>魔搭紫皮书 · 开源模型实践</p><div class="project-links"></div></div></footer>
</main>
<main data-page="contents" hidden>
<section class="page-banner"><div class="container"><h1>全书目录</h1><p>找到你想读的内容,沿着知识脉络继续探索。</p><label class="chapter-search"><img src="assets/paper/search.svg" alt=""><span class="sr-only">搜索章节或关键词</span><input id="chapterSearch" type="search" placeholder="搜索章节或关键词" autocomplete="off"></label></div></section>
<div class="container"><p id="searchStatus" role="status" class="search-status" hidden></p><div class="book-index" id="bookIndex"></div><div class="empty-state" id="emptySearch" hidden><h2>暂时没有找到相关内容</h2><p>可以试试“微调”“RAG”或“语音”,也可以直接浏览全书。</p><button class="outline-button" id="clearSearch">清除搜索</button></div></div>
<footer class="quiet-footer">魔搭紫皮书 · 开源模型实践</footer>
</main>
<main data-page="paths" hidden>
<section class="page-banner path-banner"><div class="container"><h1>选一条适合你的阅读路径</h1><p>从不同的起点,走向同一场实践。</p><div class="path-tabs" role="tablist" aria-label="阅读路径"><button id="tab-beginner" role="tab" aria-controls="pathPanel" data-path="beginner">从零开始</button><button id="tab-model" role="tab" aria-controls="pathPanel" data-path="model">深入模型</button><button id="tab-application" role="tab" aria-controls="pathPanel" data-path="application">走向应用</button><button id="tab-aigc" role="tab" aria-controls="pathPanel" data-path="aigc">AIGC 创作</button></div></div></section>
<div id="pathPanel" role="tabpanel"><section class="path-feature container"><img id="pathArt" src="assets/editorial-art/seedling.png" alt="手绘书本与新芽"><div><h2 id="pathTitle"></h2><p id="pathDescription"></p><a id="pathStart" class="primary-button" href="#chapter-1">开始这条路径 <img src="assets/home/arrow.svg" alt=""></a></div></section><ol class="path-stations container" id="pathStations"></ol></div>
<section id="aigcContributions" class="contribution-note container" hidden><h2>更多 AIGC 实践,欢迎一起补充</h2><p>征集图像与品牌 LoRA、图像编辑、视频一致性与工作流、音频与音乐生成、AIGC 效果评测等可复现经验。以下方向仍在共建中,完整教程以全书目录的可读状态为准。</p><a class="text-link" href="#chapter-27">第 27 章 · 视频教程待更新 ↗</a><a class="text-link" href="#contribute">查看投稿方式 ↗</a></section>
<div class="path-alternatives container"><a href="#paths/model">准备好深入模型?<b>数据 → 微调 → 评测</b></a><a href="#paths/application">带着业务问题来?<b>知识问答 → 工具 → Agent</b></a> <a href="#paths/aigc">想探索生成式创作?<b>案例 → 定制 → 图像创作</b></a></div><footer class="quiet-footer">魔搭紫皮书 · 开源模型实践</footer>
</main>
<main data-page="practice" hidden>
<section class="page-banner"><div class="container"><h1>从一个真实任务开始</h1><p>把模型能力,放进你关心的应用场景。</p></div></section><div class="scene-grid container" id="sceneGrid"></div><section class="contribution-note container"><h2>视频场景 · 待更新</h2><p>第 27 章的视频教程仍在准备中,欢迎分享视频生成与工作流实践。</p><a class="text-link" href="#chapter-27">查看章节状态 ↗</a><a class="text-link" href="#contribute">参与场景共建 ↗</a></section><section class="practice-cta container"><h2>还想系统学习?</h2><a class="primary-button" href="#paths">查看阅读路径 <img src="assets/home/arrow.svg" alt=""></a></section><footer class="quiet-footer">魔搭紫皮书 · 开源模型实践</footer>
</main>
<main data-page="contribute" hidden>
<section class="page-banner"><div class="container"><h1>一起共建魔搭紫皮书</h1><p>一个人的跑通经验,成为更多人的起点。</p></div></section>
<div class="community-layout container">
<section class="community-card community-join">
<div class="community-copy"><p class="eyebrow">COMMUNITY</p><h2>加入交流群</h2><p>交流开源模型实践,讨论阅读中遇到的问题,寻找一起共建的伙伴。</p><p class="muted">请使用微信扫码,手机上可长按保存识别。</p></div>
<div class="community-codes">
<figure><a href="assets/community/qr.png" target="_blank" rel="noopener noreferrer" aria-label="查看紫皮书共学群二维码"><img class="community-qr" src="assets/community/qr.png" alt="紫皮书共学群二维码,请使用微信扫描" width="220" height="220"></a><figcaption>紫皮书共学群</figcaption></figure>
<figure><a href="assets/community/agentwork-qr.png" target="_blank" rel="noopener noreferrer" aria-label="查看 AgentWork 社区二维码"><img class="community-qr" src="assets/community/agentwork-qr.png" alt="AgentWork 社区二维码,请使用微信扫描" width="220" height="220"></a><figcaption>AgentWork 社区</figcaption></figure>
</div>
</section>
<section class="community-card"><h2>通过 GitHub 贡献</h2><p>修正问题、补充案例或完善网站,都可以从 Issue 和 Pull Request 开始。</p><ol><li>先说明对应章节、问题与复现方式。</li><li>Fork 仓库,提交范围清晰的改动。</li><li>发起 Pull Request,附上验证结果与素材来源。</li></ol><a class="outline-button" href="https://github.com/modelscope/ms-cookbook/blob/main/CONTRIBUTING.md" target="_blank" rel="noopener noreferrer">阅读贡献指南 ↗</a><a class="text-link" href="https://github.com/modelscope/ms-cookbook/issues/new" target="_blank" rel="noopener noreferrer">反馈问题 ↗</a></section>
<section class="community-card"><h2>在魔搭开发者实践投稿</h2><p>分享你已经跑通的模型应用、AIGC 创作流程与真实效果。</p><ol><li>打开魔搭「开发者实践」。</li><li>选择「创建内容」。</li><li>添加专题 <strong>#魔搭紫皮书</strong>,提交你的实践内容。</li></ol><a class="outline-button" href="https://modelscope.cn/spotlight" target="_blank" rel="noopener noreferrer">前往开发者实践 ↗</a></section>
<section class="community-card contributor-wall" aria-labelledby="contributors-title">
<header class="contributor-heading"><div><h2 id="contributors-title">感谢每一位共建者</h2><p>每一份分享、每一次改进,都让这本书更丰富。</p></div><span>按姓名拼音 / 字母排序</span></header>
<div class="contributor-profiles">
<a class="contributor-profile" href="https://modelscope.cn/profile/Artiprocher" target="_blank" rel="noopener noreferrer" aria-label="访问Artiprocher的魔搭主页(新窗口)"><img src="assets/contributors/Artiprocher.png" alt="Artiprocher的魔搭名片" width="1200" height="1200" loading="lazy"><span>Artiprocher <small>魔搭主页 ↗</small></span></a>
<a class="contributor-profile" href="https://modelscope.cn/profile/canghe" target="_blank" rel="noopener noreferrer" aria-label="访问苍何的魔搭主页(新窗口)"><img src="assets/contributors/canghe.png" alt="苍何的魔搭名片" width="1200" height="1200" loading="lazy"><span>苍何<small>魔搭主页 ↗</small></span></a>
<a class="contributor-profile" href="https://modelscope.cn/profile/relakkes" target="_blank" rel="noopener noreferrer" aria-label="访问程序员阿江-Relakkes的魔搭主页(新窗口)"><img src="assets/contributors/relakkes.png" alt="程序员阿江-Relakkes的魔搭名片" width="1200" height="1200" loading="lazy"><span>程序员阿江-Relakkes <small>魔搭主页 ↗</small></span></a>
<a class="contributor-profile" href="https://modelscope.cn/profile/zuiyn0113" target="_blank" rel="noopener noreferrer" aria-label="访问甲木未来派的魔搭主页(新窗口)"><img src="assets/contributors/zuiyn0113.png" alt="甲木未来派的魔搭名片" width="1200" height="1200" loading="lazy"><span>甲木未来派<small>魔搭主页 ↗</small></span></a>
<a class="contributor-profile" href="https://modelscope.cn/profile/kangarooking" target="_blank" rel="noopener noreferrer" aria-label="访问kangarooking的魔搭主页(新窗口)"><img src="assets/contributors/kangarooking.png" alt="kangarooking的魔搭名片" width="1200" height="1200" loading="lazy"><span>kangarooking <small>魔搭主页 ↗</small></span></a>
<a class="contributor-profile" href="https://modelscope.cn/profile/liucong" target="_blank" rel="noopener noreferrer" aria-label="访问刘聪NLP的魔搭主页(新窗口)"><img src="assets/contributors/liucong.png" alt="刘聪NLP的魔搭名片" width="1200" height="1200" loading="lazy"><span>刘聪 NLP <small>魔搭主页 ↗</small></span></a>
<a class="contributor-profile" href="https://modelscope.cn/profile/Joy19997" target="_blank" rel="noopener noreferrer" aria-label="访问摸鱼小李的魔搭主页(新窗口)"><img src="assets/contributors/Joy19997.png" alt="摸鱼小李的魔搭名片" width="1200" height="1200" loading="lazy"><span>摸鱼小李<small>魔搭主页 ↗</small></span></a>
<a class="contributor-profile" href="https://www.modelscope.cn/profile/tastelikefeet" target="_blank" rel="noopener noreferrer" aria-label="访问tastelikefeet的魔搭主页(新窗口)"><img src="assets/contributors/tastelikefeet.png" alt="tastelikefeet的魔搭名片" width="1200" height="1200" loading="lazy"><span>tastelikefeet <small>魔搭主页 ↗</small></span></a>
<a class="contributor-profile" href="https://modelscope.cn/profile/VoyagerX" target="_blank" rel="noopener noreferrer" aria-label="访问星球收藏家的魔搭主页(新窗口)"><img src="assets/contributors/VoyagerX.png" alt="星球收藏家的魔搭名片" width="1200" height="1200" loading="lazy"><span>星球收藏家<small>魔搭主页 ↗</small></span></a>
<a class="contributor-profile" href="https://modelscope.cn/profile/Yinchao" target="_blank" rel="noopener noreferrer" aria-label="访问Yinchao的魔搭主页(新窗口)"><img src="assets/contributors/Yinchao.png" alt="Yinchao的魔搭名片" width="1200" height="1200" loading="lazy"><span>Yinchao <small>魔搭主页 ↗</small></span></a>
</div>
<div class="contributor-code-heading"><h3>一起完善代码</h3><a class="text-link" href="https://github.com/modelscope/ms-cookbook/graphs/contributors" target="_blank" rel="noopener noreferrer">查看 GitHub 贡献记录 ↗</a></div>
<div class="contributor-github">
<a href="https://github.com/freestylefly" target="_blank" rel="noopener noreferrer" aria-label="访问 freestylefly 的 GitHub 主页(新窗口)"><img src="https://avatars.githubusercontent.com/u/43960064?v=4" alt="" width="56" height="56" loading="lazy"><span><strong>freestylefly</strong><small>GitHub ↗</small></span></a>
<a href="https://github.com/isjiamu" target="_blank" rel="noopener noreferrer" aria-label="访问 isjiamu 的 GitHub 主页(新窗口)"><img src="https://avatars.githubusercontent.com/u/30619280?v=4" alt="" width="56" height="56" loading="lazy"><span><strong>isjiamu</strong><small>GitHub ↗</small></span></a>
<a href="https://github.com/liucongg" target="_blank" rel="noopener noreferrer" aria-label="访问 liucongg 的 GitHub 主页(新窗口)"><img src="https://avatars.githubusercontent.com/u/45169043?v=4" alt="" width="56" height="56" loading="lazy"><span><strong>liucongg</strong><small>GitHub ↗</small></span></a>
<a href="https://github.com/yingdachen" target="_blank" rel="noopener noreferrer" aria-label="访问 yingdachen 的 GitHub 主页(新窗口)"><img src="https://avatars.githubusercontent.com/u/5042027?v=4" alt="" width="56" height="56" loading="lazy"><span><strong>yingdachen</strong><small>GitHub ↗</small></span></a>
</div>
</section>
<section class="wish-pool" id="wishPool" aria-labelledby="wishTitle">
<header class="wish-heading"><h2 id="wishTitle">许愿池<span aria-hidden="true">✧</span></h2><p>紫皮书还缺什么?写下你想了解的内容,让有经验的伙伴来补上。</p></header>
<div class="wish-layout">
<form id="wishForm" class="wish-form">
<label for="wishText">你希望补充什么内容?</label>
<textarea id="wishText" rows="5" maxlength="2000" required disabled placeholder="比如:想学如何把 RAG 部署到自己的服务器,希望有从环境配置到上线的完整案例。" aria-describedby="wishHelp wishCount"></textarea>
<div class="wish-form-meta"><span id="wishHelp">愿望公开展示,写清使用场景更容易得到回应。</span><span id="wishCount">0 / 2000</span></div>
<div id="wishAccount" class="wish-account"></div>
<button id="wishSubmit" class="discussion-primary" type="submit" disabled>投下愿望</button>
<p id="wishFormStatus" class="discussion-status" role="status"></p>
</form>
<div class="wish-feed"><h3>大家想读的下一页<small>最新发布</small></h3><p id="wishListStatus" class="discussion-status" role="status"></p><div id="wishList" aria-live="polite"></div><button id="wishRetry" class="discussion-more" type="button" hidden>重新加载</button><button id="wishMore" class="discussion-more" type="button" hidden>更多愿望</button></div>
</div>
</section>
</div><footer class="quiet-footer">魔搭紫皮书 · 开源模型实践</footer>
</main>
<div class="site-shell" data-page="reader" hidden>
<aside class="book-sidebar" id="bookSidebar" aria-labelledby="bookSidebarTitle"><div class="book-sidebar-heading"><h2 id="bookSidebarTitle">全书目录</h2><button class="sidebar-toggle" id="collapseSidebar" aria-label="收起全书目录" aria-controls="bookSidebar" aria-expanded="true" title="收起全书目录"><img src="assets/home/chevron.svg" alt=""></button></div><nav class="chapter-nav" id="chapterNav"></nav></aside>
<button class="sidebar-restore" id="expandSidebar" aria-label="展开全书目录" aria-controls="bookSidebar" aria-expanded="false" title="展开全书目录" hidden><img src="assets/home/chevron.svg" alt=""><span>全书目录</span></button>
<main class="reader"><article class="article" id="article"><nav class="path-reader-nav" data-path-reader aria-label="阅读路径导航" hidden></nav><div class="reading-tools" role="group" aria-label="阅读设置"><button data-reader-search aria-label="搜索全书">搜索</button><label for="readingSize">字号</label><select id="readingSize" aria-label="正文字号"><option value="17">小</option><option value="19" selected>标准</option><option value="21">大</option></select><button id="focusReading" aria-pressed="false">专注阅读</button><span id="readingPercent" aria-label="本章阅读进度">0%</span></div><header class="chapter-header"><p class="chapter-kicker" id="partLabel"></p><h1 id="chapterTitle"></h1><p class="chapter-meta"><span id="chapterNumber"></span><span id="readTime"></span><a id="chapterSource" target="_blank" rel="noopener noreferrer">GitHub 原文 ↗</a><a id="chapterEdit" target="_blank" rel="noopener noreferrer">参与改进 ↗</a></p><img class="chapter-art" src="assets/reading-dada-illustrations/01-reading-v2.png" alt="浅紫搭搭翻书阅读"></header><div class="article-body" id="articleBody"></div><nav class="path-reader-nav path-reader-bottom" data-path-reader aria-label="继续沿路径阅读" hidden></nav><nav class="chapter-pager" aria-label="章节翻页"><a id="previousChapter" class="pager-link previous"><small>上一章</small><span></span></a><a id="nextChapter" class="pager-link next"><small>下一章</small><span></span></a></nav><div class="reader-community"><a href="#contribute">加入社区 · 参与共建 ↗</a></div></article><aside class="local-toc" aria-label="本章目录"><h2>本章目录</h2><nav id="localToc"></nav><a class="back-top" href="#" id="backTop">返回顶部 ↑</a></aside></main>
<nav class="mobile-reader-bar" aria-label="阅读操作"><a id="mobilePrevious">上一章</a><button id="tocButton" aria-haspopup="dialog">本章目录</button><a id="mobileNext">下一章 <img src="assets/home/arrow.svg" alt=""></a></nav>
</div>
<dialog id="bookSearchDialog" class="book-search-dialog" aria-labelledby="bookSearchTitle">
<div class="dialog-heading"><div><h2 id="bookSearchTitle">搜索全书</h2><p>查找章节、知识点或代码关键词</p></div><button class="icon-button" data-close="bookSearchDialog" aria-label="关闭全书搜索"><img src="assets/paper/close.svg" alt=""></button></div>
<label class="book-search-input"><img src="assets/paper/search.svg" alt=""><span class="sr-only">搜索全书内容</span><input id="bookSearchInput" type="search" placeholder="试试 LoRA、RAG、准备训练数据…" autocomplete="off" maxlength="120" autofocus aria-describedby="bookSearchStatus"></label>
<p id="bookSearchStatus" class="book-search-status" role="status" aria-live="polite"></p>
<div id="bookSearchResults" class="book-search-results"></div>
<div class="book-search-footer"><span>搜索范围:全书标题与正文</span><span><kbd>↑</kbd> <kbd>↓</kbd> 选择 · <kbd>Enter</kbd> 跳转 · <kbd>Esc</kbd> 关闭</span></div>
</dialog>
<dialog id="siteMenu" class="menu-dialog" aria-label="网站与章节导航"><div class="dialog-heading"><a class="wordmark" href="#home">魔搭紫皮书</a><button class="icon-button" data-close="siteMenu" aria-label="关闭目录"><img src="assets/paper/close.svg" alt=""></button></div><nav class="mobile-page-nav"><a href="#home">首页</a><a href="#contents">全书目录</a><a href="#paths">阅读路径</a><a href="#practice">真实任务库</a><a href="#contribute">社区共建</a><a href="https://github.com/modelscope/ms-cookbook" target="_blank" rel="noopener noreferrer"><img src="assets/brand/github.svg" alt="" width="20" height="20">GitHub ↗</a><a href="https://modelscope.cn/spotlight" target="_blank" rel="noopener noreferrer"><img src="assets/brand/modelscope.ico" alt="" width="22" height="22">魔搭开发者实践 ↗</a></nav><nav class="chapter-nav" id="mobileChapterNav" aria-label="章节目录"></nav></dialog>
<dialog id="tocDialog" class="toc-dialog" aria-labelledby="tocTitle"><div class="dialog-heading"><h2 id="tocTitle">本章目录</h2><button class="icon-button" data-close="tocDialog" aria-label="关闭本章目录"><img src="assets/paper/close.svg" alt=""></button></div><nav id="mobileToc"></nav></dialog>
<dialog id="imageViewer" class="image-viewer"><button class="icon-button" data-close="imageViewer" aria-label="关闭图片预览"><img src="assets/paper/close.svg" alt=""></button><img id="viewerImage" alt=""></dialog>
<script src="assets/content.js?v=a67f872a2ca2"></script><script src="assets/katex/katex.min.js?v=10a91b479cd9"></script><script src="assets/book-search.js?v=7579d53dd639"></script><script src="assets/reader-routes.js?v=b55d8df3bc82"></script><script src="assets/analytics.js?v=a43d60631cb4"></script><script src="assets/paper.js?v=0143b85bbb0a"></script><script src="assets/reading.js?v=63668e0639af"></script><script src="assets/discussion.js?v=f91c1dd1985b"></script>
<script src="assets/wishes.js?v=676cbcb948cd"></script>
</body></html>