文章列表

GPT-SoVITS webUI一键整合包及使用教程

作者:微信小助手

<ol class="list-paddingleft-1" style="list-style-type: decimal;"> <li><p>准备一个几十秒音频</p></li> <li><p>准备下载安装用GPT-SoVITS webUI软件对音频训练模型&nbsp; &nbsp;&nbsp;</p></li> <li><p>下载地址已放结尾,请去查看!!!!<br></p></li> <li><p><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001455" data-ratio="0.07060333761232349" data-s="300,640" src="/upload/0aef4b1c69066733bd51129ab791ecc6.png" data-type="png" data-w="779" style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;"></p></li> <li><p>点击go-webui.bat运行&nbsp;启动WebUI在浏览器中访问http://127.0.0.1:7860/,即可在浏览器中使用GPT-SoVITS-WebUI。</p></li> <li><p><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001456" data-ratio="0.03647798742138365" data-s="300,640" src="/upload/72501dd61f471ec450687757f267f05e.png" data-type="png" data-w="795" style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;"></p><p><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001457" data-ratio="0.5477671000565291" data-s="300,640" src="/upload/4c6f9de454d6b2932bc1418041f2ae94.png" data-type="png" data-w="1769" style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;"></p></li> </ol> <p>1.1 &nbsp;打勾:是否开启UVR5-WebUI</p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001458" data-ratio="0.12265625" data-s="300,640" src="/upload/7c0c1b445c26e310b6f30c23ddd5ae21.png" data-type="png" data-w="1280" style=""></p> <p>1.2 &nbsp;等待数秒后,自动弹出一个新页面(人声伴奏分离)。在该页面进行人声伴奏分离操作。</p> <p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001459" data-ratio="0.37254901960784315" data-s="300,640" src="/upload/2d81db81e627d1a741bbdaba58194130.png" data-type="png" data-w="1683" style=""></p> <p>1.3 &nbsp;需要输入的有2个地方:把音频拖入或者点击上传和(模型)根据页面中的提示自行选择,其他不用管,输入完成后点击“转换”,输出信息为d388d95d62334e1f820f7a5e945dcb2045wmk9vf.mp3.reformatted.wav-&gt;Success,说明成功。&nbsp;</p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001461" data-ratio="0.3171875" data-s="300,640" src="/upload/1cc811855c568abce4b66678df80a4b6.png" data-type="png" data-w="1280" style=""></p> <p>1.4:语音切分工具注意!!!</p> <p><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001462" data-ratio="0.3023690773067332" data-s="300,640" src="/upload/3ae45df4f5d872ab687a099c1921b2b6.png" data-type="png" data-w="1604" style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;"><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;"></span></p> <p style="letter-spacing: 0.578px;"><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">1.5:这里注意!!!</span></p> <p style="letter-spacing: 0.578px;"><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">min_length建议将原值改为30(对于2分钟的音频而言)</span></p> <p style="letter-spacing: 0.578px;"><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">min_interval建议将原值改为11(对于2分钟的音频而言)</span></p> <p style="letter-spacing: 0.578px;"><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">低于2分钟不用管</span></p> <p style="letter-spacing: 0.578px;"><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">格式:音频自动切分路径地址+音频.flac &nbsp;&nbsp;<br></span></p> <p style="letter-spacing: 0.578px;"><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">路径输入完成点击开启语音切割,其他不用管。<br></span></p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001463" data-ratio="0.09331651954602774" data-s="300,640" src="/upload/5f4752d9187f3c0ab084c703cf5bb84e.png" data-type="png" data-w="793" style=""></p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001467" data-ratio="0.38984375" data-s="300,640" src="/upload/26f862759ef69bb1050dadbe4f6f53a1.png" data-type="png" data-w="1280" style=""></p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001468" data-ratio="0.18125" data-s="300,640" src="/upload/ca1e6064b38033f609406584389d9fb2.png" data-type="png" data-w="1280" style=""></p> <p>1.6:<span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">&nbsp;切分后的音频数据集在这里</span></p> <p><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001469" data-ratio="0.22164276401564537" data-s="300,640" src="/upload/f23318f06f2c7d6a0ec6b08b3a0f08d7.png" data-type="png" data-w="767" style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;"><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;"></span></p> <p>1.7:中文批量离线ASR</p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001470" data-ratio="0.27890625" data-s="300,640" src="/upload/3b3c10196a1fc353fc4bbcc1397a065c.png" data-type="png" data-w="1280" style=""></p> <p>1.8:输入切分后的音频数据集文件夹路径,点击开启离线批量ASR。需要等一会ASR进程输出信息输出为:ASR任务成功,</p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001471" data-ratio="0.30234375" data-s="300,640" src="/upload/fb8bea518da8cc5c94b6973da4b60a52.png" data-type="png" data-w="1280" style=""></p> <p>1.9:语音文本校对标注</p> <p>输入 .list 标注文件的路径,看清再开启.</p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001473" data-ratio="0.05961070559610705" data-s="300,640" src="/upload/a4ddcb16425d1221bab4c0613c5da097.png" data-type="png" data-w="822" style=""></p> <p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001472" data-ratio="0.1526576019777503" data-s="300,640" src="/upload/730da95e5131fcb0311a15d9ce33b01a.png" data-type="png" data-w="1618" style=""></p> <p>2.0:核对音频和文本是否对应。选中音频,可进行合并和删除操作。注意校对标注一个音频后及时保存,完成一页校对后,进入下一页继续标注。&nbsp;<img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001477" data-ratio="0.49352179034157834" data-s="300,640" src="/upload/e661d56a19d73cd53b4b7dae665b43d0.png" data-type="png" data-w="1698" style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;"></p> <p><span style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;">2.1:</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">GPT-SoVITS-TTS</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">对整理好的目标音频数据集,进行微调训练和推理。</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">完成这一步,即可实现让目标声音说出任何文本内容,并进行测试试听。</span></p> <p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001478" data-ratio="0.5221615057680632" data-s="300,640" src="/upload/9af10a934ae14c789530f2309e1dc57e.png" data-type="png" data-w="1647" style=""></p> <p><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;"></span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">2.2:&nbsp;命名该模型:如我要训练李云龙的声音,将模型命名为liyunlong</span></p> <p><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">注意:</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">文本标注文件:</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">输入上一步标注好的文件路径(.list文件路径,不是文件夹路径)</span></p> <p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001480" data-ratio="0.3096179183135705" data-s="300,640" src="/upload/b1584c8267ed2939447191659123f136.png" data-type="png" data-w="759" style=""></p> <p>注意:训练集音频文件目录地址:</p> <p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001481" data-ratio="0.06311881188118812" data-s="300,640" src="/upload/7f97292b3c7ee93421060d3f05d895b4.png" data-type="png" data-w="808" style=""></p> <p><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">如图所示:&nbsp;地址输入完成后,点击一键三连,等一会提示一键三连进程结束,完成!!!</span></p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001483" data-ratio="0.59375" data-s="300,640" src="/upload/10fcc8831c9e4b727d036db76aab62fd.png" data-type="png" data-w="1280" style=""></p> <p><span style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;">2.3:点击1B-微调训练&nbsp;</span></p> <p><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;text-align: center;">直接(分别)点击开启SoVITs训练和开启GPT训练即可。</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;text-align: center;">当SoVITS训练进程输出信息和GPT训练进程输出信息分别显示SoVITS训练完成和GPT训练完成,同时后台无报错。</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;text-align: center;">表明训练成功。</span></p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001485" data-ratio="0.40703125" data-s="300,640" src="/upload/e55ab647cfc2b62cbe2718818267db8b.png" data-type="png" data-w="1280" style=""></p> <p><span style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;">训练完成后,训练出来的音频模型会分别显示在GPT_weights和SoVITS_weights文件夹中。&nbsp;</span></p> <p><span style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;">2.4:IC 推理</span></p> <p><span style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;">在推理页,点击刷新模型路径,即可在GPT模型列表中看到上一步训练的音频模型:li yun long</span></p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001486" data-ratio="0.22890625" data-s="300,640" src="/upload/659a4d86a59d9493d154b9e85f6b976d.png" data-type="png" data-w="1280" style=""></p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001487" data-ratio="0.19921875" data-s="300,640" src="/upload/923df730904007b4c38f6ccd96382f81.png" data-type="png" data-w="1280" style=""></p> <p>2.5:打勾:是否开启TTS原理webUI。等待一会,自动打开一个页面在开启的TTS原理webUI进行操作</p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001493" data-ratio="0.21171875" data-s="300,640" src="/upload/995cb9c81bf78028047b48d92cb57531.png" data-type="png" data-w="1280" style=""></p> <p>2.6:<span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">上传参考音频文件</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">,以及对应该参考音频的文本内容。</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">参考音频的语种选择中文即可。</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">&nbsp; </span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;"></span></p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001494" data-ratio="0.515625" data-s="300,640" src="/upload/3ef3a9d29848d7593001cd2e0a2a5413.png" data-type="png" data-w="1280" style=""></p> <p><span style="">推理前我们需要给它一个目标音色参考音频,可以在\logs\YeShu\5-wAV32k路径下取一个音频。</span></p> <p><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">参考音频</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">文本可以在\logs\YeShu\这个路径的这个文件里找到。</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">&nbsp;</span></p> <p><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">找不到自己去找对应训练的模型音频,随便弄个参考音频和文本输上,</span></p> <p>2.7:输入需要合成的文本:即想让训练的声音说什么内容,然后点击合成语音即可在右侧输出的语音中试听声音效果。</p> <p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-imgfileid="100001496" data-ratio="0.171875" data-s="300,640" src="/upload/9c869b17c8d90242a0352e64dcbd7fed.png" data-type="png" data-w="1280" style=""></p> <p>2.8:<span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">实时变声,</span><span style="font-size: var(--articleFontsize);letter-spacing: 0.034em;">后续的变声部分还在施工当中。</span></p> <p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001497" data-ratio="0.17249417249417248" data-s="300,640" src="/upload/d2d813bb69282c7aa0f5bb2b43fa2323.png" data-type="png" data-w="858" style=""></p> <p><span style="">结束语:<br></span></p> <p><span style="">GPT-SoVITS-WebUI凭借其强大的功能和易用性,为语音技术的爱好者和开发者提供了一个强大的工具。它使得语音合成、识别和处理变得更加高效和便捷。随着技术的不断发展,我们期待GPT-SoVITS-WebUI能在未来的日子里,为语音技术的探索和应用带来更多的可能性。</span></p> <p><span style="">下载地址:<span data-v-70440cc6="" style="color: rgb(24, 25, 28);font-family: " pingfang sc, harmonyos_regular, helvetica neue, microsoft yahei, sans-serif;font-size: 15px;letter-spacing: normal;text-align: start;white-space: pre-line;background-color: rgb(255, 255, 255);>出于对原作者的尊重,我不会直接提供整合包的网盘链接,有需要的可以按照提示,给&nbsp; &nbsp;</span>@花儿不哭 &nbsp; &nbsp;<span data-v-70440cc6="" style="color: rgb(24, 25, 28);font-family: " pingfang sc, harmonyos_regular, helvetica neue, microsoft yahei, sans-serif;font-size: 15px;letter-spacing: normal;text-align: start;white-space: pre-line;background-color: rgb(255, 255, 255);>发私信获取,或者从 Github 下载</span><br></span></p> <p><span style=""><span style="color: rgb(24, 25, 28);font-family: " pingfang sc, harmonyos_regular, helvetica neue, microsoft yahei, sans-serif;font-size: 15px;letter-spacing: normal;text-align: start;white-space: pre-line;background-color: rgb(255, 255, 255);>附原出处开源地址:https://github.com/RVC-Boss/GPT-SoVITS</span></span></p>

【RAG优化】一文整理20多种目前常用的 RAG 创新方法

作者:微信小助手

<section style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">搜罗了一下目前常用的和比较前沿的RAG方法和研究,20多种。</span></p> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">0. 标准 RAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">介绍</span></strong><span leaf="">&nbsp;:一个基本的 RAG 系统由检索模块和生成模块组成。系统会对查询进行编码,检索相关的文档块,然后为基于 transformer 的 LLM 构建丰富的提示。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">&nbsp;:将外部知识动态注入生成过程,而无需修改 LLM 本身,就像是给 LLM 戴上了一副能随时获取新知识的 “眼镜”。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">&nbsp;:简单有效,能够提升 LLM 的生成效果。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">&nbsp;:存在检索到很多与 query 无关的片段,增加噪声输入,与 query 关联的信息比较稀疏,需要 LLM 本身去提炼或挖掘利用。</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003558" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.5583333333333333" data-w="1080" src="/upload/add633fd7e466a0e24500918af5200c2.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">1. GraphRAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:结合知识图谱与RAG,通过实体和关系建模增强语义关联,支持多跳推理和复杂查询。例如,利用图谱的拓扑结构优化检索路径,提升对开放域问题的回答质量。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:显著提高答案的全面性和逻辑性,适用于知识密集型任务(如医学、法律问答)。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:图谱构建成本高,多模态图谱融合难度大。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">GraphRAG: Knowledge Graph Enhanced Retrieval-Augmented Generation</span></span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003560" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.5324074074074074" data-w="1080" src="/upload/db3a062c292be485402f81439c9f923b.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">2. Modular RAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:模块化设计,灵活集成检索、重排序、生成等组件,支持定制化功能(如多答案整合、多轮对话)。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:扩展性强,适应不同领域需求。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:组件协同优化复杂,系统调试成本高。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:https://arxiv.org/html/2407.21059v1</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003562" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="2.4518518518518517" data-w="1080" src="/upload/9cd27b309283d75a6bba67153c4f2265.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">3. Advanced RAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:在检索前后增加预处理(如查询重写)和后处理(如结果重排),提升信息相关性。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:减少噪声干扰,优化生成质量。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:流程复杂度增加,实时性受限。</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003559" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.5898148148148148" data-w="1080" src="/upload/84e2a771aa886445c6325f29df017db7.png"></span> </figure> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003561" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.4981481481481482" data-w="1080" src="/upload/883388e5b6d03c35961f5235c879b339.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">4. TRAQ</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:结合Conformal Prediction和贝叶斯优化,提供端到端统计正确性保证,减少生成中的虚构现象。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:首个实现开放域问答的统计可信度框架。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:依赖检索器和生成模型的性能假设。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">TRAQ: Trustworthy Retrieval-Augmented Question Answering</span></span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003563" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.4074074074074074" data-w="1080" src="/upload/3b1737443b5352dced282d43072a6f0b.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">5. ColBERT</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:基于张量分解的语义检索模型,通过近似矩阵乘法加速检索,支持百亿级语料库的实时查询。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:检索效率高,兼顾语义和字面匹配。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:预计算开销大,存储需求高。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction</span></span> </section></li> </ul> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">6. AgenticRAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:集成智能代理(Agent)技术,支持主动推理和用户个性化交互,如多轮对话中的上下文记忆。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:增强系统自主性,适应动态需求。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:内存管理和计算资源消耗大。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">链接</span></strong><span leaf="">:https://weaviate.io/blog/what-is-agentic-rag</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003566" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.5268518518518519" data-w="1080" src="/upload/adc57758a35faf1e83376d82f108f84e.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">7. Multimodal RAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:支持图像、音频等多模态数据检索与生成,如CLIP和BLIP模型的应用。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:跨模态信息整合,提升交互丰富性。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:模态对齐技术不成熟,计算成本高。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">链接</span></strong><span leaf="">:https://gautam75.medium.com/multi-modal-rag-a-practical-guide-99b0178c4fbb</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003568" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.4935185185185185" data-w="1080" src="/upload/a1822020dabbe582875f4cd656cd6602.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">8. HyDE(Hypothetical Document Embeddings)</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:生成假设性文档嵌入,引导检索过程,减少对显式知识库的依赖。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:增强零样本检索能力。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:依赖生成模型的虚构风险。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">链接</span></strong><span leaf="">:https://docs.haystack.deepset.ai/docs/hypothetical-document-embeddings-hyde</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003565" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.36574074074074076" data-w="1080" src="/upload/d8f0c337ab7f2c611d93810a03d1206f.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">9. RARE(Retrieval-Augmented Reasoning Engine)</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:主动拆解用户问题为子查询,多轮迭代优化检索结果,模仿人类推理过程。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:解决复杂问题的多跳推理需求。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:响应延迟显著增加。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:技术细节见</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">RARE: Retrieval-Augmented Reasoning Engine</span></span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003564" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.49444444444444446" data-w="1080" src="/upload/cccbe2faa7b438b62f3f0d9805002573.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">10. RA-DIT</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:结合微调(Fine-tuning)与RAG,通过参数调整优化检索与生成的协同。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:模型适应性强,支持领域定制。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:训练数据需求量大。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">RA-DIT: Retrieval-Augmented Dual Instruction Tuning</span></span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003572" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.39444444444444443" data-w="1080" src="/upload/61604c5ca631225cfbaa7e6354d90495.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">11. DSP(Demonstrate-Search-Predict)</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:在推理阶段动态结合示例检索、搜索和预测,提升生成可控性。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:灵活适应多样化任务。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:示例选择对性能影响大。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">Demonstrate-Search-Predict: Composing Retrieval and Language Models for Knowledge-Intensive NLP</span></span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003570" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.49444444444444446" data-w="1080" src="/upload/b1d149dadb8c5cd8d84941cc9fac2998.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">12. RETRO</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:在预训练阶段引入检索机制,增强模型的知识内化能力。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:生成内容更准确,减少幻觉。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:预训练成本极高。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">Improving Language Models by Retrieving from Trillions of Tokens</span></span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003569" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.5592592592592592" data-w="1080" src="/upload/982da1c94addece2d195714f25b5e0b6.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">13. Self-RAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:模型自主决定何时检索,动态调整生成策略,平衡检索成本与效果。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:自适应性强,资源利用率高。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:需要复杂的提示工程。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection</span></span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003573" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.5425925925925926" data-w="1080" src="/upload/f4b3e89de3d320d12b7cf1a88ec1a46a.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">14. KG2RAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">介绍</span></strong><span leaf="">&nbsp;:利用知识图谱来增强 LLM 生成效果,将检索文档 + rank 方式和利用图谱(知识库)两种方式融合起来</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:将知识图谱直接映射为检索源,利用图遍历技术优化实体关系查询。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:结构化知识利用率高。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:图谱更新和维护复杂。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">链接</span></strong><span leaf="">:https://arxiv.org/html/2502.06864v1</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003571" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.562962962962963" data-w="1080" src="/upload/7a957ffd511386f9be1a4fc8ef98f5ef.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">15. CoRAG(Collaborative RAG)</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">介绍</span></strong><span leaf="">&nbsp;:考虑块间相关性,使用蒙特卡洛树搜索(MCTS)框架处理添加块的单调效用问题,还使用设置代理适应各种查询类型</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">:多模型协作检索与生成,通过投票或加权融合提升结果鲁棒性。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">:减少单一模型偏差。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">:系统集成复杂度高。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">:https://arxiv.org/pdf/2501.14342</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003576" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.5416666666666666" data-w="1080" src="/upload/4d3fa9620255d5e00c3009b84200e235.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">16. Auto-RAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">介绍</span></strong><span leaf="">&nbsp;:使用 LLM 细化查询,通过多轮对话规划检索,直到收集到足够信息的自主方法。该系统会根据问题难度自适应调整,并用自然语言解释其过程。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">&nbsp;:通过多轮对话来细化查询和规划检索,能够根据问题难度自适应调整。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">&nbsp;:对问题难度的适应性高。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">&nbsp;:需要多轮对话处理,实现复杂。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">&nbsp;: https://arxiv.org/pdf/2411.19443</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003577" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.7712962962962963" data-w="1080" src="/upload/3fd852c410e5dba71136da09815a549f.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">17. MemoRAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">介绍</span></strong><span leaf="">&nbsp;:采用具有长期记忆的双系统方法。轻量级 LLM 创建数据库的 “全局记忆” 并生成回答草稿以指导检索工具,而更强大的 LLM 使用检索到的数据生成最终回答。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">&nbsp;:通过轻量级 LLM 和强大 LLM 的组合来实现高效处理。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">&nbsp;:能够通过轻量级 LLM 和强大 LLM 的组合实现高效处理。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">&nbsp;:需要构建双系统。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">链接</span></strong><span leaf="">&nbsp;:https://github.com/qhjqhj00/MemoRAG</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">&nbsp;:https://arxiv.org/pdf/2409.05591</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003574" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.6851282051282052" data-w="975" src="/upload/37368401610701013cbc0e50688cd270.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">18. HtmlRAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">介绍</span></strong><span leaf="">&nbsp;:直接使用 HTML,保留标题、表格等有价值的信息结构,而不是使用纯文本。通过清理和修剪技术处理 HTML 中的额外噪音和大小。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">&nbsp;:保留了 HTML 中的结构化信息,如标题和表格等。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">&nbsp;:能够保留更多的信息结构,有助于提高生成结果的质量。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">&nbsp;:需要对 HTML 进行噪声处理。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">&nbsp;:https://arxiv.org/pdf/2411.02959</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003578" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;height: auto !important; title="null" data-ratio="0.4444444444444444" data-w="1080" src="/upload/6d38bd951e737e3254d0067f808005e6.png"></span> </figure> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">19. FastRAG</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">介绍</span></strong><span leaf="">&nbsp;:使用模式和脚本学习高效处理数据,不完全依赖 AI 模型的方法。结合文本检索和知识图谱查询,提高精度,减少 90% 的处理时间和 85% 的成本。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">创新点</span></strong><span leaf="">&nbsp;:结合了文本检索和知识图谱查询,并通过模式和脚本学习来提高处理效率。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">优点</span></strong><span leaf="">&nbsp;:显著减少处理时间和成本。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">缺点</span></strong><span leaf="">&nbsp;:模式和脚本学习的适用范围有限。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">论文</span></strong><span leaf="">&nbsp;:https://arxiv.org/pdf/2411.13773</span> </section></li> </ul> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img alt="在这里插入图片描述" class="rich_pages wxw-img" data-imgfileid="100003575" data-type="png" style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: block;vertical-align: middle;max-width: 100%;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;width: 475px;height: auto !important; title="null" data-ratio="0.6731481481481482" data-w="1080" src="/upload/74c31e6bcec11a91dcf900a1204276ee.png"></span> </figure> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 16.8px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);><span leaf="">20. 其他方法(简要列举)</span></h2> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">FLARE</span></strong><span leaf="">:迭代检索与生成结合,动态扩展上下文窗口。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">RePlug</span></strong><span leaf="">:检索增强的预训练语言模型,支持多任务学习。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">Atlas</span></strong><span leaf="">:基于稠密检索的大规模知识增强模型。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">FiD(Fusion-in-Decoder)</span></strong><span leaf="">:在解码阶段融合多检索结果,提升生成多样性。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">RAGFlow</span></strong><span leaf="">:集成多模态文档解析(如DeepDoc模块),支持PDF、图像等非结构化数据处理。</span> </section></li> </ul> <hr style="box-sizing: border-box;border-width: 2px 0px 0px;border-style: solid;border-color: rgba(0, 0, 0, 0.1);height: 0.4em;color: inherit;margin: 1.5em 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, microsoft yahei, arial, sans-serif;font-size: 14px;transform-origin: 0px 0px;transform: scale(1, 0.5);> <h3 style="box-sizing: border-box;border-width: 0px 0px 0px 3px;border-style: solid;border-left-color: rgb(15, 76, 129);font-size: 15.4px;font-weight: bold;margin: 2em 8px 0.75em 0px;text-align: left;line-height: 1.2;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;padding-left: 8px;color: rgb(63, 63, 63);><span leaf="">总结</span></h3> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">以上方法覆盖了RAG技术的核心方向,包括图谱增强、模块化设计、多模态扩展、自适应检索等。未来趋势将聚焦于</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">多模态融合</span></strong><span leaf="">、</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">动态推理优化</span></strong><span leaf="">和</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);><span leaf="">轻量化部署</span></strong></p> <blockquote style="box-sizing: border-box;border-width: 0px 0px 0px 4px;border-style: solid;border-left-color: rgb(15, 76, 129);margin: 0px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;font-style: normal;padding: 1em;border-radius: 6px;color: rgba(0, 0, 0.5);background: rgb(247, 247, 247);></blockquote> </section>

最新扣子(coze)实战应用工作流:Deepseek+coze 一键制作爆款短视频 北大哲学篇,快来瞧瞧吧

作者:微信小助手

<section data-cacheurl="" data-remoteid="" style="background-position: 0% 0%;background-repeat: repeat;background-size: 83.5052%;background-attachment: scroll;line-height: 1.8;letter-spacing: 2px;padding: 0px;box-sizing: border-box;font-style: normal;text-align: justify;background-image: url(" https: mmbiz.qpic.cn mmbiz_png sqr7ote0d20cdkxiaquzw1gydtppjv6xp3ubzmsl8tjzn205tvhxqole1vdip04aibibxfb7flsdn7xa5qqbhn0wq 640?wx_fmt="png&amp;from=appmsg&quot;);&quot;"> <section class="mp_profile_iframe_wrp" nodeleaf="" style="font-weight: 400;color: rgb(62, 62, 62);"> <mp-common-profile class="custom_select_card mp_profile_iframe mp_common_widget" data-pluginname="mpprofile" data-nickname="杰克船长的AIGC" data-alias="TEL13961991338" data-from="0" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/sqr7oTe0d21clfmP61tzLwyE4BjqnOyOg8icgr7BDQUsLoRCMibR59hn8epa4QficTqwAmodnFOfogOHMnJ3WIUWg/0?wx_fmt=png" data-signature="杰克船长团队,搭建" 船长coze交流群,坚持日更,欢迎链接 data-id="MzkyMzY5OTkxOQ==" data-service_type="1"></mp-common-profile><span style="font-size: 17px;"></span> </section> <section style="font-weight: 400;color: rgb(62, 62, 62);transform: perspective(0px);transform-style: flat;box-sizing: border-box;"> <section style="text-align: center;margin: 10px 0px 0px;line-height: 0;transform: rotateY(180deg);-webkit-transform: rotateY(180deg);-moz-transform: rotateY(180deg);-o-transform: rotateY(180deg);box-sizing: border-box;"> <span style="font-size: 17px;"><br></span> </section> </section> <section style="box-sizing: border-box;"> <section style="font-weight: 400;color: rgb(0, 0, 0);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: flex;place-items: flex-start;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;background-color: rgb(255, 245, 235);margin-bottom: 20px;padding: 16px 10px;border: 1px solid rgb(254, 212, 164);border-radius: 8px;text-align: left;> <span style="display: flex;align-items: center;justify-content: center;"><span style="margin-right: 8px;"><span leaf="" style="font-size: 17px;">🎉</span></span></span> <section style=""> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;text-align: left;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">读完这篇文章,别忘记给舰长点一个关注!舰长的智能体搭建文章,不仅是节点的构建,也有思路的分享。智能体搭建最重要的就是思路。最希望,能给大家带来不一样的搭建思路和方法。 </span></span><span leaf=""> </span></span></p> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;text-align: left;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">点一点上方的🔵蓝色小字关注,你的支持是我最大的动力!🙏谢谢啦!🌟" </span></span><span leaf=""> </span></span></p> </section> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">大家好!我是舰长🙏&nbsp;</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="background-color: transparent;caret-color: var(--weui-BRAND);font-size: 17px;">&nbsp; &nbsp; &nbsp;昨天晚上舰长团队-福建老师利用近两小时直播教用Coze搭建一个的知识分享类视频制作工作流。因为所涉及内容较多建议先点个在看喔!先看一下本次分享成果:</span></p> <section nodeleaf="" style="font-weight: 400;color: rgb(62, 62, 62);"> <iframe class="video_iframe rich_pages" src="https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&amp;action=mpvideo&amp;auto=0&amp;vid=wxv_3866628040792883203" data-mpvid="wxv_3866628040792883203" data-vidtype="2" data-cover="http%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fsqr7oTe0d20CDKxiaqUzW1gyDTppJv6xpn4PxN1j5GRtT0XKmnWibShHesHk9Sc1nFkyD45Z2WO4ib0wZZJnoLUKg%2F0%3Fwx_fmt%3Djpeg" style=""></iframe><span style="font-size: 17px;"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">先梳理一下本次分享的目录和大致内容:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">1.为什么舰长会做这样的视频案例</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">2.视频工作流设计和思路分享</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">3.视频工作流各节点配置和使用</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">4.视频工具使用和下载注意,以及福利领取方式</span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-weight: bold;letter-spacing: 0.578px;background-color: transparent;caret-color: var(--weui-BRAND);font-size: 17px;">第一点:为什么舰长会做这样的视频案例</span></p> <h1 style="font-weight: bold;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="font-size: 17px;"><span leaf="" style=""><span style="color: rgb(31, 35, 41);">不管哪些自媒体平台上,</span><span style="color: rgb(47, 118, 195);">能提供情绪价值的视频图文或者知识分享类的视频图文,都是较为好的视频</span><span style="color: rgb(31, 35, 41);">,且这些视频有一个有点好做!还能引发共鸣。</span></span><span leaf="" style="color: rgb(31, 35, 41);font-weight: 400;letter-spacing: normal;background-color: transparent;caret-color: var(--weui-BRAND);"> </span></span></h1> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029083" data-ratio="0.5101851851851852" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/263e617afd9c817ef81c81be8814b4ec.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span leaf="" style=""><span style="color: rgb(47, 118, 195);font-weight: bold;">抖音搜索“半条心理”</span><span style="font-weight: 400;color: rgb(31, 35, 41);">,通过搜索该人可以发现,他的视频流量是相当可以的,一个视频有几万到几十万的点赞,短短三个月多涨粉10万多。</span></span><span leaf="" style="font-weight: 400;color: rgb(31, 35, 41);"> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">而舰长这套工作流可以在2分钟之内容做出一样的效果出来</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span leaf=""><br></span></span></p> <h1 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">第二点:视频工作流设计和思路分享</span></span></h1> <p style="font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span leaf="" style=""><span style="color: rgb(31, 35, 41);">不管我们在使用Coze搭建各种各样的工作流都有一定的</span><span style="font-weight: bold;color: rgb(47, 118, 195);">思路和想法(解决方法)</span><span style="color: rgb(31, 35, 41);">而本次的案例思路还要多一个,要会用剪映制作视频。</span></span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">该对标账号的视频中的元素:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">白色带黑色线条的背景;左上角的文字;右上角的文字;中间不停切换的矢量icon图;视频下方的视频;以及背景音频(讲知识)</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029080" data-ratio="0.6259259259259259" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/0012711fb53f050c2d450a0180fcacd1.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">有了这些元素我们就能在剪映上制作出样的视频,当然元素如何获取?这也是一个很重要的地方。当然如果使用从Coze工作流来提供元素的话就方便的多。</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">左上方文字为本视频的总结话语,可以用大模型节点为我们生成;右上方文字,背景和黑色线条都是不动的元素,中间的矢量icon图可以用生成图像节点制作,下方的实时字幕需要借助工具,背后的音频可以用官方插件语音合成来制作。</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h1 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">第三点:视频工作流各节点配置和使用</span></span></h1> <h2 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">工作流部分分两个部分:素材部分和制作视频部分</span></span></h2> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);font-weight: bold;"><span leaf="">素材部分:</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029082" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/98de2d50e74b86ef9eb85b41fdf5a888.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">开始节点:</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" data-imgfileid="100029081" src="/upload/082ff44c2c506e83629df02cdcbc5e0e.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">语音合成插件:</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029079" data-ratio="0.2791519434628975" data-type="png" data-w="849" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/2c6ecaec0de80634871b0d48a7dad801.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">text:为文本输入引用开始节点即可</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">speed_ratio:为语速,可看情况调节</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">voice_id:声音音色配置</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" data-imgfileid="100029088" src="/upload/aa7dde2ae9313d871b95d1131b3868b3.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">获取音频时长插件(获取生成音频的时间,秒)</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029085" data-ratio="0.1962962962962963" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/28eaafd75e5724abea2d0feaefe82140.png"></span> </section> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" data-imgfileid="100029086" src="/upload/2819805758aae100594787e96d5947f0.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">代码节点:计算音频总时长(微秒)</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">这个代码主要功能就是在输入进来的时间*100000</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">代码舰长已经整理好~</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029089" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/8db8c89ea9925acde619d742f0481946.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">大模型节点:专门生成图片的提示词</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输入:引用开始节点的参数</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">系统提示词和用户提示词都已整理好</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输出:要修改为array</span> <srting></srting></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029087" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/f59635bb3cd4bf3a4e2f1bbe663242ac.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">循环节点外部配置:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">循环类型:现在循环数组</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">循环数组:引用大模型节点(图中的制作矢量图的词汇输出)</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输出:需要配置好内容节点才可以引用,这里是引用循环中的插件“抠图cutout”的输出</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029092" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/e9ea4af6d3b0ba298059b1570224bb2b.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">循环节点内部节点配置:图像生成(专门生成矢量的小人物图片)</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">模型设置舰长这里是没有动的,也就是默认,可以根据情况进行调节</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输入:引用循环的(item input)</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">提示词</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;margin-top: 12px;margin-bottom: 12px;> <span style="display: block;height: 30px;background-color: rgb(40, 44, 52);border-top-left-radius: 5px;border-top-right-radius: 5px;margin: 0px;color: rgb(0, 0, 0);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="height: 30px;line-height: 30px;margin-left: 10px;display: flex;"><span style="width: 10px;height: 10px;border-radius: 50%;background-color: rgb(255, 95, 86);margin-right: 8px;margin-top: 10px;"><span leaf="" style="font-size: 17px;"><br></span></span><span style="width: 10px;height: 10px;border-radius: 50%;background-color: rgb(255, 189, 46);margin-right: 8px;margin-top: 10px;"><span leaf="" style="font-size: 17px;"><br></span></span><span style="width: 10px;height: 10px;border-radius: 50%;background-color: rgb(39, 201, 63);margin-top: 10px;"><span leaf="" style="font-size: 17px;"><br></span></span></span></span> <pre style="margin: 0px;"><code style="color: rgb(171, 178, 191);background: rgb(40, 44, 52);padding: 4px 15px 15px;display: block;overflow-x: auto;border-bottom-left-radius: 5px;border-bottom-right-radius: 5px;font-family: Consolas, Monaco, Menlo, monospace;line-height: 1.5;"><span leaf="" style="font-size: 17px;">生成两个人型图案,一个为红色人型图案,一个为绿色人型图案,图标风格,纯白色背景,纸片人风格,{{input}}</span></code></pre> </section> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" data-imgfileid="100029093" src="/upload/e46ce198876cfe2aecf5b84a1f64493b.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">循环节点内部节点配置:插件-抠图(官方插件抠图)</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">这个节点是为了将图像生成的图片的背景给剔除</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">上传图:就引用图像生成的输出“data”</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029094" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/2bfcff5f109f4cec0a6f5ff506273716.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <section style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;border-left: 3px solid rgb(187, 191, 196);padding: 0px 4px 12px;margin-bottom: 12px;> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">完成循环内部节点的配置后回到循环节点的外部,对输出进行一个引用,引用对象就是插件的输出</span></span><span leaf=""> </span></span></p> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">文本处理节点</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">目的:将动画进行手动排序设置好后,用文本处理进行字符串分隔</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">需要处理文本(这些词汇都是剪映上的动画名称):</span></span><span style="color: rgb(31, 35, 41);text-decoration: underline;"><span leaf="">动感缩小;放大;向右滑动;向左滑动;向右甩入;向下滑动;向上滑动;动感缩小;放大;向右滑动</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">处理后的效果:</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029090" data-ratio="0.5064814814814815" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/878fc52c48deee349c61a7b2d9632e06.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">节点的配置如下:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">选择字符串分隔</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">456输入需要处理的文本,可以选择变量方式传入也可以选择直接文本传入。</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">分隔符根据动画之间的间隔符号来决定</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029091" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/013fe6c581472e407d26318014ddcad9.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <section style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;border-left: 3px solid rgb(187, 191, 196);padding: 0px 4px 12px;margin-bottom: 12px;> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">到这里我们所有的材料和所需都已经准备好,下面就是本次的分享重中之重,将这些内容整合到一起,变成一个视频。</span></span><span leaf=""> </span></span></p> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h2 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">制作视频部分</span></span></h2> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">将素材合成一个视频主要依靠舰长的合作伙伴所开发的一款插件:视频合成_剪映小助手</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029097" data-ratio="0.23511604439959638" data-type="png" data-w="991" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/cbd19e7b3d6c0cb7ede7b6680c871ee9.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">要想成功完成一个视频素材的融合,需要先知道插件如何使用,基本流程是什么?</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">舰长这里简单的讲解一下,在插件中有其他插件工具。想要合成一个一个视频需要一个创建草稿(工具名称:create_draft),有了草稿还需要一个保存草稿(工具名称:save_draft)</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;margin-bottom: 18px;display: flex;justify-content: space-between;flex-shrink: 0;> <section key="278" style="font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: inline-block;flex: 1 0%;padding: 0px 4px;> <section> <section style="text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" data-imgfileid="100029098" src="/upload/fc3bb7d79a1efd335f20d1f8466b4f4d.png"></span> </section> </section> </section> <section key="280" style="font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: inline-block;flex: 1 0%;padding: 0px 4px;> <section> <section style="text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029099" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/ff1fd6cacf261e4b918f0b4ef68249ec.png"></span> </section> </section> </section> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">这两款工具就是一个视频草稿的基本步骤,由(工具名称:create_draft)开始(工具名称:save_draft)结束。</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">其余工具就不一一介绍,主要介绍我们本次搭建所需要用到的插件。</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;margin-bottom: 18px;display: flex;justify-content: space-between;flex-shrink: 0;> <section key="282" style="font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: inline-block;flex: 1 0%;padding: 0px 4px;> <section> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">批量添加图片</span></span><span leaf=""> </span></span></p> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">(工具名称:add_images)</span></span><span leaf=""> </span></span></p> <section style="text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-ratio="0.3500464252553389" data-type="png" data-w="1077" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" data-imgfileid="100029095" src="/upload/2f6953da5e77797473678acacdd53dfe.png"></span> </section> </section> </section> <section key="286" style="font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: inline-block;flex: 1 0%;padding: 0px 4px;> <section> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">批量添加音频</span></span><span leaf=""> </span></span></p> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">(工具名称:add_audios)</span></span><span leaf=""> </span></span></p> <section style="text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-ratio="0.3435185185185185" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" data-imgfileid="100029096" src="/upload/4782d5f08cb6fa0d4f47355db717a7df.png"></span> </section> </section> </section> <section key="290" style="font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: inline-block;flex: 1 0%;padding: 0px 4px;> <section> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">批量添加字幕</span></span><span leaf=""> </span></span></p> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">(工具名称:add_captions)</span></span><span leaf=""> </span></span></p> <section style="text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-ratio="0.34629629629629627" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" data-imgfileid="100029100" src="/upload/9e60948fad446d4bbffb8db3a853d36b.png"></span> </section> </section> </section> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">工作流详图:这里截掉了上半部分工作流</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029102" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/a620408c1d388c072c09a66e3bba3620.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <section style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;border-left: 3px solid rgb(187, 191, 196);padding: 0px 4px 12px;margin-bottom: 12px;> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">整个工作流舰长截图给大家,大家有没有发现什么规律?</span></span><span leaf=""> </span></span></p> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">每个插件前是不是都有1~2个节点(有大模型节、文本处理节点、代码节点)这些节点可以说都是为了将内容传输到插件中,因为插件有特殊的传递格式需要靠这些节点去准备。</span></span><span leaf=""> </span></span></p> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">里面涉及到4个代码节点,都是较为简单的代码组成,主要就是格式转换加上一些计算。</span></span><span leaf=""> </span></span></p> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h3 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">创建草稿</span></span></h3> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">height:为画幕的高</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">width:为画幕的宽</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">900:1440是9:16的比例</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029103" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/f600bce8d760ad9249f4233130da374c.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h3 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">添加背景图片(两个节点)</span></span></h3> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">文本处理节点:背景图传输转字符串</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">srting1:是图片链接也就是背景图片的在线链接:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">https://p9-bot-sign.byteimg.com/tos-cn-i-v4nquku3lp/d48ed6761667430986f5bf6090d0b3ea.jpg~tplv-v4nquku3lp-image.image?rk3s=68e6b6b5&amp;x-expires=1742089416&amp;x-signature=pT5Ntx1N3DFuPJkoc%2BhFyhDdKVE%3D</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">srting2:引用代码节点(获取音频总时间)的输出result</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;margin-top: 12px;margin-bottom: 12px;> <span style="display: block;height: 30px;background-color: rgb(40, 44, 52);border-top-left-radius: 5px;border-top-right-radius: 5px;margin: 0px;color: rgb(0, 0, 0);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="height: 30px;line-height: 30px;margin-left: 10px;display: flex;"><span style="width: 10px;height: 10px;border-radius: 50%;background-color: rgb(255, 95, 86);margin-right: 8px;margin-top: 10px;"><span leaf="" style="font-size: 17px;"><br></span></span><span style="width: 10px;height: 10px;border-radius: 50%;background-color: rgb(255, 189, 46);margin-right: 8px;margin-top: 10px;"><span leaf="" style="font-size: 17px;"><br></span></span><span style="width: 10px;height: 10px;border-radius: 50%;background-color: rgb(39, 201, 63);margin-top: 10px;"><span leaf="" style="font-size: 17px;"><br></span></span></span></span> <pre style="margin: 0px;"><code style="color: rgb(171, 178, 191);background: rgb(40, 44, 52);padding: 4px 15px 15px;display: block;overflow-x: auto;border-bottom-left-radius: 5px;border-bottom-right-radius: 5px;font-family: Consolas, Monaco, Menlo, monospace;line-height: 1.5;"><span style="font-size: 17px;"><span leaf="">[{</span><span style="color: rgb(152, 195, 121);"><span leaf="">"image_url"</span></span><span leaf="">:&nbsp;</span><span style="color: rgb(152, 195, 121);"><span leaf="">"{{String1}}"</span></span><span leaf="">,</span><span style="color: rgb(152, 195, 121);"><span leaf="">"width"</span></span><span leaf="">:&nbsp;</span><span style="color: rgb(209, 154, 102);"><span leaf="">1440</span></span><span leaf="">,</span><span style="color: rgb(152, 195, 121);"><span leaf="">"height"</span></span><span leaf="">:&nbsp;</span><span style="color: rgb(209, 154, 102);"><span leaf="">900</span></span><span leaf="">,</span><span style="color: rgb(152, 195, 121);"><span leaf="">"start"</span></span><span leaf="">:&nbsp;</span><span style="color: rgb(209, 154, 102);"><span leaf="">0</span></span><span leaf="">,</span><span style="color: rgb(152, 195, 121);"><span leaf="">"end"</span></span><span leaf="">: {{</span><span style="color: rgb(230, 192, 123);"><span leaf="">String2</span></span><span leaf="">}} }]</span></span></code></pre> </section> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029104" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/6b33e8b52ad8562b73387983ea41d560.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">添加图片插件</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">这个插件需要提供上一个插件节点的草稿ID(draft_content);这个草稿ID是顺着来的,必须连接上一个ID,这里是除了创建草稿后的第一个插件,所以引用创建草稿的。</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">draft_content:引用创建草稿插件的(create_draft)的draft_content</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">image_infos:图片输入,引用背景图传输转字符串(文本处理节点)</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029101" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/26c3aebf0ad15121f6ed94147ff05b52.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h3 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">添加矢量icon图片(两个节点)</span></span></h3> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">代码节点:矢量图传输字符串转换</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">url:引用前面循环节点的输出</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">audio_duration:引用代码节点(计算音频总时间)的输出result</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">animation:动画词,引用文本处理节点(动画关键词导入)的输出</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">代码:代码较长舰长已经准备好</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输出变量名为result</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029105" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/7bb592e0d10664ce5a355f660df42bf0.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">添加图片插件</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">这个插件需要提供上一个插件节点的草稿ID(draft_content);这个草稿ID是顺着来的,必须连接上一个ID</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">draft_content:引用第一个添加图片插件(add_images)的draft_content</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">image_infos:图片输入,引用代码节点(矢量图传输字符串转换)</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">scale_x和scale_y是图片缩放值:设置0.4就是40%</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029106" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/7ce1bdc602d15a35f025dd7eead64113.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h3 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">添加左上字幕(两个节点)</span></span></h3> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">视频中的左上角是由每次提供主题而生成的字幕,所以单独使用一个插件导入。主题是通过模型来生成的,同时还有传输插件的内容一并靠模型解决即可。</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">大模型节点:左上角视频主题文字传输</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输入:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">input:引用开始节点</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">end:引用代码节点(计算音频总时间)的输出result</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">系统提示词:</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;margin-top: 12px;margin-bottom: 12px;> <span style="display: block;height: 30px;background-color: rgb(40, 44, 52);border-top-left-radius: 5px;border-top-right-radius: 5px;margin: 0px;color: rgb(0, 0, 0);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="height: 30px;line-height: 30px;margin-left: 10px;display: flex;"><span style="width: 10px;height: 10px;border-radius: 50%;background-color: rgb(255, 95, 86);margin-right: 8px;margin-top: 10px;"><span leaf="" style="font-size: 17px;"><br></span></span><span style="width: 10px;height: 10px;border-radius: 50%;background-color: rgb(255, 189, 46);margin-right: 8px;margin-top: 10px;"><span leaf="" style="font-size: 17px;"><br></span></span><span style="width: 10px;height: 10px;border-radius: 50%;background-color: rgb(39, 201, 63);margin-top: 10px;"><span leaf="" style="font-size: 17px;"><br></span></span></span></span> <pre style="margin: 0px;"><code style="color: rgb(171, 178, 191);background: rgb(40, 44, 52);padding: 4px 15px 15px;display: block;overflow-x: auto;border-bottom-left-radius: 5px;border-bottom-right-radius: 5px;font-family: Consolas, Monaco, Menlo, monospace;line-height: 1.5;"><span style="font-size: 17px;"><span leaf="">根据用户输入内容:{{input}},识别出一个主题不超过</span><span style="color: rgb(209, 154, 102);"><span leaf="">10</span></span><span leaf="">字</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">## 输出格式(按编排好的内容进行输出)</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">[{</span><span style="color: rgb(152, 195, 121);"><span leaf="">"text"</span></span><span leaf="">:</span><span style="color: rgb(152, 195, 121);"><span leaf="">"{生成的主题内容}"</span></span><span leaf="">,</span><span style="color: rgb(152, 195, 121);"><span leaf="">"start"</span></span><span leaf="">:</span><span style="color: rgb(209, 154, 102);"><span leaf="">0</span></span><span leaf="">,</span><span style="color: rgb(152, 195, 121);"><span leaf="">"end"</span></span><span leaf="">:{{end}}}]</span></span></code></pre> </section> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029109" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/a294ebc478c687cdcbb91d53ca2b76b0.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">添加字幕插件</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">这个插件需要提供上一个插件节点的草稿ID(draft_content);这个草稿ID是顺着来的,必须连接上一个ID</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">captions:图片输入,引用大模型节点(左上角视频主题文字传输)的输出</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">draft_content:引用第一个添加图片插件(add_images_1)的draft_content</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">alignment:文字对齐,0左对齐</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">font_size:文字大小,5号</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">text_color:文本颜色,#000000为黑色</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">transform_x:x轴方向-1020</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">transform_y:y轴方向800&nbsp;</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029107" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/161f697e814ad3bf5fd113adbbd7f564.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h3 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">添加音频(两个节点)</span></span></h3> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">这个音频就是背后说话人的音频,由插件语言合成提供音频URL</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);font-weight: bold;"><span leaf="">代码节点:(音频传输字符串转换)</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输入:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">“link”:引用语音合成插件(speech_synthesis)的“link”</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">duration:引用获取音频时长插件(get_audio_duration)的输出</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">代码:代码较长舰长已经准备好</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输出:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">设置变量名称为“key0”变量类型为srting</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029108" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/65ec70a5799313f10feeb37dc673bfa1.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);font-weight: bold;"><span leaf="">添加音频插件</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">这个插件需要提供上一个插件节点的草稿ID(add_captions_1);这个草稿ID是顺着来的,必须连接上一个ID。</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">audio_infos:素材内容传输,引用前置代码节点的输出</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">draft_content:引用第一个添加图片插件(add_captions_1)的draft_content</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(0, 0, 0);font-family: " microsoft yahei;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;margin-bottom: 12px; nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029112" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/648502e784e9b939ca8995fb82ea557b.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h3 style="font-weight: bold;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">添加字幕主要字幕(三个节点)</span></span></h3> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">字幕会根据音频说话人的声音时间去跳动转换</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);font-weight: bold;"><span leaf="">代码节点:计算文字和音频对应出现时间</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输入:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">text:引用开始的text变量</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">audio_duration:引用插件(get_audio_duration)获取音频时长的输出</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">代码:代码较长舰长已经准备好</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="color: rgb(31, 35, 41);font-size: 17px;"><span leaf="">输出:子项是该输出变量的右边“+”号,且类型为Array</span><span leaf="">或object </span></span></p> <p style="font-weight: 400;color: rgb(62, 62, 62);"><span leaf="" style="font-size: 17px;"><br></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="color: rgb(31, 35, 41);font-size: 17px;"><span leaf="">detail 类型为Array</span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(62, 62, 62);"><span leaf="" style="font-size: 17px;"><br></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">增加detail子项:sentence 类型为Srting</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">增加detail子项:time_range 类型为object</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">增加time_range的子项:start 类型为Srting</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">增加time_range的子项:end 类型为Srting</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">增加detail子项:effective_char_count 类型为Srting</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">增加detail子项:word_count 类型为Srting</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(62, 62, 62);text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029111" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/8f7e26e9dea8f973f47b0c07ee5ba9fb.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);font-weight: bold;"><span leaf="">代码节点:字幕内容传输字符串转换</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输入:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">detail:引用代码节点(计算文字和音频对应出现时间)的输出“detail”</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">代码:代码较长舰长已经准备好</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输出:result 变量类型为Srting</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(62, 62, 62);text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029110" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/d24a56d3ce39d668aa1e3a26600bd76d.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);font-weight: bold;"><span leaf="">添加字幕插件</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">captions:引用代码节点(字幕内容传输字符串转换)</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">draft_content:引用上一个插件节点(add_audios)的“draft_content”</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">alignment:1</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">font_size:10</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">text_color:#000000</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">transform_y:-700</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(62, 62, 62);text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029114" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/7df5294cd1ead85fe3e61957588f2dcf.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h3 style="font-weight: bold;color: rgb(31, 35, 41);font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">保存草稿</span></span></h3> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">到这里整个剪映草稿的模版编辑就完成了,完成这一步即可获得一个剪映的草稿ID</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">输入:引用前面一个插件(添加字幕插件 add_captions)的draft_content</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(62, 62, 62);text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029113" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/42df5570ffa63d82475aeac41595983d.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h3 style="font-weight: bold;color: rgb(31, 35, 41);font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">结束节点</span></span></h3> <section style="font-weight: 400;color: rgb(62, 62, 62);text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029117" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/27711a68660764fbb78bec1961f2130c.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <section style="font-weight: 400;color: rgb(31, 35, 41);font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;border-left: 3px solid rgb(187, 191, 196);padding: 0px 4px 12px;margin-bottom: 12px;> <p style="line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(31, 35, 41);margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">这样相当于两个部分的工作流都已经搭建好(素材准备部分+剪映草稿编辑部分)整个流程逻辑就是通过一个视频插件+前置的转换格式导入节点组成。看似复杂,体验下来还是相当顺手的。</span></span><span leaf=""> </span></span></p> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <h1 style="font-weight: bold;color: rgb(31, 35, 41);font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;letter-spacing: 0.578px;margin-top: 0px;margin-bottom: 8px;padding-bottom: 12px;><span style="color: rgb(31, 35, 41);"><span leaf="" style="font-size: 17px;">第四点 视频工具使用和下载注意,其他需要注意点</span></span></h1> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">通过工作流的最后的保存草稿,会返回一个:draft_url链接,而这个链接需要借助一个平台去提取到自己的剪映中。</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">第一步:确保自己电脑有剪映专业版</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">第二步:打开网址下载软件:</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">https://ts.fyshark.com/#/login?user_id=7560</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(62, 62, 62);text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029118" data-ratio="0.5407407407407407" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/50dd307bda3366d9b5fef3222f5d3cae.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">第三步:解压缩文件并安装</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">第四步:打开软件——点击个人中心——手机验证码登入</span></span><span leaf=""> </span></span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">第五步:设置个人中间草稿位置和剪映中的草稿位置,确保在同一个位置即可</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(62, 62, 62);margin-bottom: 18px;display: flex;justify-content: space-between;flex-shrink: 0;"> <section key="298" style="font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: inline-block;flex: 1 0%;padding: 0px 4px;> <section> <section style="text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-ratio="0.5222222222222223" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" data-imgfileid="100029116" src="/upload/ff3662b0923919ebb2550d3a69546143.png"></span> </section> </section> </section> <section key="300" style="font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: inline-block;flex: 1 0%;padding: 0px 4px;> <section> <section style="text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029119" data-ratio="0.6240740740740741" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/0e2706775ece475eb707e9500c5ab4cc.png"></span> </section> </section> </section> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">第六步:点击剪映小助手回到首页,粘贴工作流返回的链接</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(62, 62, 62);text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029115" data-ratio="0.5222222222222223" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/21238fa2304da36712670ba593be70e8.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">第七步:点击创建剪映草稿即可,等待一会可以在剪映的草稿位置看到</span></span><span leaf=""> </span></span></p> <section style="font-weight: 400;color: rgb(62, 62, 62);text-align: center;margin-bottom: 12px;" nodeleaf=""> <span style="font-size: 17px;"><img alt="Image" class="rich_pages wxw-img" data-imgfileid="100029122" data-ratio="0.6666666666666666" data-type="png" data-w="1080" style="display: inline-block;max-width: 100%;border-radius: 12px;height: auto !important;" src="/upload/20f06c5a3d9b3e10bcf1625da0f17b42.png"></span> </section> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span leaf="" style="font-size: 17px;"> </span></p> <p style="font-weight: 400;color: rgb(31, 35, 41);line-height: 2em;font-family: " pingfang sc, system-ui, -apple-system, blinkmacsystemfont, helvetica neue, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;margin: 0px 4px;word-break: break-all;min-height: 20px;><span style="font-size: 17px;"><span style="color: rgb(31, 35, 41);"><span leaf="">注意事项:如果遇到打开无法显示素材元素的叉掉重新进一次即可。下载软件为剪映小助手,每天享有三次免费的提取次数。</span></span></span></p> </section> </section>

面试官最爱问:你线上 QPS 是多少?你怎么知道的?

作者:微信小助手

<section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, 'Microsoft YaHei', PingFangSC-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;overflow-wrap: break-word;text-align: left;"> <h2 data-tool="mdnice编辑器" style=" border-bottom-color: rgb(239, 112, 96);margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 2px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.1em;overflow-x: unset;overflow-y: unset; text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;color: rgb(255, 169, 0);font-size: 18px; "><span style="display: none;"></span><span style=" font-size: 22px;color: rgb(255, 255, 255);background-color: rgb(239, 112, 96);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 3px;border-top-right-radius: 3px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 5px;overflow-x: unset;overflow-y: unset;padding-top: 3px;padding-bottom: 1px;padding-left: 10px;padding-right: 10px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">说在前面</span></span><span style="display: none;"></span><span style=" border-bottom-color: rgb(239, 235, 233);align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: solid;border-top-width: 1px;border-bottom-width: 36px;border-left-width: 1px;border-right-width: 20px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: transparent;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;color: rgb(0, 0, 0);display: inline-block;font-size: 16px;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;letter-spacing: 0px;line-height: 1.1em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">&nbsp;</span></span></h2> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">在小北的读者群里,无数小伙伴为了拿高薪,疯狂卷大厂面试、卷架构师面经。有一个问题,几乎成了面试必考题:</span></p> <blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgb(239, 112, 96);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 249, 249);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0px;text-align: left;font-weight: normal;"></span> <p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;color: rgb(0, 0, 0);font-size: 15px;line-height: 1.8em;letter-spacing: 0px;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">“你们系统QPS多少?你怎么知道的?如果每天几千万请求,系统怎么部署?”</span></strong></p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">这题堪称面试界的“钉子户”,</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">10个面试9个问</span></strong><span leaf="">!</span><br><span leaf="">今天,小北就用</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">多年开发经验</span></strong><span leaf="">,带大家手撕这个题,从理论到实操,从监控到部署,</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">让你面试时怼得面试官心服口服</span></strong><span leaf="">!</span></p> <blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgb(239, 112, 96);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 249, 249);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0px;text-align: left;font-weight: normal;"></span> <p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;color: rgb(0, 0, 0);font-size: 15px;line-height: 1.8em;letter-spacing: 0px;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">文末附有满分面试回答</span></strong></p> </blockquote> <h2 data-tool="mdnice编辑器" style=" border-bottom-color: rgb(239, 112, 96);margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 2px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.1em;overflow-x: unset;overflow-y: unset; text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;color: rgb(255, 169, 0);font-size: 18px; "><span style="display: none;"></span><span style=" font-size: 22px;color: rgb(255, 255, 255);background-color: rgb(239, 112, 96);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 3px;border-top-right-radius: 3px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 5px;overflow-x: unset;overflow-y: unset;padding-top: 3px;padding-bottom: 1px;padding-left: 10px;padding-right: 10px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">一、QPS扫盲</span></span><span style="display: none;"></span><span style=" border-bottom-color: rgb(239, 235, 233);align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: solid;border-top-width: 1px;border-bottom-width: 36px;border-left-width: 1px;border-right-width: 20px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: transparent;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;color: rgb(0, 0, 0);display: inline-block;font-size: 16px;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;letter-spacing: 0px;line-height: 1.1em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">&nbsp;</span></span></h2> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">1.1 什么是QPS?</span></span><span style="display: none;"></span></h3> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">QPS = 每秒查询数</span></strong><span leaf="">(Query Per Second),简单说就是</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">服务器1秒能接多少活</span></strong><span leaf="">。</span><br><span leaf="">举个例子:</span></p> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">小摊煎饼:老板1分钟能做10个煎饼 →&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">QPS≈0.17</span></strong><span leaf="">(10/60)</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">肯德基窗口:1分钟能出餐50份 →&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">QPS≈0.83</span></strong> </section></li> </ul> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">QPS越高,说明系统越能扛!</span></strong></p> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">1.2 QPS、TPS、RT的关系</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">🔹&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">TPS(每秒事务数)</span></strong></span><span style="display: none;"></span></h4> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">事务 = 一套完整操作(比如下单:选商品→支付→扣库存)</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">TPS = 1秒能完成多少套完整操作</span></strong> </section></li> </ul> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">🔹&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">RT(响应时间)</span></strong></span><span style="display: none;"></span></h4> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">从你点外卖到拿到餐的时间 →&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">RT=30分钟</span></strong> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">系统处理一个请求的时间 →&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">RT=200ms</span></strong> </section></li> </ul> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">三者的数学关系</span></strong></span><span style="display: none;"></span></h4> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">QPS = 并发数 / RT &nbsp;</span><br><span leaf="">TPS = QPS × 每个请求的事务数 &nbsp;</span><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">举个栗子:</span></strong></p> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">系统RT=50ms,100人同时点外卖 → QPS = 100 / 0.05 = 2000</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">每个下单请求包含3个事务(扣库存、支付、发短信) → TPS = 2000 × 3 = 6000</span> </section></li> </ul> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">1.3 必须知道的性能公式</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">📈&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">二八定律算峰值QPS</span></strong></span><span style="display: none;"></span></h4> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">假设系统每天1000万请求:</span></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">峰值QPS = (总请求 × 80%) / (24h × 20% × 3600秒) &nbsp;</span><br><span leaf="">= (10,000,000 × 0.8) / (6 × 3600) &nbsp;</span><br><span leaf="">≈ 370 QPS &nbsp;</span><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">这意味着:系统必须能稳定扛住370 QPS,否则高峰期必崩!</span></strong></p> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h2 data-tool="mdnice编辑器" style=" border-bottom-color: rgb(239, 112, 96);margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 2px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.1em;overflow-x: unset;overflow-y: unset; text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;color: rgb(255, 169, 0);font-size: 18px; "><span style="display: none;"></span><span style=" font-size: 22px;color: rgb(255, 255, 255);background-color: rgb(239, 112, 96);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 3px;border-top-right-radius: 3px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 5px;overflow-x: unset;overflow-y: unset;padding-top: 3px;padding-bottom: 1px;padding-left: 10px;padding-right: 10px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">二、实战!监控QPS的4步大法</span></span><span style="display: none;"></span><span style=" border-bottom-color: rgb(239, 235, 233);align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: solid;border-top-width: 1px;border-bottom-width: 36px;border-left-width: 1px;border-right-width: 20px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: transparent;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;color: rgb(0, 0, 0);display: inline-block;font-size: 16px;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;letter-spacing: 0px;line-height: 1.1em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">&nbsp;</span></span></h2> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">2.1 第一步:给Spring Boot装“监控探头”</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">加依赖</span></strong></span><span style="display: none;"></span></h4> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">在项目的</span><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">pom.xml</span></code><span leaf="">里塞两个“监控神器”:</span></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""><!-- 健康检查 --></span></span><span leaf="">&nbsp;&nbsp;</span><br><span style="line-height: 26px;"><span leaf="">&lt;</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">dependency</span></span><span leaf="">&gt;</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="line-height: 26px;"><span leaf="">&lt;</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">groupId</span></span><span leaf="">&gt;</span></span><span leaf="">org.springframework.boot</span><span style="line-height: 26px;"><span leaf=""><!--/</span--><span style="color: #e06c75;line-height: 26px;"><span leaf="">groupId</span></span><span leaf="">&gt;</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="line-height: 26px;"><span leaf="">&lt;</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">artifactId</span></span><span leaf="">&gt;</span></span><span leaf="">spring-boot-starter-actuator</span><span style="line-height: 26px;"><span leaf=""><!--/</span--><span style="color: #e06c75;line-height: 26px;"><span leaf="">artifactId</span></span><span leaf="">&gt;</span></span><span leaf="">&nbsp;&nbsp;</span><br><span style="line-height: 26px;"><span leaf=""><!--/</span--><span style="color: #e06c75;line-height: 26px;"><span leaf="">dependency</span></span><span leaf="">&gt;</span></span><span leaf="">&nbsp;&nbsp;</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""><!-- Prometheus数据采集 --></span></span><span leaf="">&nbsp;&nbsp;</span><br><span style="line-height: 26px;"><span leaf="">&lt;</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">dependency</span></span><span leaf="">&gt;</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="line-height: 26px;"><span leaf="">&lt;</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">groupId</span></span><span leaf="">&gt;</span></span><span leaf="">io.micrometer</span><span style="line-height: 26px;"><span leaf=""><!--/</span--><span style="color: #e06c75;line-height: 26px;"><span leaf="">groupId</span></span><span leaf="">&gt;</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="line-height: 26px;"><span leaf="">&lt;</span><span style="color: #e06c75;line-height: 26px;"><span leaf="">artifactId</span></span><span leaf="">&gt;</span></span><span leaf="">micrometer-registry-prometheus</span><span style="line-height: 26px;"><span leaf=""><!--/</span--><span style="color: #e06c75;line-height: 26px;"><span leaf="">artifactId</span></span><span leaf="">&gt;</span></span><span leaf="">&nbsp;&nbsp;</span><br><span style="line-height: 26px;"><span leaf=""><!--/</span--><span style="color: #e06c75;line-height: 26px;"><span leaf="">dependency</span></span><span leaf="">&gt;</span></span><span leaf="">&nbsp;&nbsp;</span><br></span></span></span></span></span></span></code></pre> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">改配置</span></strong></span><span style="display: none;"></span></h4> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">application.yml</span></code><span leaf="">里开放监控端口:</span></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span style="color: #d19a66;line-height: 26px;"><span leaf="">management:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">endpoints:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">web:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">exposure:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">include:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">"*"</span></span><span leaf="">&nbsp;&nbsp;</span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 开放所有监控指标 &nbsp;</span></span><br><span leaf="">&nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">metrics:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">web:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">server:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">request:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">metric-name:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">http.server.requests</span></span><span leaf="">&nbsp;</span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 统一指标名 &nbsp;</span></span><br></code></pre> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">启动项目,查看指标</span></strong></span><span style="display: none;"></span></h4> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">访问&nbsp;</span><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">http://你的IP:端口/actuator/prometheus</span></code><span leaf="">,你会看到:</span></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">http_server_requests_seconds_count{uri=</span><span style="color: #98c379;line-height: 26px;"><span leaf="">"/api/order"</span></span><span leaf="">,status=</span><span style="color: #98c379;line-height: 26px;"><span leaf="">"200"</span></span><span leaf="">} 358 &nbsp;</span><br><span leaf="">http_server_requests_seconds_sum{uri=</span><span style="color: #98c379;line-height: 26px;"><span leaf="">"/api/order"</span></span><span leaf="">,status=</span><span style="color: #98c379;line-height: 26px;"><span leaf="">"200"</span></span><span leaf="">} 28.5 &nbsp;</span><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">这表示:</span></p> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">/api/order</span></code><span leaf="">接口被调用了358次(</span><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">count</span></code><span leaf="">)</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">总耗时28.5秒(</span><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">sum</span></code><span leaf="">)</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">平均RT = 28.5s / 358 ≈ 80ms</span> </section></li> </ul> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">2.2 第二步:部署Prometheus(监控数据中心)</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">安装Prometheus</span></strong></span><span style="display: none;"></span></h4> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">去官网下个压缩包,解压后改</span><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">prometheus.yml</span></code><span leaf="">:</span></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span style="color: #d19a66;line-height: 26px;"><span leaf="">scrape_configs:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp;&nbsp;</span><span style="color: #61aeee;line-height: 26px;"><span leaf="">-</span></span><span leaf="">&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">job_name:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">'你的服务'</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">metrics_path:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">'/actuator/prometheus'</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">static_configs:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #61aeee;line-height: 26px;"><span leaf="">-</span></span><span leaf="">&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">targets:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">['你的IP:端口']</span></span><span leaf="">&nbsp;</span><span style="color: #5c6370;font-style: italic;line-height: 26px;"><span leaf=""># 改成你的服务地址 &nbsp;</span></span><br></code></pre> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">启动命令</span></strong></span><span style="display: none;"></span></h4> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">./prometheus --config.file=prometheus.yml &nbsp;</span><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">访问&nbsp;</span><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">http://localhost:9090</span></code><span leaf="">&nbsp;就能看到监控数据啦!</span></p> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">2.3 第三步:用Grafana搞个炫酷看板</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">配置数据源</span></strong></span><span style="display: none;"></span></h4> <ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(74, 74, 74);font-size: 15px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">安装Grafana后,进入页面</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">左侧菜单 → 齿轮图标 → Data Sources → 选Prometheus</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">填地址&nbsp;</span><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">http://localhost:9090</span></code><span leaf="">&nbsp;→ Save &amp; Test</span> </section></li> </ol> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">&nbsp;</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">创建QPS监控图</span></strong></span><span style="display: none;"></span></h4> <ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(74, 74, 74);font-size: 15px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">新建Dashboard → Add panel</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">输入PromQL:</span> </section></li> </ol> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">rate(http_server_requests_seconds_count{uri=</span><span style="color: #98c379;line-height: 26px;"><span leaf="">"/api/order"</span></span><span leaf="">}[5m]) &nbsp;</span><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">这个公式的意思是:</span><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">统计5分钟内,/api/order接口每秒的请求数</span></strong></p> <ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(74, 74, 74);font-size: 15px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">设置图表名称 → Apply</span> </section></li> </ol> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">效果图:</span></strong></p> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <span leaf=""><img alt="QPS监控曲线示例" class="rich_pages wxw-img" data-imgfileid="100002211" src="/upload/a7380437882869d0da23619065e8052d.png" data-type="png" style="display: block;margin-top: 0px;margin-right: auto;margin-bottom: 0px;margin-left: auto;max-width: 100%;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"></span> <figcaption style="color: rgb(136, 136, 136);font-size: 14px;line-height: 1.5em;letter-spacing: 0em;text-align: center;font-weight: normal;margin-top: 5px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"> <span leaf="">QPS监控曲线示例</span> </figcaption> </figure> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">2.4 第四步:高级操作——区分不同接口</span></span><span style="display: none;"></span></h3> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><span leaf="">如果系统有多个接口(比如订单、支付、用户),可以在Grafana里:</span></p> <ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(74, 74, 74);font-size: 15px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">使用</span><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">legend</span></code><span leaf="">字段显示</span><code style="color: rgb(239, 112, 96);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background-attachment: scroll;background-clip: border-box;background-color: transparent;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);overflow-wrap: break-word;padding-top: 2px;padding-right: 4px;padding-bottom: 2px;padding-left: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;margin-top: 0px;margin-right: 2px;margin-bottom: 0px;margin-left: 2px;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;word-break: break-all;"><span leaf="">uri</span></code><span leaf="">标签</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">添加多个PromQL,按接口拆分</span> </section></li> </ol> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span leaf="">rate(http_server_requests_seconds_count{uri=~</span><span style="color: #98c379;line-height: 26px;"><span leaf="">"/api/.*"</span></span><span leaf="">}[5m]) &nbsp;</span><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">最终效果:</span></strong></p> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">清晰看到哪个接口最忙</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">快速定位性能瓶颈</span> </section></li> </ul> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <span leaf=""><img class="rich_pages wxw-img" data-imgfileid="100002212" src="/upload/c0afb4e721c33d049f49525610e6d1a9.png" data-type="png" style="display: block;margin-top: 0px;margin-right: auto;margin-bottom: 0px;margin-left: auto;max-width: 100%;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"></span> </figure> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h2 data-tool="mdnice编辑器" style=" border-bottom-color: rgb(239, 112, 96);margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 2px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.1em;overflow-x: unset;overflow-y: unset; text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;color: rgb(255, 169, 0);font-size: 18px; "><span style="display: none;"></span><span style=" font-size: 22px;color: rgb(255, 255, 255);background-color: rgb(239, 112, 96);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 3px;border-top-right-radius: 3px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 5px;overflow-x: unset;overflow-y: unset;padding-top: 3px;padding-bottom: 1px;padding-left: 10px;padding-right: 10px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">三、千万级流量的部署秘籍</span></span><span style="display: none;"></span><span style=" border-bottom-color: rgb(239, 235, 233);align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: solid;border-top-width: 1px;border-bottom-width: 36px;border-left-width: 1px;border-right-width: 20px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: transparent;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;color: rgb(0, 0, 0);display: inline-block;font-size: 16px;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;letter-spacing: 0px;line-height: 1.1em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">&nbsp;</span></span></h2> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">3.1 初级方案:单体架构升级</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">纵向扩容(Scale Up)</span></strong></span><span style="display: none;"></span></h4> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">升级服务器:CPU从4核→16核,内存8G→64G</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">适用场景:初期流量小(日活&lt;10万)</span> </section></li> </ul> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">缺点:</span></strong></p> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">单点故障 → 服务器一挂,全线崩溃</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">成本高 → 顶级配置的服务器价格指数级上涨</span> </section></li> </ul> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">3.2 进阶方案:微服务拆分</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">拆分策略</span></strong></span><span style="display: none;"></span></h4> <ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(74, 74, 74);font-size: 15px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">按业务拆分</span></strong><span leaf="">:订单服务、用户服务、支付服务</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">读写分离</span></strong><span leaf="">:订单读库、订单写库</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">热点隔离</span></strong><span leaf="">:把秒杀功能独立成单独服务</span> </section></li> </ol> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">技术选型</span></strong></span><span style="display: none;"></span></h4> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">服务注册:Nacos、Consul</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">服务通信:OpenFeign、gRPC</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">负载均衡:Ribbon、Spring Cloud LoadBalancer</span> </section></li> </ul> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">3.3 高级方案:弹性伸缩</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">K8s + 云服务</span></strong></span><span style="display: none;"></span></h4> <ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(74, 74, 74);font-size: 15px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">用Kubernetes部署服务</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">设置HPA(自动扩缩容):</span> </section></li> </ol> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;text-align: left;margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;"><span data-cacheurl="" data-remoteid="" style="display: block;background: none;height: 30px;width: 100%;background-size: 40px;background-repeat: no-repeat;background-color: #282c34;margin-bottom: -7px;border-radius: 5px;background-position: 10px 10px;background-image: url(" https: mmbiz.qpic.cn mmbiz_svg y3wgnlfjo0eedaxaredllkkf89qkfcp0pjhc0vbwb1hdicctxgesv6bo6icliaqntricztzbgutleafep2icm9pgtusuuzhsvotwf 640?wx_fmt="svg&amp;from=appmsg&quot;);&quot;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: Consolas, Monaco, Menlo, monospace;font-size: 12px;"><span style="color: #d19a66;line-height: 26px;"><span leaf="">apiVersion:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">autoscaling/v2</span></span><span leaf="">&nbsp;&nbsp;</span><br><span style="color: #d19a66;line-height: 26px;"><span leaf="">kind:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">HorizontalPodAutoscaler</span></span><span leaf="">&nbsp;&nbsp;</span><br><span style="color: #d19a66;line-height: 26px;"><span leaf="">spec:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">scaleTargetRef:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">apiVersion:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">apps/v1</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">kind:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">Deployment</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">name:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">order-service</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">minReplicas:</span></span><span leaf="">&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">2</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">maxReplicas:</span></span><span leaf="">&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">10</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">metrics:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp;&nbsp;</span><span style="color: #61aeee;line-height: 26px;"><span leaf="">-</span></span><span leaf="">&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">type:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">Resource</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">resource:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">name:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">cpu</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">target:</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">type:</span></span><span leaf="">&nbsp;</span><span style="color: #98c379;line-height: 26px;"><span leaf="">Utilization</span></span><span leaf="">&nbsp;&nbsp;</span><br><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">averageUtilization:</span></span><span leaf="">&nbsp;</span><span style="color: #d19a66;line-height: 26px;"><span leaf="">80</span></span><span leaf="">&nbsp;&nbsp;</span><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">效果:</span></strong><span leaf="">&nbsp;CPU超过80%时,自动新增Pod,最多10个实例</span></p> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">3.4 全链路优化</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">分层优化策略</span></strong></span><span style="display: none;"></span></h4> <section data-tool="mdnice编辑器" style="margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;overflow-x: auto;"> <table style="display: table;text-align: left;"> <thead> <tr> <th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"> <section> <span leaf="">层级</span> </section></th> <th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"> <section> <span leaf="">优化手段</span> </section></th> <th style="color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);height: auto;border-style: solid;border-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;padding: 5px 10px;min-width: 85px;"> <section> <span leaf="">效果</span> </section></th> </tr> </thead> <tbody> <tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">网关层</span></strong></td> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"> <section> <span leaf="">Nginx限流 + 缓存静态资源</span> </section></td> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"> <section> <span leaf="">减少50%后端请求</span> </section></td> </tr> <tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">服务层</span></strong></td> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"> <section> <span leaf="">线程池隔离 + 熔断降级</span> </section></td> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"> <section> <span leaf="">防止雪崩,提升可用性</span> </section></td> </tr> <tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">缓存层</span></strong></td> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"> <section> <span leaf="">Redis集群 + 热点数据本地缓存</span> </section></td> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"> <section> <span leaf="">降低DB压力90%</span> </section></td> </tr> <tr style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-color: rgb(248, 248, 248);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">DB层</span></strong></td> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"> <section> <span leaf="">分库分表 + 读写分离</span> </section></td> <td style="font-size: 12px;color: rgb(74, 74, 74);padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 10px;min-width: 85px;border-top-style: solid;border-bottom-style: solid;border-left-style: solid;border-right-style: solid;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgba(204, 204, 204, 0.4);border-bottom-color: rgba(204, 204, 204, 0.4);border-left-color: rgba(204, 204, 204, 0.4);border-right-color: rgba(204, 204, 204, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"> <section> <span leaf="">提升查询速度300%</span> </section></td> </tr> </tbody> </table> </section> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h2 data-tool="mdnice编辑器" style=" border-bottom-color: rgb(239, 112, 96);margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 2px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.1em;overflow-x: unset;overflow-y: unset; text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;color: rgb(255, 169, 0);font-size: 18px; "><span style="display: none;"></span><span style=" font-size: 22px;color: rgb(255, 255, 255);background-color: rgb(239, 112, 96);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 3px;border-top-right-radius: 3px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 5px;overflow-x: unset;overflow-y: unset;padding-top: 3px;padding-bottom: 1px;padding-left: 10px;padding-right: 10px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">四、面试满分指南</span></span><span style="display: none;"></span><span style=" border-bottom-color: rgb(239, 235, 233);align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: solid;border-top-width: 1px;border-bottom-width: 36px;border-left-width: 1px;border-right-width: 20px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: transparent;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;color: rgb(0, 0, 0);display: inline-block;font-size: 16px;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;letter-spacing: 0px;line-height: 1.1em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">&nbsp;</span></span></h2> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">4.1 满分回答模板</span></span><span style="display: none;"></span></h3> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">面试官:</span></strong><span leaf="">&nbsp;你们系统QPS多少?</span><br><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">你:</span></strong></p> <blockquote style="margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding-top: 10px;padding-bottom: 10px;padding-left: 20px;padding-right: 10px;border-top-style: none;border-bottom-style: none;border-left-style: solid;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgb(239, 112, 96);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 249, 249);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;display: block;overflow-x: auto;overflow-y: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0px;text-align: left;font-weight: normal;"></span> <p style="text-indent: 0em;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;color: rgb(0, 0, 0);font-size: 15px;line-height: 1.8em;letter-spacing: 0px;text-align: left;font-weight: normal;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;"><span leaf="">我们的订单系统峰值QPS在1200左右,通过Prometheus+Grafana实时监控。</span><br><span leaf="">为了支撑每天2000万请求,做了三方面优化:</span></p> <ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(74, 74, 74);font-size: 15px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">服务层</span></strong><span leaf="">:订单服务拆分为8个Pod,HPA根据CPU自动扩缩</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">缓存层</span></strong><span leaf="">:Redis集群缓存热点订单,命中率85%</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">DB层</span></strong><span leaf="">:MySQL分16个库,通过ShardingSphere路由</span><br><span leaf="">这是我们的监控看板截图,可以看到......(拿出手机展示)</span> </section></li> </ol> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">面试官OS:</span></strong><span leaf="">&nbsp;这哥们是真干过!</span></p> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h3 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 20px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><span leaf="">4.2 防坑指南</span></span><span style="display: none;"></span></h3> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">千万别说</span></strong></span><span style="display: none;"></span></h4> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">“QPS大概几千吧,没具体测过” → 不专业</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">“直接加服务器搞定” → 缺乏技术深度</span> </section></li> </ul> <h4 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;display: block;color: rgb(255, 169, 0);font-size: 17px;"><span style="display: none;"></span><span style="font-size: 18px;color: rgb(0, 0, 0);line-height: 1.5em;letter-spacing: 0em;text-align: left;font-weight: bold;display: block;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">加分话术</span></strong></span><span style="display: none;"></span></h4> <ul style="list-style-type: disc;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(0, 0, 0);font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">“我们通过全链路压测确定了系统瓶颈”</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <span leaf="">“用Sentinel做了慢调用熔断,防止级联故障”</span> </section></li> </ul> <hr style="margin-top: 10px;margin-bottom: 10px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: solid;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: 1px;"> <h2 data-tool="mdnice编辑器" style=" border-bottom-color: rgb(239, 112, 96);margin-top: 30px;margin-bottom: 15px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 2px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.1em;overflow-x: unset;overflow-y: unset; text-align: left;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset;color: rgb(255, 169, 0);font-size: 18px; "><span style="display: none;"></span><span style=" font-size: 22px;color: rgb(255, 255, 255);background-color: rgb(239, 112, 96);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 1px;border-bottom-width: 1px;border-left-width: 1px;border-right-width: 1px;border-top-color: rgb(0, 0, 0);border-bottom-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: rgb(0, 0, 0);border-top-left-radius: 3px;border-top-right-radius: 3px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 5px;overflow-x: unset;overflow-y: unset;padding-top: 3px;padding-bottom: 1px;padding-left: 10px;padding-right: 10px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">五、总结</span></span><span style="display: none;"></span><span style=" border-bottom-color: rgb(239, 235, 233);align-items: unset;background-attachment: scroll;background-clip: border-box;background-color: unset;background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;border-top-style: none;border-bottom-style: solid;border-left-style: none;border-right-style: solid;border-top-width: 1px;border-bottom-width: 36px;border-left-width: 1px;border-right-width: 20px;border-top-color: rgb(0, 0, 0);border-left-color: rgb(0, 0, 0);border-right-color: transparent;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-left-radius: 0px;border-bottom-right-radius: 0px;box-shadow: none;color: rgb(0, 0, 0);display: inline-block;font-size: 16px;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;letter-spacing: 0px;line-height: 1.1em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;overflow-x: unset;overflow-y: unset;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px; text-align: left;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span leaf="">&nbsp;</span></span></h2> <p data-tool="mdnice编辑器" style="color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;text-indent: 0em;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 8px;padding-bottom: 8px;padding-left: 0px;padding-right: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;"><strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">要想QPS答得好,三板斧不能少:</span></strong></p> <ol style="list-style-type: decimal;margin-top: 8px;margin-bottom: 8px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 25px;padding-right: 0px;color: rgb(74, 74, 74);font-size: 15px;font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Microsoft YaHei', Arial, sans-serif;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">监控</span></strong><span leaf="">:Prometheus+Granfana实时追踪</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">优化</span></strong><span leaf="">:缓存、分库、限流组合拳</span> </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(74, 74, 74);font-size: 15px;line-height: 1.8em;letter-spacing: 0em;text-align: left;font-weight: normal;"> <strong style="color: rgb(0, 0, 0);font-weight: bold;background-attachment: scroll;background-clip: border-box;background-color: rgba(0, 0, 0, 0);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;margin-top: 0px;margin-bottom: 0px;margin-left: 0px;margin-right: 0px;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;border-top-style: none;border-bottom-style: none;border-left-style: none;border-right-style: none;border-top-width: 3px;border-bottom-width: 3px;border-left-width: 3px;border-right-width: 3px;border-top-color: rgba(0, 0, 0, 0.4);border-bottom-color: rgba(0, 0, 0, 0.4);border-left-color: rgba(0, 0, 0, 0.4);border-right-color: rgba(0, 0, 0, 0.4);border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;"><span leaf="">部署</span></strong><span leaf="">:K8s弹性伸缩应对流量高峰</span> </section></li> </ol> </section>

MySQL调优实战-SQL优化

作者:微信小助手

<section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="margin-bottom: 0px;padding-left: 10px;padding-right: 10px;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;font-family: Optima, " microsoft yahei, pingfangsc-regular, serif;font-size: 16px;color: rgb(0, 0, 0);line-height: 1.5em;word-spacing: 0em;letter-spacing: 0em;word-break: break-word;text-align: left;> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">本章摘要:面向生产实践的,着重讲述:如何排查,<span style="color: rgb(63, 63, 63);font-family: Optima, " microsoft yahei, pingfangsc-regular, serif;font-size: 16px;letter-spacing: 0.32px;text-align: left;text-wrap: wrap;background-color: rgb(251, 249, 253);>索引失效场景,</span>索引优化思路。从慢SQL定位和排查,到SQL优化的详细过程。本文宗旨:<span style="color: rgb(63, 63, 63);font-family: Optima, " microsoft yahei, pingfangsc-regular, serif;font-size: 16px;letter-spacing: 0.32px;text-align: left;text-wrap: wrap;background-color: rgb(251, 249, 253);>让</span><span style="color: rgb(63, 63, 63);font-family: Optima, " microsoft yahei, pingfangsc-regular, serif;font-size: 16px;letter-spacing: 0.32px;text-align: left;text-wrap: wrap;background-color: rgb(251, 249, 253);>更多</span><span style="color: rgb(63, 63, 63);font-family: Optima, " microsoft yahei, pingfangsc-regular, serif;font-size: 16px;letter-spacing: 0.32px;text-align: left;text-wrap: wrap;background-color: rgb(251, 249, 253);>的理论实践和</span><span style="color: rgb(63, 63, 63);font-family: Optima, " microsoft yahei, pingfangsc-regular, serif;font-size: 16px;letter-spacing: 0.32px;text-align: left;text-wrap: wrap;background-color: rgb(251, 249, 253);>落地。</span>感谢大家的阅读和转载(阅读时长:15~20分钟)。</p> </blockquote> <h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2es9w0britmvk70wdeam4zzomhpvriahrbfkmrrqopnhziaaowlilk5mw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 50% 50%;background-repeat: no-repeat;background-size: 63px;width: auto;height: auto;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;justify-content: center;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;-webkit-box-reflect: unset;><span style="display: none;"></span><span style=" font-size: 18px;color: rgb(72, 179, 120);line-height: 2.4em;letter-spacing: 0em;margin-top: 38px;margin-bottom: 10px;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: 38px;justify-content: unset;overflow: unset; text-align: center;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">文章导读</span><span style="display: none;"></span></h2> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001527" data-ratio="0.8660328435609335" src="/upload/9a8153f87611f825af1fff3f6942f946.png" data-type="png" data-w="1157" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2es9w0britmvk70wdeam4zzomhpvriahrbfkmrrqopnhziaaowlilk5mw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 50% 50%;background-repeat: no-repeat;background-size: 63px;width: auto;height: auto;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;justify-content: center;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;-webkit-box-reflect: unset;><span style="display: none;"></span><span style=" font-size: 18px;color: rgb(72, 179, 120);line-height: 2.4em;letter-spacing: 0em;margin-top: 38px;margin-bottom: 10px;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: 38px;justify-content: unset;overflow: unset; text-align: center;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">环境配置</span><span style="display: none;"></span></h2> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> Linux主机:8G运行内存 </section></li> </ul> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001525" data-ratio="0.10362173038229376" src="/upload/8afff615e85acca445355e7b17bb5519.png" data-type="png" data-w="994" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> MySQL 8.0.20 </section></li> </ul> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001524" data-ratio="0.1536643026004728" src="/upload/6ad7e4efffafec964016b78880006fda.png" data-type="png" data-w="1269" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2es9w0britmvk70wdeam4zzomhpvriahrbfkmrrqopnhziaaowlilk5mw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 50% 50%;background-repeat: no-repeat;background-size: 63px;width: auto;height: auto;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;justify-content: center;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;-webkit-box-reflect: unset;><span style="display: none;"></span><span style=" font-size: 18px;color: rgb(72, 179, 120);line-height: 2.4em;letter-spacing: 0em;margin-top: 38px;margin-bottom: 10px;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: 38px;justify-content: unset;overflow: unset; text-align: center;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">前期准备</span><span style="display: none;"></span></h2> <h3 data-tool="mdnice编辑器" style=" margin-top: 30px;margin-bottom: 15px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span style="background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2yuvj6vstod2fchney1ejuohuuiavlq3iabwgtmslvd8siyzh0wh4hebw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: 15px 15px;width: 15px;height: 15px;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-size: 22px;font-weight: bold;flex-direction: unset;float: unset;justify-content: unset;letter-spacing: 0px;line-height: 1.5em;margin-bottom: -2px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;-webkit-box-reflect: unset;></span><span style="display: none;"></span><span style=" color: rgb(72, 179, 120);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-left: 8px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">表设计</span><span style="display: none;"></span></h3> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001526" data-ratio="0.30198019801980197" src="/upload/ffd548b313389fa13ebe9182a9e62809.png" data-type="png" data-w="1414" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">建表SQL</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;----------------------------</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;Table&nbsp;structure&nbsp;for&nbsp;t_orders</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;----------------------------</span><br><span style="color: #c678dd;line-height: 26px;">DROP</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">TABLE</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">IF</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">EXISTS</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>;<br><span style="color: #c678dd;line-height: 26px;">CREATE</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">TABLE</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;&nbsp;(<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`id`</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">bigint</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">NOT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;AUTO_INCREMENT&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'主键'</span>,<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`order_id`</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">varchar</span>(<span style="color: #d19a66;line-height: 26px;">255</span>)&nbsp;<span style="color: #e6c07b;line-height: 26px;">CHARACTER</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;utf8mb4&nbsp;<span style="color: #c678dd;line-height: 26px;">COLLATE</span>&nbsp;utf8mb4_0900_ai_ci&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">DEFAULT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'订单编码'</span>,<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`product_num`</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">varchar</span>(<span style="color: #d19a66;line-height: 26px;">255</span>)&nbsp;<span style="color: #e6c07b;line-height: 26px;">CHARACTER</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;utf8mb4&nbsp;<span style="color: #c678dd;line-height: 26px;">COLLATE</span>&nbsp;utf8mb4_0900_ai_ci&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">DEFAULT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'产品编码'</span>,<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`product_name`</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">varchar</span>(<span style="color: #d19a66;line-height: 26px;">255</span>)&nbsp;<span style="color: #e6c07b;line-height: 26px;">CHARACTER</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;utf8mb4&nbsp;<span style="color: #c678dd;line-height: 26px;">COLLATE</span>&nbsp;utf8mb4_0900_ai_ci&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">DEFAULT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'产品名称'</span>,<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`customer_num`</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">varchar</span>(<span style="color: #d19a66;line-height: 26px;">255</span>)&nbsp;<span style="color: #e6c07b;line-height: 26px;">CHARACTER</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;utf8mb4&nbsp;<span style="color: #c678dd;line-height: 26px;">COLLATE</span>&nbsp;utf8mb4_0900_ai_ci&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">DEFAULT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'客户编码'</span>,<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`customer_name`</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">varchar</span>(<span style="color: #d19a66;line-height: 26px;">255</span>)&nbsp;<span style="color: #e6c07b;line-height: 26px;">CHARACTER</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;utf8mb4&nbsp;<span style="color: #c678dd;line-height: 26px;">COLLATE</span>&nbsp;utf8mb4_0900_ai_ci&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">DEFAULT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'客户名称'</span>,<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`amount`</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">decimal</span>(<span style="color: #d19a66;line-height: 26px;">10</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">2</span>)&nbsp;<span style="color: #c678dd;line-height: 26px;">NOT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'订单金额'</span>,<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`status`</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">tinyint</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">NOT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'订单状态码,0:待付款\r\n1:已付款,待发货\r\n2:已发货\r\n3:已完成\r\n4:已取消'</span>,<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`create_time`</span>&nbsp;datetime&nbsp;<span style="color: #c678dd;line-height: 26px;">NOT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'创建日期'</span>,<br>&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`update_time`</span>&nbsp;datetime&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">DEFAULT</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'更新时间'</span>,<br>&nbsp;&nbsp;PRIMARY&nbsp;<span style="color: #c678dd;line-height: 26px;">KEY</span>&nbsp;(<span style="color: #98c379;line-height: 26px;">`id`</span>)&nbsp;<span style="color: #c678dd;line-height: 26px;">USING</span>&nbsp;BTREE,<br>&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">INDEX</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`idx_custnum_status_createtime`</span>(<span style="color: #98c379;line-height: 26px;">`customer_num`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">ASC</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">`status`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">ASC</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">`create_time`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">ASC</span>)&nbsp;<span style="color: #c678dd;line-height: 26px;">USING</span>&nbsp;BTREE,<br>&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">INDEX</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`idx_order_id`</span>(<span style="color: #98c379;line-height: 26px;">`order_id`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">ASC</span>)&nbsp;<span style="color: #c678dd;line-height: 26px;">USING</span>&nbsp;BTREE<br>)&nbsp;<span style="color: #c678dd;line-height: 26px;">ENGINE</span>&nbsp;=&nbsp;<span style="color: #c678dd;line-height: 26px;">InnoDB</span>&nbsp;AUTO_INCREMENT&nbsp;=&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">CHARACTER</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;=&nbsp;utf8mb4&nbsp;<span style="color: #c678dd;line-height: 26px;">COLLATE</span>&nbsp;=&nbsp;utf8mb4_0900_ai_ci&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMENT</span>&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'订单表'</span>&nbsp;ROW_FORMAT&nbsp;=&nbsp;DYNAMIC;<br><br><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">测试数据:</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">1</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000001'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060101'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'智能运动手环'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202401'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'张伟'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">299.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">2</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000002'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060102'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'儿童玩具车'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202402'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'王芳'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">159.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">2</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">3</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000003'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060103'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'多功能电钻'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202403'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'李娜'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">399.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">3</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">4</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000004'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060104'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'女士时尚太阳镜'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202404'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'刘强'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">199.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">0</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">5</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000005'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060105'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'男士运动鞋'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202405'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'陈敏'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">249.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">6</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000006'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060106'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'婴儿奶粉'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202406'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'赵静'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">129.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">2</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">7</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000007'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060107'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'智能手表'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202407'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'黄丽'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">499.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">3</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">8</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000008'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060108'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'女士连衣裙'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202408'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'周杰'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">99.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">0</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">9</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000009'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060109'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'无线蓝牙耳机'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202409'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'吴鑫'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">299.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">4</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;<span style="color: #98c379;line-height: 26px;">`t_orders`</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">10</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000010'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'PDT2024060110'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'男士休闲裤'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST2024010'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'朱燕'</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">150.99</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>);<br><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">大数据量模拟(存储过程模拟:千万级)</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;删除存储过程</span><br><span style="color: #c678dd;line-height: 26px;">DROP</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">PROCEDURE</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">IF</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">EXISTS</span>&nbsp;batchInsertBigData;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;创建存储过程</span><br><br>DELIMITER&nbsp;$$<br><br><span style="color: #c678dd;line-height: 26px;">CREATE</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">PROCEDURE</span>&nbsp;batchInsertBigData(<span style="color: #c678dd;line-height: 26px;">IN</span>&nbsp;args&nbsp;<span style="color: #e6c07b;line-height: 26px;">INT</span>)<br><span style="color: #c678dd;line-height: 26px;">BEGIN</span><br>&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">DECLARE</span>&nbsp;i&nbsp;<span style="color: #e6c07b;line-height: 26px;">INT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">DEFAULT</span>&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>;<br>&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">DECLARE</span>&nbsp;order_id&nbsp;<span style="color: #e6c07b;line-height: 26px;">BIGINT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">DEFAULT</span>&nbsp;<span style="color: #d19a66;line-height: 26px;">0</span>;<br><br>&nbsp;&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;开启事务</span><br>&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">START</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">TRANSACTION</span>;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;WHILE&nbsp;i&nbsp;&lt;=&nbsp;args&nbsp;<span style="color: #c678dd;line-height: 26px;">DO</span><br>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;生成唯一的订单编码,这里简单地使用当前时间戳和自增变量的组合</span><br>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;order_id&nbsp;=&nbsp;(<span style="color: #c678dd;line-height: 26px;">UNIX_TIMESTAMP</span>()&nbsp;*&nbsp;<span style="color: #d19a66;line-height: 26px;">1000</span>)&nbsp;+&nbsp;i;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;插入数据</span><br>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">INSERT</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">INTO</span>&nbsp;t_orders_bigdata&nbsp;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`order_id`</span>,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`product_num`</span>,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`product_name`</span>,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`customer_num`</span>,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`customer_name`</span>,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`amount`</span>,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`status`</span>,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`create_time`</span>,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">`update_time`</span><br>&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;<span style="color: #c678dd;line-height: 26px;">VALUES</span>&nbsp;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;order_id,&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;使用生成的订单编码</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">CONCAT</span>(<span style="color: #98c379;line-height: 26px;">'PDT'</span>,&nbsp;<span style="color: #c678dd;line-height: 26px;">LPAD</span>(i,&nbsp;<span style="color: #d19a66;line-height: 26px;">6</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'0'</span>)),&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;产品编号,左填充为6位数字</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">CONCAT</span>(<span style="color: #98c379;line-height: 26px;">'Product-'</span>,&nbsp;i),&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;产品名称</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">CONCAT</span>(<span style="color: #98c379;line-height: 26px;">'CUST'</span>,&nbsp;<span style="color: #c678dd;line-height: 26px;">LPAD</span>((i&nbsp;%&nbsp;<span style="color: #d19a66;line-height: 26px;">1000</span>)&nbsp;+&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">6</span>,&nbsp;<span style="color: #98c379;line-height: 26px;">'0'</span>)),&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;假设有1000个客户编号循环使用</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">CONCAT</span>(<span style="color: #98c379;line-height: 26px;">'Customer-'</span>,&nbsp;(i&nbsp;%&nbsp;<span style="color: #d19a66;line-height: 26px;">1000</span>)&nbsp;+&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>),&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;客户名称</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">ROUND</span>((<span style="color: #c678dd;line-height: 26px;">RAND</span>()&nbsp;*&nbsp;<span style="color: #d19a66;line-height: 26px;">100</span>)&nbsp;+&nbsp;<span style="color: #d19a66;line-height: 26px;">100</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">2</span>),&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;随机生成100到200的订单金额</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">CASE</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">WHEN</span>&nbsp;i&nbsp;%&nbsp;<span style="color: #d19a66;line-height: 26px;">5</span>&nbsp;=&nbsp;<span style="color: #d19a66;line-height: 26px;">0</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">THEN</span>&nbsp;<span style="color: #d19a66;line-height: 26px;">0</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">WHEN</span>&nbsp;i&nbsp;%&nbsp;<span style="color: #d19a66;line-height: 26px;">3</span>&nbsp;=&nbsp;<span style="color: #d19a66;line-height: 26px;">0</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">THEN</span>&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">ELSE</span>&nbsp;<span style="color: #d19a66;line-height: 26px;">2</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">END</span>,&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;随机分配几种状态</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">NOW</span>(),&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;创建时间</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">NOW</span>()&nbsp;<span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;更新时间</span><br>&nbsp;&nbsp;&nbsp;&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;i&nbsp;=&nbsp;i&nbsp;+&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>;<br>&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">END</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">WHILE</span>;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">COMMIT</span>;<br><span style="color: #c678dd;line-height: 26px;">END</span>$$<br><br>DELIMITER&nbsp;;<br><br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;调用存储过程</span><br><br><span style="color: #c678dd;line-height: 26px;">CALL</span>&nbsp;&nbsp;batchInsertBigData(<span style="color: #d19a66;line-height: 26px;">10000000</span>);<br><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">备注:本机 8G 运行内存,插入1000W数据,执行相对耗时约:30多分钟。</p> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001528" data-ratio="0.42759795570698467" src="/upload/a829781c8a933dc22b1ab2db0d350f8d.png" data-type="png" data-w="1761" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2es9w0britmvk70wdeam4zzomhpvriahrbfkmrrqopnhziaaowlilk5mw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 50% 50%;background-repeat: no-repeat;background-size: 63px;width: auto;height: auto;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;justify-content: center;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;-webkit-box-reflect: unset;><span style="display: none;"></span><span style=" font-size: 18px;color: rgb(72, 179, 120);line-height: 2.4em;letter-spacing: 0em;margin-top: 38px;margin-bottom: 10px;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: 38px;justify-content: unset;overflow: unset; text-align: center;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">MySQL 命令储备</span><span style="display: none;"></span></h2> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;查看数据库里正在执行的sql语句</span><br><span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">processlist</span>;&nbsp;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;登陆数据库现场抓(显示完整的进程列表)</span><br><span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">full</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">processlist</span>;&nbsp;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;查看数据库的配置参数信息,例如:my.cnf里参数的生效情况</span><br><span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">variables</span>;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;MySQL服务器运行各种状态值,查询MySQL服务器配置信息语句</span><br><span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">variables</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">like</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'%log_bin%'</span>;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;查看当前会话的数据库状态信息</span><br><span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">session</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">status</span>;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;查看整个数据库运行状态信息,分析并做好监控</span><br><span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">global</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">status</span>;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;显示innodb&nbsp;引擎的性能状态</span><br><span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">engine</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">innodb</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">status</span>;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;explain语句检查索引执行情况,将上边抓到的慢语句,进行一个索引检查</span><br><span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;test_table&nbsp;<span style="color: #c678dd;line-height: 26px;">where</span>&nbsp;***<br></code></pre> <h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2es9w0britmvk70wdeam4zzomhpvriahrbfkmrrqopnhziaaowlilk5mw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 50% 50%;background-repeat: no-repeat;background-size: 63px;width: auto;height: auto;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;justify-content: center;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;-webkit-box-reflect: unset;><span style="display: none;"></span><span style=" font-size: 18px;color: rgb(72, 179, 120);line-height: 2.4em;letter-spacing: 0em;margin-top: 38px;margin-bottom: 10px;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: 38px;justify-content: unset;overflow: unset; text-align: center;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">性能分析</span><span style="display: none;"></span></h2> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">1、什么是慢查询?</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">  慢查询日志,就是查询花费大量时间的日志,是指mysql记录所有执行超过<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>long_query_time</code>参数设定的时间阈值的SQL语句的日志。默认情况下,<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>慢查询日志</code>是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。</p> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">2、如何定位慢SQL?</p> </blockquote> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> <strong style="color: rgb(74, 74, 74);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">性能监控</strong> </section></li> </ul> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">1、简单版:show profile;</em></p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">执行 SHOW PROFILE 命令时,它会显示关于服务器线程执行的详细信息,包括每个线程所执行的每个语句的执行时间、I/O 操作、上下文切换等。注意:<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>通常在开发和问题诊断期间使用,而不是在生产环境中持续启用。</code></p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">具体操作:</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;启用性能监控</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>&nbsp;profiling=<span style="color: #d19a66;line-height: 26px;">1</span>;<br>Query&nbsp;OK,&nbsp;0&nbsp;rows&nbsp;affected,&nbsp;1&nbsp;warning&nbsp;(0.00&nbsp;sec)<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;执行SQL</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;mydb.t_orders&nbsp;<span style="color: #c678dd;line-height: 26px;">limit</span>&nbsp;<span style="color: #d19a66;line-height: 26px;">10</span>;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;性能分析</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">profiles</span>;<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">2、详细版本:performance_schema</em></p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">performance_schema 用于监控和分析数据库服务器的性能。它提供了详细的数据库活动信息,包括线程、锁、I/O 操作、内存使用情况等。</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--查看performance_schema的属性</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">SHOW</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VARIABLES</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">LIKE</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'performance_schema'</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">--------------------+-------+</span><br>|&nbsp;Variable_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Value&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">--------------------+-------+</span><br>|&nbsp;performance_schema&nbsp;|&nbsp;ON&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">--------------------+-------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.01</span>&nbsp;sec)<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--在配置文件中修改performance_schema的属性值,on表示开启,off表示关闭</span><br>[mysqld]<br>performance_schema=<span style="color: #c678dd;line-height: 26px;">ON</span><br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--切换数据库</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">use</span>&nbsp;performance_schema;<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--查看当前数据库下的所有表,会看到有很多表存储着相关的信息</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">tables</span>;<br><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">默认情况下,performance_schema是启用的。如果需要禁用,可以在启动MySQL服务器时使用<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>--skip-perf-schema</code>选项。</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">3、查看SQL运行列表</em></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;">mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">processlist</span>;<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">请注意,频繁地运行 SHOW PROCESSLIST 尤其是在高负载的系统中,可能会对性能产生一定影响,因为它需要遍历当前所有活动线程的信息。谨慎使用。</p> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> <strong style="color: rgb(74, 74, 74);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">开启慢查询日志</strong> </section></li> </ul> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">1、查看是否开启慢查询日志?</em></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;默认关闭&nbsp;OFF</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">variables</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">like</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'%slow_query_log%'</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">---------------------+----------------------------------------------------+</span><br>|&nbsp;Variable_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">---------------------+----------------------------------------------------+</span><br>|&nbsp;slow_query_log&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;OFF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>|&nbsp;slow_query_log_file&nbsp;|&nbsp;/usr/local/mysql/mysql-8.0/data/localhost-slow.log&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">---------------------+----------------------------------------------------+</span><br>2&nbsp;rows&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">2、如何开启慢查询日志?</em></p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">注意:不同版本,这些配置稍有差异。出现设置错误时,可查官网获得正确的规则。这里</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;持久性,通过配置文件设置</span><br>[mysqld]<br>log_output=FILE,TABLE<br>slow_query_log=ON<br>long_query_time=0.001<br>slow_query_log_file&nbsp;=&nbsp;/usr/local/mysql/mysql-8.0/logs/slow_query.log<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">#一次性的,通过命令设置, long_query_time 是时间阈值。为方便测试,此处认为超过0.001s的就属于慢查询</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">GLOBAL</span>&nbsp;log_output&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'FILE,TABLE'</span>;<br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">GLOBAL</span>&nbsp;slow_query_log=<span style="color: #c678dd;line-height: 26px;">ON</span>;<br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">GLOBAL</span>&nbsp;long_query_time&nbsp;=&nbsp;<span style="color: #d19a66;line-height: 26px;">0.001</span>;<br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">SET</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">GLOBAL</span>&nbsp;slow_query_log_file&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'/usr/local/mysql/mysql-8.0/logs/slow_query.log'</span>;<br><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">3、如何分析慢查询日志?</em></p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">3.1 查MySQL自带的数据库表进行分析</em></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;">mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;mysql.slow_log&nbsp;;<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">3.2 慢查询日志文件分析</em></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;查看慢日志位置</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">SHOW</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">VARIABLES</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">LIKE</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'%slow_query_log_file%'</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">---------------------+------------------------------------------------+</span><br>|&nbsp;Variable_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">---------------------+------------------------------------------------+</span><br>|&nbsp;slow_query_log_file&nbsp;|&nbsp;/usr/local/mysql/mysql-8.0/logs/slow_query.log&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">---------------------+------------------------------------------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;使用./mysqldumpslow&nbsp;查看慢SQL日志</span><br>[root@localhost&nbsp;<span style="color: #c678dd;line-height: 26px;">bin</span>]<span style="color: #5c6370;font-style: italic;line-height: 26px;">#&nbsp;./mysqldumpslow&nbsp;/usr/local/mysql/mysql-8.0/logs/slow_query.log</span><br><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">慢日志结果:</p> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001529" data-ratio="0.2960470984020185" src="/upload/81af3f40bb4dfc994aa4256c6d8db01e.png" data-type="png" data-w="1189" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">如图,可以查看具体的慢SQL列表和耗时等信息。</p> <h3 data-tool="mdnice编辑器" style=" margin-top: 30px;margin-bottom: 15px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span style="background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2yuvj6vstod2fchney1ejuohuuiavlq3iabwgtmslvd8siyzh0wh4hebw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: 15px 15px;width: 15px;height: 15px;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-size: 22px;font-weight: bold;flex-direction: unset;float: unset;justify-content: unset;letter-spacing: 0px;line-height: 1.5em;margin-bottom: -2px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;-webkit-box-reflect: unset;></span><span style="display: none;"></span><span style=" color: rgb(72, 179, 120);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-left: 8px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">小结</span><span style="display: none;"></span></h3> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">综上,我们知道如何定位慢SQL。接下来通过各种实践案例尝试优化SQL性能。</p> <h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2es9w0britmvk70wdeam4zzomhpvriahrbfkmrrqopnhziaaowlilk5mw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 50% 50%;background-repeat: no-repeat;background-size: 63px;width: auto;height: auto;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;justify-content: center;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;-webkit-box-reflect: unset;><span style="display: none;"></span><span style=" font-size: 18px;color: rgb(72, 179, 120);line-height: 2.4em;letter-spacing: 0em;margin-top: 38px;margin-bottom: 10px;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: 38px;justify-content: unset;overflow: unset; text-align: center;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">SQL调优实战</span><span style="display: none;"></span></h2> <h3 data-tool="mdnice编辑器" style=" margin-top: 30px;margin-bottom: 15px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span style="background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2yuvj6vstod2fchney1ejuohuuiavlq3iabwgtmslvd8siyzh0wh4hebw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: 15px 15px;width: 15px;height: 15px;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-size: 22px;font-weight: bold;flex-direction: unset;float: unset;justify-content: unset;letter-spacing: 0px;line-height: 1.5em;margin-bottom: -2px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;-webkit-box-reflect: unset;></span><span style="display: none;"></span><span style=" color: rgb(72, 179, 120);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-left: 8px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">explain + sql 执行计划</span><span style="display: none;"></span></h3> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">EXPLAIN 是一个用于获取 SQL 语句执行计划的命令,用于帮助理解查询的执行过程以及如何优化。这里主要是<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>索引优化</code> ,关于索引原理暂不做详细介绍。本章主要以实操为主。</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><strong style="color: rgb(74, 74, 74);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">基本用法:</strong></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;...<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><strong style="color: rgb(74, 74, 74);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">参数说明:</strong></p> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-2"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> id: 选择查询中执行的顺序,从1开始递增。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> select_type: 查询类型,如 SIMPLE、PRIMARY、SUBQUERY 等。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> table: 涉及的表名。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> partitions: 表分区信息。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> type: 连接类型,如 ALL、index、range、ref、eq 等。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> possible_keys: 可能用于查找的索引。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> key: 实际使用的索引。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> key_len: 使用的索引的长度。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> ref: 与索引比较的列或常量。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> rows: 估计需要检查的行数。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> filtered: 根据 WHERE 子句过滤后剩余的行的比例。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> Extra: 额外的信息,如是否使用临时表、是否排序等。 </section></li> </ul> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><strong style="color: rgb(74, 74, 74);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">性能分析:</strong></p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;type&nbsp;级别</span><br>system&nbsp;&gt;&nbsp;const&nbsp;&gt;&nbsp;eq_ref&nbsp;&gt;&nbsp;ref&nbsp;&gt;&nbsp;range&nbsp;&gt;&nbsp;index&nbsp;&gt;&nbsp;ALL<br></code></pre> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> system: 表仅有一行,如 PRIMARY KEY 或 UNIQUE INDEX 约束下的唯一索引。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> const: 针对主键或唯一索引的查找,通常因为条件完全匹配索引列。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> eq_ref: 对于非唯一索引,当查找条件涉及多表的连接,并且使用主键或唯一索引列进行等值匹配。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> ref: 使用非唯一索引进行查找,适用于非主键或唯一索引的列。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> range: 索引范围扫描,适用于 BETWEEN, IN, WHERE 子句中的范围查询。 </section></li> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> index: 索引全表扫描,比全表扫描 (ALL) 快,因为索引通常更紧凑。 </section></li> </ul> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">备注:一般要求至少达到range 级别,最好达到ref</em></p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">有了上述了解,我们进行案例实操。。。</p> <h3 data-tool="mdnice编辑器" style=" margin-top: 30px;margin-bottom: 15px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span style="background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2yuvj6vstod2fchney1ejuohuuiavlq3iabwgtmslvd8siyzh0wh4hebw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: 15px 15px;width: 15px;height: 15px;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-size: 22px;font-weight: bold;flex-direction: unset;float: unset;justify-content: unset;letter-spacing: 0px;line-height: 1.5em;margin-bottom: -2px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;-webkit-box-reflect: unset;></span><span style="display: none;"></span><span style=" color: rgb(72, 179, 120);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-left: 8px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">案例实操</span><span style="display: none;"></span></h3> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">1、select * 查询不需要的列</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">例如:查看特定客户编号的所有订单详情,但只关心订单编号和金额。</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">如果查询所有字段,</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;">mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">where</span>&nbsp;t.customer_num&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202401'</span>;<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">由于其它字段会带来额外的开销,尤其是使用二级索引,</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">使用<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>select *</code> 的方式会导致<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>回表</code>,导致性能低下。因此应当只获取需要的字段。</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;">mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;order_id,&nbsp;amount&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">where</span>&nbsp;t.customer_num&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202401'</span>;<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">因此,一些DBA是<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>严格禁止SELECT *</code>的写法的。</p> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">2、limit a,b 分页优化</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">例如,查询返回 t_orders_bigdata 表中的第 100001~100010 行数据。</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;">mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;t_orders_bigdata&nbsp;<span style="color: #c678dd;line-height: 26px;">LIMIT</span>&nbsp;<span style="color: #d19a66;line-height: 26px;">1000000</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">10</span>;<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">MySQL会查询出全部的结果集,客户端的应用程序会接收全部的结果集数据,然后抛弃其中大部分数据。在某些情况下,如果数据页不是顺序存储的,这可能会导致全表扫描。</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">优化后,</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;">mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;mydb.t_orders_bigdata&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">ORDER</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">BY</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">id</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">LIMIT</span>&nbsp;<span style="color: #d19a66;line-height: 26px;">1000000</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">10</span>;<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">如果 id 是索引列(主键通常是索引),MySQL 可以使用索引来快速定位到第 100001 行数据,而不需要扫描前面所有的行。</p> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">3、索引列上操作(使用函数、计算等)导致索引失效</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">例如,为了获取 2024 年的所有订单数据,可能会执行以下 SQL 查询:</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;t_orders&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">YEAR</span>(create_time)&nbsp;=&nbsp;<span style="color: #d19a66;line-height: 26px;">2024</span>;<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">我们看到在 create_time 字段上有索引,</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;">mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">show</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">index</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;t_orders;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----------+------------+-----------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+</span><br>|&nbsp;Table&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Non_unique&nbsp;|&nbsp;Key_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;Seq_in_index&nbsp;|&nbsp;Column_name&nbsp;|&nbsp;Collation&nbsp;|&nbsp;Cardinality&nbsp;|&nbsp;Sub_part&nbsp;|&nbsp;Packed&nbsp;|&nbsp;Null&nbsp;|&nbsp;Index_type&nbsp;|&nbsp;<span style="color: #c678dd;line-height: 26px;">Comment</span>&nbsp;|&nbsp;Index_comment&nbsp;|&nbsp;<span style="color: #c678dd;line-height: 26px;">Visible</span>&nbsp;|&nbsp;Expression&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----------+------------+-----------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+</span><br>|&nbsp;t_orders&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #d19a66;line-height: 26px;">0</span>&nbsp;|&nbsp;PRIMARY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;|&nbsp;<span style="color: #c678dd;line-height: 26px;">id</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #d19a66;line-height: 26px;">0</span>&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;|&nbsp;&nbsp;&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;BTREE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>|&nbsp;t_orders&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;|&nbsp;idx_create_time&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;|&nbsp;create_time&nbsp;|&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;|&nbsp;&nbsp;&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;BTREE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;YES&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;<span style="color: #56b6c2;line-height: 26px;">NULL</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----------+------------+-----------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+</span><br><span style="color: #d19a66;line-height: 26px;">2</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">rows</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">in</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">查看执行计划</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">-- type = ALL,显然是全表扫描,查询未走索引。</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;t_orders&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">YEAR</span>(create_time)&nbsp;=&nbsp;<span style="color: #d19a66;line-height: 26px;">2024</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+----------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;&nbsp;&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+----------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t_orders&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;164571&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;Using&nbsp;where&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+----------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">优化:</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;1、使用索引列的日期范围,type=&nbsp;range&nbsp;,走索引</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;t_orders&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;create_time&nbsp;&gt;=&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-01-01&nbsp;00:00:00'</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">AND</span>&nbsp;create_time&nbsp;&lt;&nbsp;<span style="color: #98c379;line-height: 26px;">'2025-01-01&nbsp;00:00:00'</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+----------+------------+-------+-----------------+-----------------+---------+------+------+----------+-----------------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;&nbsp;|&nbsp;possible_keys&nbsp;&nbsp;&nbsp;|&nbsp;key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+----------+------------+-------+-----------------+-----------------+---------+------+------+----------+-----------------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t_orders&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;range&nbsp;|&nbsp;idx_create_time&nbsp;|&nbsp;idx_create_time&nbsp;|&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;10&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;Using&nbsp;index&nbsp;condition&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+----------+------------+-------+-----------------+-----------------+---------+------+------+----------+-----------------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">4、最佳左前缀法则</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">建立了联合索引列,如果搜索条件不够全值匹配怎么办?</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">在我们的搜索语句中也可以不用包含全部联合索引中的列,但要遵守最左前缀法则。指的是查询从索引的最左前列开始并且不跳过索引中的列。即搜索条件中必须出现左边的列才可以使用到这个B+树索引</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">如图已建立联合索引,</p> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001531" data-ratio="0.15620542082738945" src="/upload/d698e273d79f5a535d1782c68808fdfb.png" data-type="png" data-w="1402" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">例如:统计某用户,在某个时间,待付款的订单。</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">案例说明:</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">1、跳过开头customer_num,查询联合索引中的部分字段 status,</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;跳过开头customer_num,查询联合索引中的部分字段&nbsp;status,</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;结果:type=ALL, 全表扫描,未走索引</span><br><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">where</span>&nbsp;&nbsp;t.status&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'1'</span>&nbsp;;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;&nbsp;&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;164571&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;10.00&nbsp;|&nbsp;Using&nbsp;where&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">2、 跳过开头customer_num,查询其它字段update_time;</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;跳过开头customer_num,查询其它字段update_time;</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;结果:type=ALL, 全表扫描,未走索引</span><br><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">where</span>&nbsp;&nbsp;t.update_time&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">and</span>&nbsp;t.<span style="color: #98c379;line-height: 26px;">`status`</span>&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'1'</span>&nbsp;;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;&nbsp;&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;164571&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.00&nbsp;|&nbsp;Using&nbsp;where&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">3、全匹配,查询where条件索引字段</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;全匹配场景:ref = const,const,const,代表联合索引生效</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">where</span>&nbsp;&nbsp;t.customer_num&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202401'</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">and</span>&nbsp;&nbsp;t.create_time&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">and</span>&nbsp;t.<span style="color: #98c379;line-height: 26px;">`status`</span>&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'1'</span>&nbsp;;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+-----------------------------------------------+-------------------------------+---------+-------------------+------+----------+-------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+-----------------------------------------------+-------------------------------+---------+-------------------+------+----------+-------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;idx_create_time,idx_custnum_status_createtime&nbsp;|&nbsp;idx_custnum_status_createtime&nbsp;|&nbsp;1028&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;const,const,const&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;NULL&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+-----------------------------------------------+-------------------------------+---------+-------------------+------+----------+-------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">4、全匹配,查询where条件非索引字段</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;全匹配场景:ref = const,const,代表联合索引部分生效:customer_num,status</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">where</span>&nbsp;&nbsp;t.customer_num&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202401'</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">and</span>&nbsp;&nbsp;t.<span style="color: #98c379;line-height: 26px;">`status`</span>&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'1'</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">and</span>&nbsp;t.update_time&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+-------------------------------+-------------------------------+---------+-------------+------+----------+-------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+-------------------------------+-------------------------------+---------+-------------+------+----------+-------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;idx_custnum_status_createtime&nbsp;|&nbsp;idx_custnum_status_createtime&nbsp;|&nbsp;1023&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;const,const&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;10.00&nbsp;|&nbsp;Using&nbsp;where&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+-------------------------------+-------------------------------+---------+-------------+------+----------+-------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br></code></pre> <h3 data-tool="mdnice编辑器" style=" margin-top: 30px;margin-bottom: 15px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span style="background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2yuvj6vstod2fchney1ejuohuuiavlq3iabwgtmslvd8siyzh0wh4hebw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: 15px 15px;width: 15px;height: 15px;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-size: 22px;font-weight: bold;flex-direction: unset;float: unset;justify-content: unset;letter-spacing: 0px;line-height: 1.5em;margin-bottom: -2px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;-webkit-box-reflect: unset;></span><span style="display: none;"></span><span style=" color: rgb(72, 179, 120);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-left: 8px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">左匹配原理</span><span style="display: none;"></span></h3> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">建立联合索引<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>idx(customer_num,status,create_time)</code> ,B+树的数据页和记录先是按照列customer_num的值排序的,在customer_num列的值相同的情况下才使用status列进行排序.</p> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001530" data-ratio="0.7537537537537538" src="/upload/1e078d30b512966b473729180fc14b67.png" data-type="png" data-w="666" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">因此,我们想使用联合索引中尽可能多的列。一个原则,<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>搜索条件中的各个列必须含有联合索引中从最左边索引列</code>。</p> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">5、范围条件查询的先后原则</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">也是针对联合索引来说的,所有记录都是按照索引列的值从小到大的顺序排好序的,而联合索引则是按创建索引时的顺序进行分组排序。</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">为方便测试,现在只保留联合索引。</p> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001532" data-ratio="0.16410614525139663" src="/upload/7d9203f9c094c7069696375c9b69205b.png" data-type="png" data-w="1432" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">例如:统计创建时间:2024-05-22 15:49:11,未付款订单。</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;create_time&nbsp;范围查询在前,不满足索引的顺序,导致失效</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">where</span>&nbsp;&nbsp;t.create_time&nbsp;&gt;&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-05-22&nbsp;15:49:11'</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">and</span>&nbsp;t.<span style="color: #98c379;line-height: 26px;">`status`</span>&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'1'</span>&nbsp;;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;&nbsp;&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;164571&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.33&nbsp;|&nbsp;Using&nbsp;where&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+--------+----------+-------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">而中间有范围查询会导致后面的列全部失效,结果会怎样呢?</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;中间有范围查询会导致后面的列全部失效,无法充分利用这个联合索引</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;例如,status&nbsp;使用范围,导致create_time&nbsp;索引失效</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">select</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">from</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">where</span>&nbsp;&nbsp;t.customer_num=&nbsp;<span style="color: #98c379;line-height: 26px;">'CUST202400'</span>&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">and</span>&nbsp;t.status&nbsp;&gt;&nbsp;<span style="color: #98c379;line-height: 26px;">'-1'</span>&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">and</span>&nbsp;t.create_time&nbsp;&nbsp;=&nbsp;&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+-------+-------------------------------+-------------------------------+---------+------+------+----------+-----------------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;&nbsp;|&nbsp;possible_keys&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+-------+-------------------------------+-------------------------------+---------+------+------+----------+-----------------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;range&nbsp;|&nbsp;idx_custnum_status_createtime&nbsp;|&nbsp;idx_custnum_status_createtime&nbsp;|&nbsp;1023&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;10.00&nbsp;|&nbsp;Using&nbsp;index&nbsp;condition&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+-------+-------------------------------+-------------------------------+---------+------+------+----------+-----------------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">思考:怎么知道上述 SQL 走了那些索引,我们给一个对比的图。</p> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001533" data-ratio="0.18665276329509906" src="/upload/4ffc091061f5d58dd941fa3fda36baee.png" data-type="png" data-w="1918" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">显然,两个查询SQL对应len都是1023,代表status建立的索引都生效。</p> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">6、慎用 (!= 或者&lt;&gt;)</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">如果我们在order_id列上加索引</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;使用(!=&nbsp;或者&lt;&gt;)</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;结果:全表扫描</span><br><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;t.order_id&nbsp;&lt;&gt;&nbsp;<span style="color: #98c379;line-height: 26px;">'10001'</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;idx_order_id&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;10&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;Using&nbsp;where&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">7、使用 Null/Not NULL</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">这里注意:order_id 为空和不为空不太一样。</p> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> 情景1:order_id不可为空,使用(Null) </section></li> </ul> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001536" data-ratio="0.2605932203389831" src="/upload/13373377d2e4e430b26663c76d2fc8a7.png" data-type="png" data-w="1416" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;情景1:order_id不可为空,使用(Null)</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;结果:Impossible WHERE,(查询语句的WHERE子句永远为FALSE时将会提示该额外信息)</span><br><br>mysql&gt;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;order_id&nbsp;<span style="color: #c678dd;line-height: 26px;">is</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">null</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+------------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+------------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NULL&nbsp;|&nbsp;Impossible&nbsp;WHERE&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+------------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br><br></code></pre> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> 情景2:order_id可为空,使用(Null) </section></li> </ul> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001538" data-ratio="0.24607703281027105" src="/upload/5586280a27482007aae9766ec33b5cf1.png" data-type="png" data-w="1402" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;order_id可为空,使用(Null)</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;is&nbsp;null会走ref类型的索引访问</span><br>mysql&gt;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;order_id&nbsp;<span style="color: #c678dd;line-height: 26px;">is</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">null</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+--------------+---------+-------+------+----------+-----------------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+--------------+---------+-------+------+----------+-----------------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;idx_order_id&nbsp;&nbsp;|&nbsp;idx_order_id&nbsp;|&nbsp;9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;const&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;Using&nbsp;index&nbsp;condition&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+--------------+---------+-------+------+----------+-----------------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br></code></pre> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> 情景3:order_id不可为空,使用(NOT Null) </section></li> </ul> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;情景1:order_id不可为空,使用(NOT Null)</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;</span><br>mysql&gt;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;order_id&nbsp;<span style="color: #c678dd;line-height: 26px;">is</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">not</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">null</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;10&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;NULL&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br></code></pre> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> 情景4:order_id可为空,使用(NOT Null) </section></li> </ul> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;情景1:order_id 可为空,使用(NOT Null)</span><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;</span><br>mysql&gt;&nbsp;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;order_id&nbsp;<span style="color: #c678dd;line-height: 26px;">is</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">not</span>&nbsp;<span style="color: #56b6c2;line-height: 26px;">null</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;10&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;NULL&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br></code></pre> <h3 data-tool="mdnice编辑器" style=" margin-top: 30px;margin-bottom: 15px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;flex-direction: unset;float: unset;height: auto;justify-content: unset;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; "><span style="background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2yuvj6vstod2fchney1ejuohuuiavlq3iabwgtmslvd8siyzh0wh4hebw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: 15px 15px;width: 15px;height: 15px;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-size: 22px;font-weight: bold;flex-direction: unset;float: unset;justify-content: unset;letter-spacing: 0px;line-height: 1.5em;margin-bottom: -2px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;-webkit-box-reflect: unset;></span><span style="display: none;"></span><span style=" color: rgb(72, 179, 120);line-height: 1.5em;letter-spacing: 0em;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: auto;justify-content: unset;margin-left: 8px;overflow: unset; text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">小结</span><span style="display: none;"></span></h3> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">is not null容易导致索引失效,is null则会区分被检索的列是否为null,如果是null则会走ref类型的索引访问,如果不为null,也是全表扫描。</p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">思考:使用联合索引时,情况如何呢?</p> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">8、字符类型加引号转化导致全表扫描</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">字符串不加单引号索引失效</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;未加单引号,索引失效</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;order_id&nbsp;&nbsp;=&nbsp;<span style="color: #d19a66;line-height: 26px;">10000000000001</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;idx_order_id&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;10&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;10.00&nbsp;|&nbsp;Using&nbsp;where&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">3</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warnings</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br></code></pre> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;使用单引号,索引生效</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;order_id&nbsp;&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000001'</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+--------------+---------+-------+------+----------+-------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+--------------+---------+-------+------+----------+-------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;idx_order_id&nbsp;&nbsp;|&nbsp;idx_order_id&nbsp;|&nbsp;1023&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;const&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;NULL&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+--------------+---------+-------+------+----------+-------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br></code></pre> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">9、使用or关键字时注意点</p> </blockquote> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> 情境1. 在索引列上使用or </section></li> </ul> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><br><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;在索引列上使用or,&nbsp;索引生效</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;order_id&nbsp;&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000001'</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">or</span>&nbsp;order_id&nbsp;&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000002'</span>&nbsp;;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+-------+---------------+--------------+---------+------+------+----------+-----------------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+-------+---------------+--------------+---------+------+------+----------+-----------------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;range&nbsp;|&nbsp;idx_order_id&nbsp;&nbsp;|&nbsp;idx_order_id&nbsp;|&nbsp;1023&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;Using&nbsp;index&nbsp;condition&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+-------+---------------+--------------+---------+------+------+----------+-----------------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <ul data-tool="mdnice编辑器" style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;" class="list-paddingleft-1"> <li> <section style="margin-top: 5px;margin-bottom: 5px;color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;"> 情境2. 在非索引列上使用or </section></li> </ul> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;在非索引列上使用or, 索引失效。</span><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;order_id&nbsp;&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'10000000000001'</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">or</span>&nbsp;t.update_time&nbsp;&nbsp;=&nbsp;<span style="color: #98c379;line-height: 26px;">'2024-06-22&nbsp;15:49:11'</span>&nbsp;;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;idx_order_id&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;10&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;19.00&nbsp;|&nbsp;Using&nbsp;where&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br></code></pre> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">10、like以通配符开头('%abc...')导致索引失效</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">这是查询时常用的SQL: like以通配符开头('%abc...'),mysql索引失效会变成全表扫描的操作.</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;"><span style="color: #5c6370;font-style: italic;line-height: 26px;">--&nbsp;like以通配符开头('%abc...')导致索引失效,&nbsp;导致全表扫描</span><br><br>mysql&gt;&nbsp;<span style="color: #c678dd;line-height: 26px;">explain</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">SELECT</span>&nbsp;*&nbsp;<span style="color: #c678dd;line-height: 26px;">FROM</span>&nbsp;mydb.t_orders&nbsp;t&nbsp;<span style="color: #c678dd;line-height: 26px;">WHERE</span>&nbsp;t.customer_num&nbsp;<span style="color: #c678dd;line-height: 26px;">like</span>&nbsp;<span style="color: #98c379;line-height: 26px;">'%CUST'</span>;<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;type&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;10&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;11.11&nbsp;|&nbsp;Using&nbsp;where&nbsp;|<br>+<span style="color: #5c6370;font-style: italic;line-height: 26px;">----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+-------------+</span><br>1&nbsp;row&nbsp;in&nbsp;<span style="color: #c678dd;line-height: 26px;">set</span>,&nbsp;<span style="color: #d19a66;line-height: 26px;">1</span>&nbsp;<span style="color: #c678dd;line-height: 26px;">warning</span>&nbsp;(<span style="color: #d19a66;line-height: 26px;">0.00</span>&nbsp;sec)<br><br></code></pre> <blockquote data-tool="mdnice编辑器" style="margin-top: 20px;margin-bottom: 20px;padding: 10px 10px 10px 20px;border-top: 3px none rgba(0, 0, 0, 0.4);border-bottom: 3px none rgba(0, 0, 0, 0.4);border-right: 3px none rgba(0, 0, 0, 0.4);border-left-color: rgb(53, 179, 120);border-radius: 0px;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(251, 249, 253);width: auto;height: auto;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;overflow: auto;"> <span style="display: none;color: rgb(0, 0, 0);font-size: 16px;line-height: 1.5em;letter-spacing: 0em;"></span> <p style="text-indent: 0em;padding-top: 16px;padding-bottom: 8px;color: rgb(63, 63, 63);font-size: 16px;line-height: 1.8em;letter-spacing: 0.02em;">11、使用索引扫描来做排序和分组</p> </blockquote> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;"><strong style="color: rgb(74, 74, 74);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">排序列包含非同一个索引的列</strong></p> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">用来排序的多个列不是一个索引里的,这种情况也不能使用索引进行排序</p> <pre data-tool="mdnice编辑器" style="border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;margin-top: 10px;margin-bottom: 10px;"><span style="display: block;background: url(" https: mmbiz.qpic.cn mmbiz_svg jcrjicctrmodv9olh1fre6lakvvhjk9zfylumk97dsziahouibmzrojjtb5xxvdsgoodpie2d6b0reybaibyqxbia5uqqice3mig7e 640?wx_fmt="svg&amp;from=appmsg&quot;)" 10px 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;padding-top: 15px;background: #282c34;border-radius: 5px;display: -webkit-box;font-family: 'Operator Mono', Consolas, Monaco, Menlo, monospace;border-top-left-radius: 0px;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-bottom-left-radius: 0px;font-size: 12px;">mysql&gt;&nbsp;explain&nbsp;SELECT&nbsp;t.order_id,t.customer_num&nbsp;&nbsp;FROM&nbsp;mydb.t_orders&nbsp;t&nbsp;order&nbsp;by&nbsp;t.order_id,t.customer_num;<br>+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------+<br>|&nbsp;id&nbsp;|&nbsp;select_type&nbsp;|&nbsp;table&nbsp;|&nbsp;partitions&nbsp;|&nbsp;<span style="color: #e6c07b;line-height: 26px;">type</span>&nbsp;|&nbsp;possible_keys&nbsp;|&nbsp;key&nbsp;&nbsp;|&nbsp;key_len&nbsp;|&nbsp;ref&nbsp;&nbsp;|&nbsp;rows&nbsp;|&nbsp;filtered&nbsp;|&nbsp;Extra&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|<br>+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------+<br>|&nbsp;&nbsp;1&nbsp;|&nbsp;SIMPLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;ALL&nbsp;&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;NULL&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;NULL&nbsp;|&nbsp;&nbsp;&nbsp;10&nbsp;|&nbsp;&nbsp;&nbsp;100.00&nbsp;|&nbsp;Using&nbsp;filesort&nbsp;|<br>+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+----------------+<br>1&nbsp;row&nbsp;<span style="color: #c678dd;line-height: 26px;">in</span>&nbsp;<span style="color: #e6c07b;line-height: 26px;">set</span>,&nbsp;1&nbsp;warning&nbsp;(0.00&nbsp;sec)<br><br></code></pre> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">MySQL可以使用同一个索引既满足排序,又用于查找行。因此,如果可能,设计索引时应该尽可能地同时满足这两种任务,这样是最好的。</p> <h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2es9w0britmvk70wdeam4zzomhpvriahrbfkmrrqopnhziaaowlilk5mw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 50% 50%;background-repeat: no-repeat;background-size: 63px;width: auto;height: auto;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;justify-content: center;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;-webkit-box-reflect: unset;><span style="display: none;"></span><span style=" font-size: 18px;color: rgb(72, 179, 120);line-height: 2.4em;letter-spacing: 0em;margin-top: 38px;margin-bottom: 10px;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: 38px;justify-content: unset;overflow: unset; text-align: center;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">总结和思考</span><span style="display: none;"></span></h2> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">本章重点,对于一个假设的<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>index(a, b, c)</code>复合索引的使用情况:</p> <section data-tool="mdnice编辑器" style="overflow-x: auto;"> <table> <thead> <tr> <th style="color: rgb(63, 63, 63);line-height: 1.5em;letter-spacing: 0.02em;text-align: left;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);width: auto;height: auto;border-top-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;min-width: 85px;"><code>WHERE</code> 语句示例</th> <th style="color: rgb(63, 63, 63);line-height: 1.5em;letter-spacing: 0.02em;text-align: left;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);width: auto;height: auto;border-top-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;min-width: 85px;">索引使用情况</th> <th style="color: rgb(63, 63, 63);line-height: 1.5em;letter-spacing: 0.02em;text-align: left;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(240, 240, 240);width: auto;height: auto;border-top-width: 1px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;min-width: 85px;">备注</th> </tr> </thead> <tbody style="line-height: 1.5em;letter-spacing: 0.02em;border-width: 0px;border-style: initial;border-color: initial;"> <tr style="color: rgb(63, 63, 63);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where a = 3</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用到a</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">只使用索引的第一个列a</td> </tr> <tr style="background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(248, 248, 248);width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where a = 3 and b = 5</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用到a,b</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用索引的前两列a和b</td> </tr> <tr style="color: rgb(63, 63, 63);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where a = 3 and b = 5 and c = 4</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用到a, b, c</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">完全使用索引的所有列a、b、c</td> </tr> <tr style="background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(248, 248, 248);width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where b = 3</code> 或 <code>where b = 3 and c = 4</code> 或 <code>where c = 4</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">不使用索引</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">没有使用索引的第一个列a,索引不被使用</td> </tr> <tr style="color: rgb(63, 63, 63);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where a = 3 and c = 5</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用到a</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">b列缺失,但可以使用索引的a和c列</td> </tr> <tr style="background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(248, 248, 248);width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where a = 3 and b &gt; 4 and c = 5</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用到a和b</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用索引的a和b列,c列因为范围查询不能使用</td> </tr> <tr style="color: rgb(63, 63, 63);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where a = 3 and b like 'kk%' and c = 4</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用到a, b, c</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用索引的a列和b列的模式匹配,以及c列</td> </tr> <tr style="background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(248, 248, 248);width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where a = 3 and b like '%kk' and c = 4</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">只用到a</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">通配符在开头,b列的索引不能使用,c列同样</td> </tr> <tr style="color: rgb(63, 63, 63);background-attachment: scroll;background-clip: border-box;background-color: rgb(255, 255, 255);background-image: none;background-origin: padding-box;background-position-x: 0%;background-position-y: 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where a = 3 and b like '%kk%' and c = 4</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">只用到a</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">通配符在两边,b列的索引不能使用,c列同样</td> </tr> <tr style="background: none 0% 0% / auto no-repeat scroll padding-box border-box rgb(248, 248, 248);width: auto;height: auto;"> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;"><code>where a = 3 and b like 'k%kk%' and c = 4</code></td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">使用到a, b, c</td> <td style="min-width: 85px;border-color: rgba(204, 204, 204, 0.4);border-radius: 0px;">尽管有通配符,但b列的索引部分可用,可以使用整个索引</td> </tr> </tbody> </table> </section> <h2 data-tool="mdnice编辑器" style="margin-top: 30px;margin-bottom: 15px;background-attachment: scroll;background-clip: border-box;background-image: url(" https: mmbiz.qpic.cn sz_mmbiz_png vhiaujy5r5vbfgahsibxn4xg3knxkgyian2es9w0britmvk70wdeam4zzomhpvriahrbfkmrrqopnhziaaowlilk5mw 640?wx_fmt="png&amp;from=appmsg&quot;);background-origin:" padding-box;background-position: 50% 50%;background-repeat: no-repeat;background-size: 63px;width: auto;height: auto;align-items: unset;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;box-shadow: none;display: flex;flex-direction: unset;float: unset;justify-content: center;line-height: 1.5em;overflow: unset; text-shadow: none;transform: none;-webkit-box-reflect: unset;><span style="display: none;"></span><span style=" font-size: 18px;color: rgb(72, 179, 120);line-height: 2.4em;letter-spacing: 0em;margin-top: 38px;margin-bottom: 10px;border-style: none;border-width: 1px;border-color: rgb(0, 0, 0);border-radius: 0px;align-items: unset;background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;box-shadow: none;display: inline-block;font-weight: bold;flex-direction: unset;float: unset;height: 38px;justify-content: unset;overflow: unset; text-align: center;text-indent: 0em;text-shadow: none;transform: none;width: auto;-webkit-box-reflect: unset; ">结尾</span><span style="display: none;"></span></h2> <p data-tool="mdnice编辑器" style="color: rgb(63, 63, 63);line-height: 1.8em;letter-spacing: 0.02em;text-indent: 0em;padding-top: 16px;padding-bottom: 8px;">  <em style="color: rgb(0, 0, 0);background-attachment: scroll;background-clip: border-box;background-image: none;background-origin: padding-box;background-position: 0% 0%;background-repeat: no-repeat;background-size: auto;width: auto;height: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 0px;">共享即共赢</em>。欢迎<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>转发</code>、<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>点赞</code>和<code style="color: rgb(40, 202, 113);font-size: 14px;line-height: 1.8em;letter-spacing: 0em;background: none 0% 0% / auto no-repeat scroll padding-box border-box rgba(27, 31, 35, 0.05);width: auto;height: auto;margin-left: 2px;margin-right: 2px;padding: 2px 4px;border-style: none;border-width: 3px;border-color: rgb(0, 0, 0) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.4);border-radius: 4px;font-family: " operator mono, consolas, monaco, menlo, monospace;word-break: break-all;>在看</code>。关注公众号【码易有道】,一起做长期且正确的事情!!!</p> <figure data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;"> <img class="rich_pages wxw-img" data-imgfileid="100001537" data-ratio="0.37168141592920356" src="/upload/bd3dcf8a2da22c9ffda024523083a425.png" data-type="png" data-w="339" style="display: block;margin-right: auto;margin-left: auto;border-style: none;border-width: 3px;border-color: rgba(0, 0, 0, 0.4);border-radius: 4px;object-fit: fill;box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;"> </figure> </section> <p><br></p> <p style="display: none;"> <mp-style-type data-value="3"></mp-style-type></p>

256M参数多模态OCR神器,0.35秒解锁全文档奥秘!

作者:微信小助手

<p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 0px;color: rgb(10, 10, 10);font-family: ui-sans-serif, system-ui, sans-serif, " apple color emoji, segoe ui symbol, noto emoji;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-size: 0px;line-height: 0; data-pm-slice="0 0 []"><span leaf="">&nbsp;</span></p> <section style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 0px 8px 1.5em;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">当前主流OCR系统通常都需要1B+参数的大模型计算,近期刚好在抱抱脸上发现一款仅256M参数的轻量级全能型文档OCR模型工具。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">一个名为&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(66, 166, 100);><span leaf="">SmolDocling</span></strong><span leaf="">&nbsp;的 OCR 模型,轻量级、高速且支持完整文档OCR的多模态视觉语言模型,能在 每页 0.35 秒 内完成文档解析。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">它支持布局识别、代码识别、公式解析、表格解析、图表提取 等多种任务,并能导出为 Markdown、HTML、JSON 等格式。</span></p> <section style="text-align: center;" nodeleaf=""> <img class="rich_pages wxw-img" src="https://mmbiz.qpic.cn/mmbiz_png/NjA8gwicXyeKOicRKanHKOkntmic3GRcuma66VibJ6MGaTYVoHF44QVazn04p8BEKq133AOVdriaNCUymvsx6C2AErg/0?wx_fmt=png&amp;from=appmsg" data-cropx2="1256" data-cropy2="721.439446366782" data-imgfileid="100018041" data-ratio="0.5740445859872612" data-s="300,640" src="/upload/0c5b697a4d3a19e746705773f65287f1.jpg" data-type="png" data-w="1256" style="width:578px;height:332px;" type="block"> </section> <h4 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 15px;font-weight: bold;margin: 2em 8px 0.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(66, 166, 100);><span leaf="">核心能力</span></h4> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(66, 166, 100);><span leaf="">1、全文档 OCR 解析</span></strong></p> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">• 智能识别标题、正文、列表、表格、图表、代码、公式等内容。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">• 适用于学术论文、商业文档、专利、报告、手写文档等多种文档类型。</span> </section></li> </ul> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(66, 166, 100);><span leaf="">2、轻量 &amp; 高速</span></strong></p> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: circle;margin: 0px;padding: 0px 0px 0px 1em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">• 256M 小型参数,可在 CPU/低配 GPU 上运行,无需高端计算资源。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;text-indent: -1em;display: block;margin: 0.2em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">• OCR 速度快,每页仅需 0.35 秒,适用于批量处理。</span> </section></li> </ul> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(66, 166, 100);><span leaf="">3、多样化元素识别</span></strong></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">布局识别、代码识别、公式识别、图表与表格、图形分类等。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(66, 166, 100);><span leaf="">4、灵活的输出格式</span></strong></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">支持导出为 Markdown、HTML、JSON 等多种格式。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(66, 166, 100);><span leaf="">5、批量处理支持</span></strong></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">可一次性处理多个文档,适合大规模数据转换。</span></p> <h4 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 15px;font-weight: bold;margin: 2em 8px 0.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(66, 166, 100);><span leaf="">快速使用</span></h4> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">要想使用这个最新的 SmolDocling,有两种方法:在线Demo、代码调用。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf=""><span textstyle="" style="font-weight: bold;">在线Demo</span></span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">官方也在 HuggingFace 上部署了SmolDocling-256M-preview的Demo,可直接体验其强大的功能。</span></p> <section style="text-align: center;" nodeleaf=""> <img class="rich_pages wxw-img" data-imgfileid="100018043" data-ratio="0.3930589184826473" data-s="300,640" src="/upload/ae180c5d5e64d2ce47ca95468ec9454f.png" data-type="png" data-w="2478" type="block"> </section> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">Demo地址:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;color: rgb(87, 107, 149);><span leaf="">https://huggingface.co/spaces/ds4sd/SmolDocling-256M-Demo</span></span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf=""><span textstyle="" style="font-weight: bold;">代码调用</span></span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">使用Transformers进行单页图像推理</span></p> <pre style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;background: rgb(0, 0, 0);color: rgb(234, 234, 234);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;padding: 0px !important;><span hidden style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: flex;padding: 10px 14px 0px;"> <svg viewbox="0 0 450 130" height="13px" width="45px" y="0px" x="0px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <ellipse fill="rgb(237,108,96)" stroke-width="2" stroke="rgb(220,60,54)" ry="52" rx="50" cy="65" cx="50"></ellipse><ellipse fill="rgb(247,193,81)" stroke-width="2" stroke="rgb(218,151,33)" ry="52" rx="50" cy="65" cx="225"></ellipse><ellipse fill="rgb(100,200,86)" stroke-width="2" stroke="rgb(27,161,37)" ry="52" rx="50" cy="65" cx="400"></ellipse> </svg></span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: Menlo, " operator mono, consolas, monaco, monospace;font-feature-settings: normal;font-variation-settings: normal;font-size: 15px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0px;text-align: left;line-height: 1.75;margin: 0px;white-space: nowrap;><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Prerequisites:</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># pip install torch</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># pip install docling_core</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># pip install transformers</span></span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;torch</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">from</span></span><span leaf="">&nbsp;docling_core.types.doc&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;DoclingDocument</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">from</span></span><span leaf="">&nbsp;docling_core.types.doc.document&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;DocTagsDocument</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">from</span></span><span leaf="">&nbsp;transformers&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;AutoProcessor, AutoModelForVision2Seq</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">from</span></span><span leaf="">&nbsp;transformers.image_utils&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;load_image</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">DEVICE =&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"cuda"</span></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">if</span></span><span leaf="">&nbsp;torch.cuda.is_available()&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">else</span></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"cpu"</span></span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Load images</span></span><span leaf=""><br></span><span leaf="">image = load_image(</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"https://upload.wikimedia.org/wikipedia/commons/7/76/GazettedeFrance.jpg"</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Initialize processor and model</span></span><span leaf=""><br></span><span leaf="">processor = AutoProcessor.from_pretrained(</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"ds4sd/SmolDocling-256M-preview"</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf="">model = AutoModelForVision2Seq.from_pretrained(</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"ds4sd/SmolDocling-256M-preview"</span></span><span leaf="">,</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; torch_dtype=torch.bfloat16,</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; _attn_implementation=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"flash_attention_2"</span></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">if</span></span><span leaf="">&nbsp;DEVICE ==&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"cuda"</span></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">else</span></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"eager"</span></span><span leaf="">,</span><span leaf=""><br></span><span leaf="">).to(DEVICE)</span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Create input messages</span></span><span leaf=""><br></span><span leaf="">messages = [</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; {</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"role"</span></span><span leaf="">:&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"user"</span></span><span leaf="">,</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"content"</span></span><span leaf="">: [</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"type"</span></span><span leaf="">:&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"image"</span></span><span leaf="">},</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"type"</span></span><span leaf="">:&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"text"</span></span><span leaf="">,&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"text"</span></span><span leaf="">:&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"Convert this page to docling."</span></span><span leaf="">}</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; ]</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; },</span><span leaf=""><br></span><span leaf="">]</span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Prepare inputs</span></span><span leaf=""><br></span><span leaf="">prompt = processor.apply_chat_template(messages, add_generation_prompt=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">True</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf="">inputs = processor(text=prompt, images=[image], return_tensors=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"pt"</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf="">inputs = inputs.to(DEVICE)</span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Generate outputs</span></span><span leaf=""><br></span><span leaf="">generated_ids = model.generate(**inputs, max_new_tokens=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">8192</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf="">prompt_length = inputs.input_ids.shape[</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">1</span></span><span leaf="">]</span><span leaf=""><br></span><span leaf="">trimmed_generated_ids = generated_ids[:, prompt_length:]</span><span leaf=""><br></span><span leaf="">doctags = processor.batch_decode(</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; trimmed_generated_ids,</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; skip_special_tokens=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">False</span></span><span leaf="">,</span><span leaf=""><br></span><span leaf="">)[</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">0</span></span><span leaf="">].lstrip()</span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Populate document</span></span><span leaf=""><br></span><span leaf="">doctags_doc = DocTagsDocument.from_doctags_and_image_pairs([doctags], [image])</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">print</span></span><span leaf="">(doctags)</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># create a docling document</span></span><span leaf=""><br></span><span leaf="">doc = DoclingDocument(name=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"Document"</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf="">doc.load_from_doctags(doctags_doc)</span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># export as any format</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># HTML</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># doc.save_as_html(output_file)</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># MD</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">print</span></span><span leaf="">(doc.export_to_markdown())</span></code></pre> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">使用VLLM进行快速批量推理</span></p> <pre style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;background: rgb(0, 0, 0);color: rgb(234, 234, 234);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;padding: 0px !important;><span hidden style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: flex;padding: 10px 14px 0px;"> <svg viewbox="0 0 450 130" height="13px" width="45px" y="0px" x="0px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <ellipse fill="rgb(237,108,96)" stroke-width="2" stroke="rgb(220,60,54)" ry="52" rx="50" cy="65" cx="50"></ellipse><ellipse fill="rgb(247,193,81)" stroke-width="2" stroke="rgb(218,151,33)" ry="52" rx="50" cy="65" cx="225"></ellipse><ellipse fill="rgb(100,200,86)" stroke-width="2" stroke="rgb(27,161,37)" ry="52" rx="50" cy="65" cx="400"></ellipse> </svg></span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: Menlo, " operator mono, consolas, monaco, monospace;font-feature-settings: normal;font-variation-settings: normal;font-size: 15px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0px;text-align: left;line-height: 1.75;margin: 0px;white-space: nowrap;><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Prerequisites:</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># pip install vllm</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># pip install docling_core</span></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># place page images you want to convert into "img/" dir</span></span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;time</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;os</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">from</span></span><span leaf="">&nbsp;vllm&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;LLM, SamplingParams</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">from</span></span><span leaf="">&nbsp;PIL&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;Image</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">from</span></span><span leaf="">&nbsp;docling_core.types.doc&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;DoclingDocument</span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">from</span></span><span leaf="">&nbsp;docling_core.types.doc.document&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">import</span></span><span leaf="">&nbsp;DocTagsDocument</span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Configuration</span></span><span leaf=""><br></span><span leaf="">MODEL_PATH =&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"ds4sd/SmolDocling-256M-preview"</span></span><span leaf=""><br></span><span leaf="">IMAGE_DIR =&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"img/"</span></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Place your page images here</span></span><span leaf=""><br></span><span leaf="">OUTPUT_DIR =&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"out/"</span></span><span leaf=""><br></span><span leaf="">PROMPT_TEXT =&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"Convert page to Docling."</span></span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Ensure output directory exists</span></span><span leaf=""><br></span><span leaf="">os.makedirs(OUTPUT_DIR, exist_ok=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">True</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># Initialize LLM</span></span><span leaf=""><br></span><span leaf="">llm = LLM(model=MODEL_PATH, limit_mm_per_prompt={</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"image"</span></span><span leaf="">:&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">1</span></span><span leaf="">})</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">sampling_params = SamplingParams(</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; temperature=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">0.0</span></span><span leaf="">,</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; max_tokens=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">8192</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">chat_template =&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">f"&lt;|im_start|&gt;User:<img></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"><span leaf="">{PROMPT_TEXT}</span></span><span leaf=""> <end_of_utterance></end_of_utterance></span><span leaf=""><br></span><span leaf="">Assistant:"</span></span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">image_files =&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">sorted</span></span><span leaf="">([f&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">for</span></span><span leaf="">&nbsp;f&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">in</span></span><span leaf="">&nbsp;os.listdir(IMAGE_DIR)&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">if</span></span><span leaf="">&nbsp;f.lower().endswith((</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">".png"</span></span><span leaf="">,&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">".jpg"</span></span><span leaf="">,&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">".jpeg"</span></span><span leaf="">))])</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">start_time = time.time()</span><span leaf=""><br></span><span leaf="">total_tokens =&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">0</span></span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">for</span></span><span leaf="">&nbsp;idx, img_file&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">in</span></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">enumerate</span></span><span leaf="">(image_files,&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">1</span></span><span leaf="">):</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; img_path = os.path.join(IMAGE_DIR, img_file)</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; image = Image.</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">open</span></span><span leaf="">(img_path).convert(</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"RGB"</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; llm_input = {</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"prompt"</span></span><span leaf="">: chat_template,&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"multi_modal_data"</span></span><span leaf="">: {</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"image"</span></span><span leaf="">: image}}</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; output = llm.generate([llm_input], sampling_params=sampling_params)[</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">0</span></span><span leaf="">]</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp;&nbsp;</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; doctags = output.outputs[</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">0</span></span><span leaf="">].text</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; img_fn = os.path.splitext(img_file)[</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">0</span></span><span leaf="">]</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; output_filename = img_fn +&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">".dt"</span></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; output_path = os.path.join(OUTPUT_DIR, output_filename)</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">with</span></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">open</span></span><span leaf="">(output_path,&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"w"</span></span><span leaf="">, encoding=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"utf-8"</span></span><span leaf="">)&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(195, 151, 216);"><span leaf="">as</span></span><span leaf="">&nbsp;f:</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; f.write(doctags)</span><span leaf=""><br></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># To convert to Docling Document, MD, HTML, etc.:</span></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; doctags_doc = DocTagsDocument.from_doctags_and_image_pairs([doctags], [image])</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; doc = DoclingDocument(name=</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">"Document"</span></span><span leaf="">)</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; doc.load_from_doctags(doctags_doc)</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># export as any format</span></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># HTML</span></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># doc.save_as_html(output_file)</span></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp;&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(150, 152, 150);"><span leaf=""># MD</span></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; output_filename_md = img_fn +&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">".md"</span></span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; output_path_md = os.path.join(OUTPUT_DIR, output_filename_md)</span><span leaf=""><br></span><span leaf="">&nbsp; &nbsp; doc.save_as_markdown(output_path_md)</span><span leaf=""><br></span><span leaf=""><br></span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">print</span></span><span leaf="">(</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(185, 202, 74);"><span leaf="">f"Total time:&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"><span leaf="">{time.time() - start_time:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(231, 140, 69);"><span leaf="">.2</span></span><span leaf="">f}</span></span><span leaf="">&nbsp;sec"</span></span><span leaf="">)</span></code></pre> <h4 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 15px;font-weight: bold;margin: 2em 8px 0.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(66, 166, 100);><span leaf="">写在最后</span></h4> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(66, 166, 100);><span leaf="">SmolDocling</span></strong><span leaf="">&nbsp;是一款轻量级、超快、可全文档解析的多模态 OCR 模型,比传统 OCR 更精准、更高效,适用于 论文解析、合同分析、数据提取、知识库构建等任务。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">不仅支持完整文档 OCR,包括表格、代码、公式、图表,处理速度也超快,每页仅需 0.35 秒,还可导出多种格式,适合许多不同需求的人群。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">如果你正在寻找 一款快速、高效的 OCR 工具,SmolDocling 绝对值得一试!</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">模型地址:</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 15px;color: rgb(87, 107, 149);><span leaf="">https://huggingface.co/ds4sd/SmolDocling-256M-preview</span></span></p> </section>

从裁员到年薪百万:程序员靠RAG技术逆袭的“核心密码”

作者:微信小助手

<section style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));color: rgb(10, 10, 10);font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">在AI技术飞速发展的今天,我意识到程序员转型为AI工程师似乎是一个不错的选择。然而,这一转型并非易事,既需要扎实的编程基础,又需深入理解各种AI模型和技术。其中,检索增强生成(RAG)技术作为大模型落地的关键技术,通过将大型语言模型与外部知识库相结合,显著提升了生成式AI的准确性和时效性。掌握RAG技术,不仅能增强AI系统的响应能力,还能有效解决传统语言模型在处理特定领域知识时的局限性。学习并掌握RAG技术,对于希望在AI领域发展的程序员而言,具有重要意义。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">本文我们将从RAG相关原理入手,介绍如何基于RAGFlow本地部署DeepSpeek-R1大模型以及搭建知识库,如果感兴趣就往下约阅读吧~</span></p> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 18.2px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(146, 97, 126);border-radius: 8px;box-shadow: rgba(0, 0, 0.1) 0px 4px 6px;><span leaf="">2. RAG相关概念讲解(对概念不感兴趣就跳过)</span></h2> <h3 style="box-sizing: border-box;border-width: 0px 0px 1px 4px;border-style: solid solid dashed;border-bottom-color: rgb(146, 97, 126);border-left-color: rgb(146, 97, 126);font-size: 16.8px;font-weight: bold;margin: 2em 8px 0.75em 0px;text-align: left;line-height: 1.2;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);><span leaf="">2.1. 什么是Embedding</span></h3> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">Embedding(嵌入)是把信息(比如单词、句子、文档)转化为计算机能够理解的数字形式。我们把这种转化得到的数字向量称为“Embedding向量”。这种做法在很多AI应用中都很常见,尤其是在处理文本时。想象一下,你和朋友在讨论《红楼梦》中的人物时,可能会提到“林黛玉”和“贾宝玉”这两个角色。在你们的谈话中,这些名字不仅仅是字面上的称呼,它们还承载着丰富的情感和故事背景。同样地,计算机也需要一种方式来理解这些词语背后的深层含义。Embedding(嵌入)就是一种将词语、句子或文档转化为计算机可以理解的数字形式的方法。通过这种方式,计算机能够“感知”词语之间的关系和相似性。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">举个例子:</span></strong></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">假设我们将“林黛玉”和“贾宝玉”这两个角色转化为一组数字,例如:</span></p> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">林黛玉</span></strong><span leaf="">:[0.2, 0.8, -0.5, ...]</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">贾宝玉</span></strong><span leaf="">:[0.3, 0.7, -0.4, ...]</span> </section></li> </ul> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">这些数字背后的含义可能是:</span></p> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">第一个数字</span></strong><span leaf="">:代表角色的文学地位。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">第二个数字</span></strong><span leaf="">:代表角色的性格特征。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">第三个数字</span></strong><span leaf="">:代表角色的情感经历。</span> </section></li> </ul> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">由于“林黛玉”和“贾宝玉”在故事中有着深厚的关系和相似的性格特征,所以它们的数字表示在计算机的“心目”中会比较接近。这种接近性帮助计算机理解它们在语义上的相似性:</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf=""><img src="/upload/7d380ea61ef6c5f64240d92f629f1e42.png" alt="embedding.drawio.png" class="rich_pages wxw-img" data-ratio="0.9765258215962441" data-type="other" data-w="426" data-imgfileid="100000273"></span></p> <h3 style="box-sizing: border-box;border-width: 0px 0px 1px 4px;border-style: solid solid dashed;border-bottom-color: rgb(146, 97, 126);border-left-color: rgb(146, 97, 126);font-size: 16.8px;font-weight: bold;margin: 2em 8px 0.75em 0px;text-align: left;line-height: 1.2;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">2.2 Embedding 模型精选与对比</span></strong></h3> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">为帮助读者快速选择适合 RAG 系统的嵌入模型,本文结合最新行业评测(截至2025年3月)整理出以下主流模型及其特性:</span></p> <section style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));padding: 0px 8px;max-width: 100%;overflow: auto;"> <table style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: inherit;text-indent: 0px;border-collapse: collapse;border-spacing: 0px;"> <thead> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">模型名称</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">开发团队</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">核心特点</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">适用场景</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">性能指标(MTEB/MIRACL)</span> </section></td> </tr> </thead> <tbody> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">BGE-M3</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">智源研究院</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">支持100+语言,集成稠密/稀疏/多向量混合检索,8192 tokens长文本处理能力</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">企业级多语言知识库、复杂格式文档检索(表格/图表解析)</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">MIRACL平均召回率89.2%</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Gemini Embedding</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">Google AI</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">基于动态稀疏注意力机制,支持8K上下文,Matryoshka降维技术减少83%存储需求</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">多模态检索、金融/法律领域长文档分析、跨语言知识库</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">MMTEB多语言Borda分数最高</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">mxbai-embed-large</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">Mixed Bread AI</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">1024维高精度向量,短文本优化,模型体积仅为OpenAI text-embedding-3-large的60%</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">中小团队快速部署、实时语义搜索(电商/客服场景)</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">MTEB平均得分72.1</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">nomic-embed-text</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">Nomic AI</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">768维平衡设计,短文本相似度计算效率领先,支持动态分块策略</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">社交媒体内容分析、竞品监控、短问答系统</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">短文本检索F1值78.5%</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Jina Embedding</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">Jina AI</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">基于3.8亿高质量句对训练,35M参数量推理速度极快</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">移动端轻量化应用、边缘计算场景(如物联网设备日志分析)</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">推理速度比同类快3倍</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">GTE</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">阿里巴巴达摩院</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">基于BERT框架优化,直接处理代码无需微调,适配技术文档检索</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">开发者文档检索(如API手册查询)、编程问答社区</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">代码检索准确率92.7%</span> </section></td> </tr> </tbody> </table> </section> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">模型选择建议</span></strong></p> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">1.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">企业级复杂场景</span></strong><span leaf="">:优先选择&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">BGE-M3</span></strong><span leaf="">&nbsp;或&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Gemini Embedding</span></strong><span leaf="">,两者在混合检索、长文本处理和多语言支持上表现突出;</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">2.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">轻量化部署需求</span></strong><span leaf="">:</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">mxbai-embed-large</span></strong><span leaf="">(高精度)和&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">nomic-embed-text</span></strong><span leaf="">(高效率)是性价比之选;</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">3.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">技术文档与代码场景</span></strong><span leaf="">:</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">GTE</span></strong><span leaf="">&nbsp;的代码原生支持特性可减少30%的误召回率;</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">4.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">移动/边缘计算</span></strong><span leaf="">:</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Jina Embedding</span></strong><span leaf="">&nbsp;凭借35M参数量和高效推理架构,适合资源受限环境。</span> </section></li> </ol> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">注</span></strong><span leaf="">:以上数据参考自MTEB 2025官方榜单及企业实测报告,完整评测方法可访问&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">HuggingFace MTEB Leaderboard</span></span><span leaf="">。</span></p> <h3 style="box-sizing: border-box;border-width: 0px 0px 1px 4px;border-style: solid solid dashed;border-bottom-color: rgb(146, 97, 126);border-left-color: rgb(146, 97, 126);font-size: 16.8px;font-weight: bold;margin: 2em 8px 0.75em 0px;text-align: left;line-height: 1.2;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);><span leaf="">2.3. RAG工作流程</span></h3> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">检索增强生成(Retrieval-Augmented Generation,简称RAG)是一种将信息检索技术与生成模型结合的方法,主要用来提升大型语言模型在处理知识密集型任务时的表现。RAG的工作流程可以分为四个主要步骤,简单来说就是:检索、增强、生成。</span></p> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">1.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">数据索引(Indexing)</span></strong><span leaf="">&nbsp;:</span> </section></li> </ol> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">数据预处理</span></strong><span leaf="">:首先,我们需要对原始数据进行清洗和规范化处理。这样可以确保数据的质量,去掉那些无关或干扰的信息。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">向量化处理</span></strong><span leaf="">:接下来,我们使用一些嵌入模型将这些数据转换成向量形式。向量化的目的是把数据中的语义信息提取出来,以便后续处理。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">建立索引</span></strong><span leaf="">:最后,将这些向量化的数据存储到向量数据库中,并为它们建立索引。这样,系统就能快速检索到相关数据。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf=""><img src="/upload/403201d635ff0477253a0400d6ef845d.png" alt="检索增强生成(RAG)方法概述 - visual selection.png" class="rich_pages wxw-img" data-ratio="0.7280966767371602" data-type="other" data-w="662" data-imgfileid="100000274"></span> </section></li> </ul> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">2.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">检索(Retrieval)</span></strong><span leaf="">&nbsp;:</span> </section></li> </ol> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">查询处理</span></strong><span leaf="">:当用户提交问题时,系统会先将用户的查询转化成向量表示。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">相似度计算</span></strong><span leaf="">:然后,系统会计算查询向量和数据库中所有数据向量之间的相似度。通常,余弦相似度是常用的计算方法。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">检索相关数据</span></strong><span leaf="">:根据计算出的相似度,系统会从数据库中提取出最相关的数据片段。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section style="text-align: center;"> <span leaf=""><img src="/upload/25361fa0f80165b1cbbb618fc4a505d5.png" alt="检索增强生成(RAG)方法概述 - visual selection (1).png" class="rich_pages wxw-img" data-ratio="2.6695652173913045" data-type="other" data-w="230" data-imgfileid="100000275"></span> </section></li> </ul> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">3.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">增强(Augmentation)</span></strong><span leaf="">&nbsp;:</span> </section></li> </ol> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">构建增强提示</span></strong><span leaf="">:此时,系统将用户的查询与检索到的相关数据结合,构建一个增强的提示(prompt)。这个提示将提供给生成模型,确保它能够利用最新、最相关的信息来生成回答。</span> </section></li> </ul> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">4.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">生成(Generation)</span></strong><span leaf="">&nbsp;:</span> </section></li> </ol> <ul style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">•&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">生成响应</span></strong><span leaf="">:生成模型会根据这个增强的提示,生成最终的响应。由于它结合了最新的知识和数据,因此生成的回答会更加准确和相关。</span> </section></li> </ul> <h3 style="box-sizing: border-box;border-width: 0px 0px 1px 4px;border-style: solid solid dashed;border-bottom-color: rgb(146, 97, 126);border-left-color: rgb(146, 97, 126);font-size: 16.8px;font-weight: bold;margin: 2em 8px 0.75em 0px;text-align: left;line-height: 1.2;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);><span leaf="">2.4. 如何构建高效的RAG系统?</span></h3> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">要打造一个高效的RAG系统,主要优化的点在于构建</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">数据索引</span></strong><span leaf="">这一步,以下几个关键步骤非常重要:</span></p> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">1.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">数据预处理的重要性</span></strong><span leaf="">:在RAG系统中,数据预处理至关重要。包括数据清洗和规范化处理,能有效提升检索效果。如果数据没有经过清理,就可能包含很多噪声或冗余信息,这会影响检索器的表现,从而影响生成模型的输出质量。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">2.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">数据分块策略</span></strong><span leaf="">:当处理长文档时,拆分成合适大小的块会更有帮助。这不仅能提高检索效率,还能提高准确性。当然,块的大小需要根据具体情况进行调整,找到一个平衡点,既保证信息的完整性,又确保处理的高效。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">3.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">嵌入模型的选择</span></strong><span leaf="">:嵌入模型将文本转换为向量,这个过程直接影响检索效果。选择一个与应用领域匹配的嵌入模型,并对其进行微调,可以大大提升检索的相关性和准确性。</span> </section></li> </ol> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/abbcea0f0362c3711526600157789240.png" alt="打造高效RAG系统的关键步骤 - visual selection.png" class="rich_pages wxw-img" data-ratio="0.6028571428571429" data-type="other" data-w="700" data-imgfileid="100000276"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">除去以上步骤,设计有效的提示词,引导模型生成准确的回答;通过调整解码器的温度等参数,控制输出的多样性和质量;对生成器进行微调,使其更好地适应特定任务等手段也可以提升RAG的回答效果。</span></p> <h3 style="box-sizing: border-box;border-width: 0px 0px 1px 4px;border-style: solid solid dashed;border-bottom-color: rgb(146, 97, 126);border-left-color: rgb(146, 97, 126);font-size: 16.8px;font-weight: bold;margin: 2em 8px 0.75em 0px;text-align: left;line-height: 1.2;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);><span leaf="">2.5. RAG框架简介</span></h3> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">在我之前的文章里也写过RAG框架,为了方便大家理解和比较RAG框架,我做了一个表格汇总(下表的</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">AnythingLLM框架对应文章为:</span></strong><span leaf="">&nbsp;</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">https://blog.csdn.net/c18213590220/article/details/145965374?spm=1001.2014.3001.5502</span></strong></span><span leaf="">)</span></p> <section style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));padding: 0px 8px;max-width: 100%;overflow: auto;"> <table style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: inherit;text-indent: 0px;border-collapse: collapse;border-spacing: 0px;"> <thead> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">框架名称</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">类别</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">核心特点</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">适用场景</span> </section></td> </tr> </thead> <tbody> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">LangChain</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">传统 RAG 框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">模块化设计,支持文档加载、文本拆分、嵌入、检索全流程</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">灵活构建复杂 LLM 应用(如问答系统、智能体开发)</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Haystack</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">传统 RAG 框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">端到端解决方案,支持多语言模型与文档存储集成,模块化架构</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">企业级搜索增强系统、多语言知识库应用</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">RAGFlow</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">企业级 RAG 框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">深度文档理解(OCR/TSR支持),混合检索(向量+搜索引擎+结构化查询)</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">处理复杂格式文档的企业知识库(表格、图表解析)</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">VARAG</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">多模态 RAG 框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">整合图像理解能力,基于 LangChain 构建,API 接口友好</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">图文混合内容处理(教育、研究场景)、初创项目原型</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">R2R</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">检索优化框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">迭代式检索优化,支持多步骤检索过程与性能分析工具</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">需要高精度检索的学术研究、复杂查询场景</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">FlashRAG</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">高效检索框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">分布式处理优化,支持百亿级数据检索,内置性能分析工具</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">高并发、大规模数据场景(如实时语义搜索)</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">AnythingLLM</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">私有化部署框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">MIT协议支持二次开发,内置企业级权限体系,兼容200+文档格式</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">数据敏感型企业(法律、制造业)私有知识库构建</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Cherry Studio</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">轻量级框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">零配置桌面端运行,集成30+开源模型,支持离线问答</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">小微团队快速验证(创意灵感库、竞品分析)</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Cognita</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">MLOps 集成框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">端到端平台,内置监控与版本控制,支持模型实验跟踪</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">需要全生命周期管理的 AI 应用开发</span> </section></td> </tr> <tr style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));"> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Canopy</span></strong></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">向量检索优化框架</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">基于 Pinecone 矢量数据库技术,高扩展性检索架构</span> </section></td> <td style="box-sizing: border-box;border: 1px solid rgb(223, 223, 223);text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;padding: 0.5em 1em;color: rgb(63, 63, 63);word-break: keep-all;> <section> <span leaf="">需要高效矢量搜索的大规模多模态应用</span> </section></td> </tr> </tbody> </table> </section> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">RAGFlow作为本文要讲的RAG框架,有以下优点:</span></p> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">1.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">多样化的文档处理能力</span></strong><span leaf="">:RAGFlow支持丰富的文件格式,包括Word、PPT、Excel、PDF等,并针对特定格式提供相应的解析模板,能够处理复杂格式的文档,如表格、图像等。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">2.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">深度文档理解</span></strong><span leaf="">:内置的DeepDoc组件能够对用户的非结构化文档进行布局检测,确保文字在保持语义的前提下进行处理,提高了数据处理的准确性和可靠性。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">3.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">混合检索机制</span></strong><span leaf="">:RAGFlow支持向量检索、搜索引擎检索和结构化查询的混合检索方式,能够根据不同场景选择最优的检索策略,提升了检索的精度和效率。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">4.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">高可定制性和可扩展性</span></strong><span leaf="">:RAGFlow提供了灵活的自定义能力,用户可以根据具体需求定制评分算法、检索策略等,适应高负载应用场景,满足不同业务需求。</span> </section></li> </ol> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">这些优点使RAGFlow在处理复杂格式文档、提供高精度检索和满足企业级应用需求方面表现出色。</span></p> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 18.2px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(146, 97, 126);border-radius: 8px;box-shadow: rgba(0, 0, 0.1) 0px 4px 6px;><span leaf="">3. 基于RAGFlow本地部署DeepSpeek-R1大模型及知识库搭建</span></h2> <h3 style="box-sizing: border-box;border-width: 0px 0px 1px 4px;border-style: solid solid dashed;border-bottom-color: rgb(146, 97, 126);border-left-color: rgb(146, 97, 126);font-size: 16.8px;font-weight: bold;margin: 2em 8px 0.75em 0px;text-align: left;line-height: 1.2;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);><span leaf="">3.1. Ollama安装</span></h3> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">Ollama安装在之前的文章已经手把手交过,这里就不在赘述,文章指引:https://blog.csdn.net/c18213590220/article/details/145965374?spm=1001.2014.3001.5502</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">本文和之前有所不同的一点是需要配置一下OLLAMA_HOST:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/2d293d1ffaccd407483f1390fac374f1.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.2848575712143928" data-type="other" data-w="667" data-imgfileid="100000277"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">配置 OLLAMA_HOST的ip为0.0.0.0的核心目的是突破网络隔离限制,使运行在 Docker 容器中的 RAGFlow 能够通过宿主机网络访问 Ollama 服务。Ollama 默认绑定在 127.0.0.1(仅限本机访问),而 Docker 容器与宿主机属于不同网络命名空间,无法直接访问此地址。设置为 0.0.0.0 后,Ollama 会监听所有网络接口(包括虚拟网卡),使容器可通过宿主机 IP 或 host.docker.internal域名访问服务。</span></strong></p> <h3 style="box-sizing: border-box;border-width: 0px 0px 1px 4px;border-style: solid solid dashed;border-bottom-color: rgb(146, 97, 126);border-left-color: rgb(146, 97, 126);font-size: 16.8px;font-weight: bold;margin: 2em 8px 0.75em 0px;text-align: left;line-height: 1.2;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;padding-left: 12px;color: rgb(63, 63, 63);><span leaf="">3.2. RAGFlow安装</span></h3> <h4 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 15.4px;font-weight: bold;margin: 2em 8px 0.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(146, 97, 126);><span leaf="">3.2.1. Docker Desktop安装配置</span></h4> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">1.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">安装 WSL 2(适用于 Windows 10 版本 2004 及以上):</span></strong> </section></li> </ol> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">Windows 子系统 Linux 2(WSL 2)提供了一个完整的 Linux 内核,Docker Desktop 依赖于此。win+R打开命令窗口,输入winver查看系统版本,确保内部版本高于19041:</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf=""><img src="/upload/3acb26413c68595f273deef9681ac771.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.96" data-type="other" data-w="550" data-imgfileid="100000278"></span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">以管理员身份打开 PowerShell,运行以下命令:</span></p> <pre style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0.05) 0px inset;padding: !important;><span hidden style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: flex;padding: 10px 14px 0px;"> <svg viewbox="0 0 450 130" height="13px" width="45px" y="0px" x="0px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <ellipse fill="rgb(237,108,96)" stroke-width="2" stroke="rgb(220,60,54)" ry="52" rx="50" cy="65" cx="50"></ellipse><ellipse fill="rgb(247,193,81)" stroke-width="2" stroke="rgb(218,151,33)" ry="52" rx="50" cy="65" cx="225"></ellipse><ellipse fill="rgb(100,200,86)" stroke-width="2" stroke="rgb(27,161,37)" ry="52" rx="50" cy="65" cx="400"></ellipse> </svg></span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: " fira code, menlo, operator mono, consolas, monaco, monospace;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0px;text-align: left;line-height: 1.75;margin: 0px;white-space: pre-wrap;><span leaf="">&nbsp; wsl --install</span></code></pre> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">安装完成后需要重启一下计算机。</span></p> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">2.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">安装DockerDesktop</span></strong> </section></li> </ol> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">安装 Docker Desktop 之前,确保您已经安装并启用了 WSL 2。可以通过在&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">PowerShell</span></strong><span leaf="">&nbsp;运行以下命令来检查:</span></p> <pre style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0.05) 0px inset;padding: !important;><span hidden style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: flex;padding: 10px 14px 0px;"> <svg viewbox="0 0 450 130" height="13px" width="45px" y="0px" x="0px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <ellipse fill="rgb(237,108,96)" stroke-width="2" stroke="rgb(220,60,54)" ry="52" rx="50" cy="65" cx="50"></ellipse><ellipse fill="rgb(247,193,81)" stroke-width="2" stroke="rgb(218,151,33)" ry="52" rx="50" cy="65" cx="225"></ellipse><ellipse fill="rgb(100,200,86)" stroke-width="2" stroke="rgb(27,161,37)" ry="52" rx="50" cy="65" cx="400"></ellipse> </svg></span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: " fira code, menlo, operator mono, consolas, monaco, monospace;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0px;text-align: left;line-height: 1.75;margin: 0px;white-space: pre-wrap;><span leaf="">wsl --list --verbose</span></code></pre> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">下载 Docker Desktop</span></strong><span leaf="">:访问 Docker 官方网站 https://www.docker.com/products/docker-desktop 下载适用于 Windows 的 Docker Desktop 安装包。</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/6eb8b48751767bcc5b096c7945c4e2ab.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5133404482390609" data-type="other" data-w="937" data-imgfileid="100000279"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">安装 Docker Desktop</span></strong><span leaf="">:</span></p> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">1. 双击下载的安装文件&nbsp;</span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 12.6px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;><span leaf="">Docker Desktop Installer.exe</span></code><span leaf="">。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">2. 按照提示完成安装过程。</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">3. 安装完成后,系统可能提示重启计算机,建议重启以确保所有组件正常工作。</span> </section></li> </ol> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">启动 Docker Desktop</span></strong><span leaf="">:电脑重启后,启动</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Docker Desktop,</span></strong><span leaf="">&nbsp;初次启动可能需要一些时间。</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/df20980c096c8de730fd58c3dd8d8d0a.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5666666666666667" data-type="other" data-w="1080" data-imgfileid="100000280"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">配置一下docker镜像源地址:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/54fcf51738be9b24eef4d991d055e231.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.6018518518518519" data-type="other" data-w="1080" data-imgfileid="100000281"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">以下镜像源地址为国内地址,你不想用我的也可以自己找:</span></p> <pre style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0.05) 0px inset;padding: !important;><span hidden style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: flex;padding: 10px 14px 0px;"> <svg viewbox="0 0 450 130" height="13px" width="45px" y="0px" x="0px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <ellipse fill="rgb(237,108,96)" stroke-width="2" stroke="rgb(220,60,54)" ry="52" rx="50" cy="65" cx="50"></ellipse><ellipse fill="rgb(247,193,81)" stroke-width="2" stroke="rgb(218,151,33)" ry="52" rx="50" cy="65" cx="225"></ellipse><ellipse fill="rgb(100,200,86)" stroke-width="2" stroke="rgb(27,161,37)" ry="52" rx="50" cy="65" cx="400"></ellipse> </svg></span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: " fira code, menlo, operator mono, consolas, monaco, monospace;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0px;text-align: left;line-height: 1.75;margin: 0px;white-space: pre-wrap;><span leaf="">"registry-mirrors":["https://hub.rat.dev"]</span></code></pre> <h4 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 15.4px;font-weight: bold;margin: 2em 8px 0.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(146, 97, 126);><span leaf="">3.2.2. RAGFlow安装</span></h4> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">RAGFlow的安装我建议可以直接去github(</span><span style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(87, 107, 149);><span leaf="">https://github.com/infiniflow/RAGFlow</span></span><span leaf="">)上看README_zh.md,教程已经很详尽,当然你嫌麻烦也可以直接看我的,首先基于git拉取RAGFlow项目:</span></p> <pre style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0.05) 0px inset;padding: !important;><span hidden style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));display: flex;padding: 10px 14px 0px;"> <svg viewbox="0 0 450 130" height="13px" width="45px" y="0px" x="0px" version="1.1" xmlns="http://www.w3.org/2000/svg"> <ellipse fill="rgb(237,108,96)" stroke-width="2" stroke="rgb(220,60,54)" ry="52" rx="50" cy="65" cx="50"></ellipse><ellipse fill="rgb(247,193,81)" stroke-width="2" stroke="rgb(218,151,33)" ry="52" rx="50" cy="65" cx="225"></ellipse><ellipse fill="rgb(100,200,86)" stroke-width="2" stroke="rgb(27,161,37)" ry="52" rx="50" cy="65" cx="400"></ellipse> </svg></span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: " fira code, menlo, operator mono, consolas, monaco, monospace;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;display: -webkit-box;padding: 0.5em 1em 1em;overflow-x: auto;text-indent: 0px;text-align: left;line-height: 1.75;margin: 0px;white-space: pre-wrap;><span leaf="">git clone https://github.com/infiniflow/RAGFlow.git</span></code></pre> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">进入RAGFlow/docker文件夹输入cmd打开命令提示符窗口:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/b1a03809c3fb301dbc3cf26011953b7b.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5509259259259259" data-type="other" data-w="1080" data-imgfileid="100000282"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">如需下载不同于&nbsp;</span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 12.6px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;><span leaf="">v0.17.2-slim</span></code><span leaf="">&nbsp;的 Docker 镜像,请在运行&nbsp;</span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 12.6px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;><span leaf="">docker compose</span></code><span leaf="">&nbsp;启动服务之前先更新&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">docker/.env</span></strong><span leaf="">&nbsp;文件内的&nbsp;</span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 12.6px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;><span leaf="">RAGFlow_IMAGE</span></code><span leaf="">&nbsp;变量。比如,你可以通过设置&nbsp;</span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 12.6px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;><span leaf="">RAGFlow_IMAGE=infiniflow/RAGFlow:v0.17.2</span></code><span leaf="">&nbsp;来下载 RAGFlow 镜像的&nbsp;</span><code style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 12.6px;text-align: left;line-height: 1.75;color: rgb(221, 17, 68);background: rgba(27, 31, 35, 0.05);padding: 3px 5px;border-radius: 4px;><span leaf="">v0.17.2</span></code><span leaf="">&nbsp;完整发行版。这里的版本是我自己的版本,你的版本需要打开.env软件自己确认。</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/bdfbffdcf32c27d0d858768bc75de6ca.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.6472222222222223" data-type="other" data-w="1080" data-imgfileid="100000283"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">运行命令:docker compose -f docker-compose.yml up -d安装RAGFlow,安装完以后可以使用docker ps看一下容器列表,找到RAGFlow容器id,使用docker logs -f (容器id)查看容器运行情况:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/19643a2e78be962fe5964a650af14989.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5226586102719033" data-type="other" data-w="993" data-imgfileid="100000284"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">在浏览器输入localhost,能看到以下界面则表明RAGFlow安装成功了:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/66455a5e98966800e2c5419f6b9b0d64.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.48665955176093917" data-type="other" data-w="937" data-imgfileid="100000285"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">注册账号后就能登录至首页:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/670c171affa1382f9f02e609361350ac.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.512962962962963" data-type="other" data-w="1080" data-imgfileid="100000286"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">点击头像后,在侧边导航栏选择模型提供商,选择Ollama:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/ee9f87f810e3091dc3f7eeb62b2c1423.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5133404482390609" data-type="other" data-w="937" data-imgfileid="100000287"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">配置chat模型,模型名称使用ollama list命令获取(win+R打开命令提示符窗口输入ollama list):</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/fcc38d55e81a23466e7b8843ba2105a7.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5226586102719033" data-type="other" data-w="993" data-imgfileid="100000288"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">基础uri处配置为http://你的ip:11434:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/609d375187dcbb7a7104d99c67c81665.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5133404482390609" data-type="other" data-w="937" data-imgfileid="100000289"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">配置embedding模型,基础uri处配置为http://你的ip:11434:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/35e352c87e5168e98ee816265f9c5478.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5133404482390609" data-type="other" data-w="937" data-imgfileid="100000290"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">点击系统模型设置设置相应模型:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/f29fe62073937f142736ba9b1ead625a.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5923159018143009" data-type="other" data-w="937" data-imgfileid="100000291"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <h4 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 15.4px;font-weight: bold;margin: 2em 8px 0.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;color: rgb(146, 97, 126);><span leaf="">3.2.3. 知识库搭建</span></h4> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">新增知识库,我这里为了示范新增了一个小肥肠咖啡厅员工管理规范的知识库,配置知识库:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/70f4dfec6d4bddb20892965b493d7461.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5133404482390609" data-type="other" data-w="937" data-imgfileid="100000292"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">在RAGFlow中 提供了两种主要的文档解析器:</span></p> <ol style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));list-style: none;margin: 0px;padding: 0px 0px 0px 1.5em;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63); class="list-paddingleft-1"> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">1.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">Naive解析器</span></strong><span leaf="">:该解析器在处理文档时,不仅提取文本内容,还将表格数据转换为HTML格式。然而,在解析复杂表格时,可能会出现错行或格式偏差的问题。&nbsp;</span> </section></li> <li style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;text-indent: -1em;display: block;margin: 0.5em 8px;color: rgb(63, 63, 63);> <section> <span leaf="">2.&nbsp;</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">DeepDoc解析器</span></strong><span leaf="">:这是RAGFlow的核心组件,利用视觉处理和解析技术,对文档进行深度理解。它支持OCR(光学字符识别)、布局识别和表格结构识别(TSR),能够处理多种文档格式,如PDF、DOCX、Excel和PPT,并提取文本块、表格和图像等信息。&nbsp;</span> </section></li> </ol> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">总的来说,Naive解析器适用于对解析速度要求较高且文档格式较简单的场景,而DeepDoc解析器则更适合处理复杂布局和多种格式的文档,提供更精确的解析结果。</span></p> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">接下来就是准备知识库的数据集,数据集越规范查询效果越好,这里是我造假的一个数据(pdf):</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/e020c6bd54cedba98a78d892de4a6ec0.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.688367129135539" data-type="other" data-w="937" data-imgfileid="100000293"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">上传文件:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/f82fda279042cf472dde0011a277a9ec.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.512962962962963" data-type="other" data-w="1080" data-imgfileid="100000294"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">实时查看解析进度:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/77c254cfe205de4f5d53ee4c48648e90.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.512962962962963" data-type="other" data-w="1080" data-imgfileid="100000295"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">解析以后点击数据集可以查看解析块:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/27c3bb161e07d3c14f06d582d4e03fcc.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5133404482390609" data-type="other" data-w="937" data-imgfileid="100000296"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">配置完知识库之后新建聊天助理测试一下效果:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/c0f1c5b3f548be3e9c7ca448c0685b47.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5133404482390609" data-type="other" data-w="937" data-imgfileid="100000297"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">开始聊天,从下图中可以看出聊天小助理已经能够很好地提取知识库的内容进行回答了:</span></p> <figure style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);> <span leaf=""><img src="/upload/dda29c9ad72ea037d56a988354904070.png" alt="image.png" class="rich_pages wxw-img" data-ratio="0.5133404482390609" data-type="other" data-w="937" data-imgfileid="100000298"></span> <figcaption style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 0.8em;color: rgb(136, 136, 136);></figcaption> </figure> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 18.2px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(146, 97, 126);border-radius: 8px;box-shadow: rgba(0, 0, 0.1) 0px 4px 6px;><span leaf="">4. 资料获取</span></h2> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">如果你对</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">DeepSpeek</span></strong><span leaf="">的相关知识还不熟悉,可以关注公众号后端小肥肠,点击底部【资源】菜单获取</span><strong style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-weight: bold;text-align: left;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: inherit;color: rgb(146, 97, 126);><span leaf="">DeepSpeek</span></strong><span leaf="">相关教程资料。</span></p> <h2 style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));font-size: 18.2px;font-weight: bold;margin: 4em auto 2em;text-align: center;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(146, 97, 126);border-radius: 8px;box-shadow: rgba(0, 0, 0.1) 0px 4px 6px;><span leaf="">5. 结语</span></h2> <p style="box-sizing: border-box;border-width: 0px;border-style: solid;border-color: hsl(var(--border));margin: 1.5em 8px;text-align: justify;line-height: 1.75;font-family: -apple-system-font, BlinkMacSystemFont, " helvetica neue, pingfang sc, hiragino sans gb, microsoft yahei ui, yahei, arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);><span leaf="">本文带领读者深入了解了RAG(检索增强生成)技术相关的基本原理,基于保姆级教程一步一步讲解了怎么基于RAGFlow本地部署DeepSpeek-R1大模型与知识库的搭建。随着AI技术的发展,RAG技术将成为程序员转型为AI工程师的重要工具。掌握RAG技术不仅能帮助开发更高效的知识库系统,还能提升模型的准确性和响应能力,为处理知识密集型任务提供强有力的支持。</span></p> </section>

CentOS 服务器上开启并配置 SFTP Server

作者:じ☆ve不哭

在 **CentOS** 服务器上开启并配置 **SFTP Server**,可以按照以下步骤进行: --- ## ✅ **步骤 1:安装 OpenSSH** ```bash # 更新系统并安装 OpenSSH sudo yum update -y sudo yum install -y openssh-server ``` --- ## ✅ **步骤 2:启动并启用 SSH 服务** ```bash # 启动 SSH 服务 sudo systemctl start sshd # 设置开机自启动 sudo systemctl enable sshd ``` --- ## ✅ **步骤 3:创建 SFTP 用户** ```bash # 创建 SFTP 用户 sudo useradd -m sftpuser # 设置 SFTP 用户密码 sudo passwd sftpuser ``` --- ## ✅ **步骤 4:创建 SFTP 专用目录** ```bash # 创建上传目录 sudo mkdir -p /home/sftpuser/upload # 设置目录权限 sudo chown root:root /home/sftpuser sudo chmod 755 /home/sftpuser # 允许 sftpuser 访问 upload 目录 sudo chown sftpuser:sftpuser /home/sftpuser/upload ``` --- ## ✅ **步骤 5:修改 SSH 配置** 编辑 `sshd_config` 文件: ```bash sudo vim /etc/ssh/sshd_config ``` ### 添加或修改以下配置: ```bash # 禁止 SFTP 用户使用 shell Match User sftpuser ChrootDirectory /home/sftpuser ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no ``` > ⚠️ **注意:** - `Match User`:指定仅对 `sftpuser` 生效的规则。 - `ChrootDirectory`:将 SFTP 用户限制在 `/home/sftpuser` 目录中。 --- ## ✅ **步骤 6:重启 SSH 服务** ```bash sudo systemctl restart sshd ``` --- ## ✅ **步骤 7:验证 SFTP 连接** ### 测试使用 SFTP 连接 ```bash sftp sftpuser@<your-server-ip> ``` ### 常用 SFTP 命令: - `put <localfile>`:上传文件 - `get <remotefile>`:下载文件 - `ls`:列出远程目录 - `exit`:退出 --- ## ✅ **可选:开启防火墙 SFTP 端口(默认 22)** ```bash # 开启 SSH 端口 sudo firewall-cmd --permanent --zone=public --add-port=22/tcp # 重新加载防火墙 sudo firewall-cmd --reload ``` --- ## 🎉 **完成!** 现在 `sftpuser` 可以通过 SFTP 连接到服务器,并且只能访问 `/home/sftpuser/upload` 目录。

RAG 系统召回优化实战:百万文档中提升检索速度与精度的 4 大方案

作者:微信小助手

<p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">目录</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">1.系统背景与挑战</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">2.完整代码实现</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">3.优化方案详解</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">&nbsp; &nbsp;3.1. 选择适合领域的预训练嵌入模型</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">&nbsp; &nbsp;3.2. 调整混合检索的权重参数</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">&nbsp; &nbsp;3.3. 对关键段落进行重排序(Reranking)</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">&nbsp; &nbsp;3.4. 使用量化技术压缩向量</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">4. 性能分析</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">5. 实际应用建议</span></span></p> <p><span leaf=""><span textstyle="" style="color: rgb(0, 82, 255);">6. 总结</span></span></p> <hr style="border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);"> <p style="white-space: pre-wrap;"><span leaf="">Retrieval-Augmented Generation(RAG)系统是一种结合检索和生成的技术,广泛应用于问答、对话和内容生成等场景。召回环节作为 RAG 系统的核心,直接决定了系统的检索效率和质量。在本文中,我将基于一个完整的代码示例,详细介绍如何优化 RAG 系统的召回环节,解决百万级文档规模下的速度和精度问题。优化方案包括以下四个方面:</span></p> <ol class="list-paddingleft-1"> <li><strong><span leaf="">选择适合领域的预训练嵌入模型</span></strong></li> <li><strong><span leaf="">调整混合检索的权重参数</span></strong></li> <li><strong><span leaf="">对关键段落进行重排序(Reranking)</span></strong></li> <li><strong><span leaf="">使用量化技术压缩向量</span></strong></li> </ol> <p style="white-space: pre-wrap;"><span leaf="">以下是逐步实现的思路、代码和效果分析。</span></p> <section nodeleaf=""> <mp-common-mpaudio class="js_editor_audio res_iframe js_uneditable custom_select_card" data-pluginname="insertaudio" name="检索的道" author="数据与算法架构提升之路" src="/cgi-bin/readtemplate?t=tmpl/audio_tmpl&amp;name=%E6%A3%80%E7%B4%A2%E7%9A%84%E9%81%93&amp;play_length=" isaac2="0" low_size="3993.6" source_size="3993.6" high_size="3993.6" play_length="170000" data-trans_state="1" data-verify_state="1" voice_encode_fileid="Mzg3MjYyNjIzNV8yMjQ3NDg0NDkx" cover="http://mmbiz.qpic.cn/mmbiz_jpg/lHUFyjgCdFAxzQLCAd2xVHJ4o6ichbfLW0A1QKKYpOvAZwsQgOp9hTK9PicxSz8QNtNkhtrZTibRSCic0ma530Gdlw/0?wx_fmt=jpeg"></mp-common-mpaudio> </section> <hr style="border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);"> <p style="white-space: pre-wrap;"><span leaf=""><span textstyle="" style="font-size: 24px;font-weight: bold;">1.系统背景与挑战</span></span></p> <p style="white-space: pre-wrap;"><span leaf="">假设我们有一个包含 100 万篇文档的检索系统,每篇文档平均分为 10 个片段,总计 1000 万个文档片段。我们使用&nbsp;</span><span leaf="">SentenceTransformer</span><span leaf="">&nbsp;生成嵌入向量(维度通常为 768),面临的主要挑战包括:</span></p> <ul class="list-paddingleft-1"> <li><strong><span leaf="">模型加载速度慢:<span textstyle="" style="font-weight: normal;">嵌入模型较大,加载和推理耗时。</span></span></strong></li> <li><strong><span leaf="">检索速度慢:<span textstyle="" style="font-weight: normal;">在海量文档中计算相似度开销大。</span></span></strong></li> <li><strong><span leaf="">内存占用高:1<span textstyle="" style="font-weight: normal;">000 万个 768 维向量需要大量存储空间。目标是在保证召回质量的前提下,优化检索速度和资源占用。</span></span></strong></li> </ul> <h2><span leaf=""><br></span></h2> <h2><span leaf=""><span textstyle="" style="font-size: 24px;font-weight: bold;">2.完整代码实现</span></span></h2> <p style="white-space: pre-wrap;"><span leaf=""><span textstyle="" style="font-weight: normal;">以下代码展示了</span>如何从文档分片到优化召回的完整流程。代码基于 Python,使用了&nbsp;</span><span leaf="">SentenceTransformer</span><span leaf="">、</span><span leaf="">Faiss</span><span leaf="">&nbsp;等库。</span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;numpy&nbsp;<span class="code-snippet__keyword">as</span>&nbsp;np</span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;time</span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;typing&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;<span class="code-snippet__type">List</span>,&nbsp;<span class="code-snippet__type">Tuple</span></span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;sentence_transformers&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;SentenceTransformer</span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;faiss</span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;jieba</span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;sklearn.feature_extraction.text&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;TfidfVectorizer</span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;sklearn.metrics.pairwise&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;cosine_similarity</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 文档类</span></span></code><code><span leaf=""><span class="code-snippet__keyword">class</span>&nbsp;<span class="code-snippet__title">Document</span>:</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">__init__</span>(<span class="code-snippet__params">self,&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">id</span></span><span class="code-snippet__params">:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">str</span></span><span class="code-snippet__params">, content:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">str</span></span>):</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.<span class="code-snippet__built_in">id</span>&nbsp;=&nbsp;<span class="code-snippet__built_in">id</span></span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.content = content</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 文档分片</span></span></code><code><span leaf=""><span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">chunk_documents</span>(<span class="code-snippet__params">documents:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__type">List</span></span><span class="code-snippet__params">[Document], chunk_size:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">int</span></span><span class="code-snippet__params">&nbsp;=&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__number">100</span></span><span class="code-snippet__params">, overlap:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">int</span></span><span class="code-snippet__params">&nbsp;=&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__number">20</span></span>) -&gt;&nbsp;<span class="code-snippet__type">List</span>[Document]:</span></code><code><span leaf="">&nbsp; &nbsp; chunks = []</span></code><code><span leaf="">&nbsp; &nbsp; chunk_id =&nbsp;<span class="code-snippet__number">0</span></span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;doc&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;documents:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; words =&nbsp;<span class="code-snippet__built_in">list</span>(jieba.cut(doc.content))</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;i&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;<span class="code-snippet__built_in">range</span>(<span class="code-snippet__number">0</span>,&nbsp;<span class="code-snippet__built_in">len</span>(words), chunk_size - overlap):</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chunk_text =&nbsp;<span class="code-snippet__string">""</span>.join(words[i:i + chunk_size])</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">if</span>&nbsp;chunk_text:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chunks.append(Document(<span class="code-snippet__string">f"</span><span class="code-snippet__string"><span class="code-snippet__subst">{doc.</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__built_in">id</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">}</span></span><span class="code-snippet__string">_chunk_</span><span class="code-snippet__string"><span class="code-snippet__subst">{chunk_id}</span></span><span class="code-snippet__string">"</span>, chunk_text))</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; chunk_id +=&nbsp;<span class="code-snippet__number">1</span></span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">return</span>&nbsp;chunks</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 1. 关键词检索器</span></span></code><code><span leaf=""><span class="code-snippet__keyword">class</span>&nbsp;<span class="code-snippet__title">KeywordRetriever</span>:</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">__init__</span>(<span class="code-snippet__params">self, chunks:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__type">List</span></span><span class="code-snippet__params">[Document]</span>):</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.chunks = chunks</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.vectorizer = TfidfVectorizer(tokenizer=<span class="code-snippet__keyword">lambda</span>&nbsp;x:&nbsp;<span class="code-snippet__built_in">list</span>(jieba.cut(x)))</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.tfidf_matrix = self.vectorizer.fit_transform([chunk.content&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;chunk&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;chunks])</span></code><code><span leaf=""><br></span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">retrieve</span>(<span class="code-snippet__params">self, query:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">str</span></span><span class="code-snippet__params">, top_k:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">int</span></span><span class="code-snippet__params">&nbsp;=&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__number">5</span></span>) -&gt;&nbsp;<span class="code-snippet__type">List</span>[<span class="code-snippet__type">Tuple</span>[Document,&nbsp;<span class="code-snippet__built_in">float</span>]]:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; start_time = time.time()</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; query_vector = self.vectorizer.transform([query])</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; similarities = cosine_similarity(query_vector, self.tfidf_matrix)[<span class="code-snippet__number">0</span>]</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; top_indices = np.argsort(similarities)[::-<span class="code-snippet__number">1</span>][:top_k]</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; results = [(self.chunks[idx], similarities[idx])&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;idx&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;top_indices]</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">f"关键词检索用时:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{time.time() - start_time:</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__number">.4</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">f}</span></span><span class="code-snippet__string">秒"</span>)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">return</span>&nbsp;results</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 2. 优化的向量检索器(使用 Faiss)</span></span></code><code><span leaf=""><span class="code-snippet__keyword">class</span>&nbsp;<span class="code-snippet__title">OptimizedVectorRetriever</span>:</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">__init__</span>(<span class="code-snippet__params">self, chunks:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__type">List</span></span><span class="code-snippet__params">[Document], model_name:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">str</span></span><span class="code-snippet__params">&nbsp;=&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__string">"shibing624/text2vec-base-chinese"</span></span>):</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.chunks = chunks</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.model = SentenceTransformer(model_name)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; start_time = time.time()</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.embeddings = self.model.encode([chunk.content&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;chunk&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;chunks])</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.dimension = self.embeddings.shape[<span class="code-snippet__number">1</span>]</span></code><code><span leaf=""><br></span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__comment"># 使用 IVF-PQ 索引</span></span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; nlist =&nbsp;<span class="code-snippet__number">1000</span>&nbsp;&nbsp;<span class="code-snippet__comment"># 聚类中心数量</span></span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; m =&nbsp;<span class="code-snippet__number">8</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="code-snippet__comment"># 子量化器数量</span></span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; quantizer = faiss.IndexFlatIP(self.dimension)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.index = faiss.IndexIVFPQ(quantizer, self.dimension, nlist, m,&nbsp;<span class="code-snippet__number">8</span>)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; faiss.normalize_L2(self.embeddings)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.index.train(self.embeddings)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.index.add(self.embeddings)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.index.nprobe =&nbsp;<span class="code-snippet__number">10</span></span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">f"Faiss 索引构建用时:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{time.time() - start_time:</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__number">.4</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">f}</span></span><span class="code-snippet__string">秒"</span>)</span></code><code><span leaf=""><br></span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">retrieve</span>(<span class="code-snippet__params">self, query:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">str</span></span><span class="code-snippet__params">, top_k:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">int</span></span><span class="code-snippet__params">&nbsp;=&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__number">5</span></span>) -&gt;&nbsp;<span class="code-snippet__type">List</span>[<span class="code-snippet__type">Tuple</span>[Document,&nbsp;<span class="code-snippet__built_in">float</span>]]:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; start_time = time.time()</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; query_embedding = self.model.encode([query])[<span class="code-snippet__number">0</span>].reshape(<span class="code-snippet__number">1</span>, -<span class="code-snippet__number">1</span>)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; faiss.normalize_L2(query_embedding)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; scores, indices = self.index.search(query_embedding, top_k)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; results = [(self.chunks[idx], scores[<span class="code-snippet__number">0</span>][i])&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;i, idx&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;<span class="code-snippet__built_in">enumerate</span>(indices[<span class="code-snippet__number">0</span>])]</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">f"Faiss 检索用时:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{time.time() - start_time:</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__number">.4</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">f}</span></span><span class="code-snippet__string">秒"</span>)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">return</span>&nbsp;results</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 3. 混合检索器</span></span></code><code><span leaf=""><span class="code-snippet__keyword">class</span>&nbsp;<span class="code-snippet__title">HybridRetriever</span>:</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">__init__</span>(<span class="code-snippet__params">self, chunks:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__type">List</span></span><span class="code-snippet__params">[Document], vector_weight:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">float</span></span><span class="code-snippet__params">&nbsp;=&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__number">0.7</span></span>):</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.chunks = chunks</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.keyword_retriever = KeywordRetriever(chunks)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.vector_retriever = OptimizedVectorRetriever(chunks)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.vector_weight = vector_weight</span></code><code><span leaf=""><br></span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">retrieve</span>(<span class="code-snippet__params">self, query:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">str</span></span><span class="code-snippet__params">, top_k:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">int</span></span><span class="code-snippet__params">&nbsp;=&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__number">5</span></span>) -&gt;&nbsp;<span class="code-snippet__type">List</span>[<span class="code-snippet__type">Tuple</span>[Document,&nbsp;<span class="code-snippet__built_in">float</span>]]:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; start_time = time.time()</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; keyword_results = self.keyword_retriever.retrieve(query, top_k=top_k*<span class="code-snippet__number">2</span>)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; vector_results = self.vector_retriever.retrieve(query, top_k=top_k*<span class="code-snippet__number">2</span>)</span></code><code><span leaf=""><br></span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; id_to_score = {}</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;doc, score&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;keyword_results:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id_to_score[doc.<span class="code-snippet__built_in">id</span>] = (<span class="code-snippet__number">1</span>&nbsp;- self.vector_weight) * score</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;doc, score&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;vector_results:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id_to_score[doc.<span class="code-snippet__built_in">id</span>] = id_to_score.get(doc.<span class="code-snippet__built_in">id</span>,&nbsp;<span class="code-snippet__number">0</span>) + self.vector_weight * score</span></code><code><span leaf=""><br></span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; sorted_results =&nbsp;<span class="code-snippet__built_in">sorted</span>(id_to_score.items(), key=<span class="code-snippet__keyword">lambda</span>&nbsp;x: x[<span class="code-snippet__number">1</span>], reverse=<span class="code-snippet__literal">True</span>)[:top_k]</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; id_to_doc = {chunk.<span class="code-snippet__built_in">id</span>: chunk&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;chunk&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;self.chunks}</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; results = [(id_to_doc[<span class="code-snippet__built_in">id</span>], score)&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;<span class="code-snippet__built_in">id</span>, score&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;sorted_results]</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">f"混合检索用时:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{time.time() - start_time:</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__number">.4</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">f}</span></span><span class="code-snippet__string">秒"</span>)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">return</span>&nbsp;results</span></code><code><span leaf=""><br></span></code><code><span leaf=""><br></span></code></pre> </section> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__keyword">class</span>&nbsp;<span class="code-snippet__title">OptimizedRAGSystem</span>:</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">__init__</span>(<span class="code-snippet__params">self, documents, domain_model_path=</span><span class="code-snippet__params"><span class="code-snippet__literal">None</span></span><span class="code-snippet__params">, reranker_model_path=</span><span class="code-snippet__params"><span class="code-snippet__literal">None</span></span><span class="code-snippet__params">, use_quantization=</span><span class="code-snippet__params"><span class="code-snippet__literal">True</span></span><span class="code-snippet__params">, vector_weight=</span><span class="code-snippet__params"><span class="code-snippet__number">0.7</span></span><span class="code-snippet__params">, recall_size=</span><span class="code-snippet__params"><span class="code-snippet__number">100</span></span>):</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.documents = documents</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.vector_weight = vector_weight</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.recall_size = recall_size</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">if</span>&nbsp;domain_model_path:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; self.embed_model = SentenceTransformer(domain_model_path)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">else</span>:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; self.embed_model = SentenceTransformer(<span class="code-snippet__string">"shibing624/text2vec-base-chinese"</span>)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.keyword_retriever = KeywordRetriever(documents)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">if</span>&nbsp;use_quantization:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; self.vector_retriever = QuantizedVectorRetriever(documents)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">else</span>:</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; self.vector_retriever = VectorRetriever(documents)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.hybrid_retriever = HybridRetriever(self.keyword_retriever, self.vector_retriever, vector_weight)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.reranker = Reranker(reranker_model_path)&nbsp;<span class="code-snippet__keyword">if</span>&nbsp;reranker_model_path&nbsp;<span class="code-snippet__keyword">else</span>&nbsp;Reranker()</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.retriever = TwoStageRetriever(self.hybrid_retriever, self.reranker, recall_size)</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">retrieve</span>(<span class="code-snippet__params">self, query, top_k=</span><span class="code-snippet__params"><span class="code-snippet__number">5</span></span>):</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">return</span>&nbsp;self.retriever.retrieve(query, top_k)</span></code></pre> </section> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__comment"># 示例演示</span></span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 示例文档数据</span></span></code><code><span leaf="">documents = [</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc1"</span>,&nbsp;<span class="code-snippet__string">"自然语言处理(NLP)是人工智能和语言学的交叉学科,研究如何让计算机理解和生成人类语言。"</span>),</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc2"</span>,&nbsp;<span class="code-snippet__string">"机器学习是人工智能的一个子领域,它使用统计方法让计算机系统能够从数据中学习。"</span>),</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc3"</span>,&nbsp;<span class="code-snippet__string">"深度学习是机器学习的一种方法,它使用多层神经网络从大规模数据中学习表示。"</span>),</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc4"</span>,&nbsp;<span class="code-snippet__string">"词嵌入是自然语言处理中的一种技术,它将词语映射到向量空间,使得语义相似的词在向量空间中距离较近。"</span>),</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc5"</span>,&nbsp;<span class="code-snippet__string">"GPT(生成式预训练变换器)是一种基于Transformer架构的大型语言模型,能够生成类似人类的文本。"</span>),</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc6"</span>,&nbsp;<span class="code-snippet__string">"大型语言模型(LLM)是指具有大量参数和训练数据的神经网络模型,能够理解和生成人类语言。"</span>),</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc7"</span>,&nbsp;<span class="code-snippet__string">"检索增强生成(RAG)是一种结合了检索系统和生成模型的方法,可以提高生成内容的准确性和可靠性。"</span>),</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc8"</span>,&nbsp;<span class="code-snippet__string">"语义相似度是衡量两段文本在含义上相似程度的指标,常用于信息检索和问答系统。"</span>),</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc9"</span>,&nbsp;<span class="code-snippet__string">"向量数据库是一种专门存储和检索向量数据的数据库系统,适用于相似性搜索和AI应用。"</span>),</span></code><code><span leaf="">&nbsp; &nbsp; Document(<span class="code-snippet__string">"doc10"</span>,&nbsp;<span class="code-snippet__string">"知识图谱是一种结构化知识库,以图的形式表示实体之间的关系,可以增强AI系统的推理能力。"</span>),</span></code><code><span leaf="">]</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 创建优化的RAG系统实例</span></span></code><code><span leaf="">rag_system = OptimizedRAGSystem(</span></code><code><span leaf="">&nbsp; &nbsp; documents, &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__comment"># 文档数据</span></span></code><code><span leaf="">&nbsp; &nbsp; domain_model_path=<span class="code-snippet__literal">None</span>, &nbsp;<span class="code-snippet__comment"># 如果有领域特定的模型路径,则传入路径</span></span></code><code><span leaf="">&nbsp; &nbsp; reranker_model_path=<span class="code-snippet__literal">None</span>, &nbsp;<span class="code-snippet__comment"># 如果有重排序模型路径,则传入路径</span></span></code><code><span leaf="">&nbsp; &nbsp; use_quantization=<span class="code-snippet__literal">True</span>, &nbsp;&nbsp;<span class="code-snippet__comment"># 是否使用量化技术</span></span></code><code><span leaf="">&nbsp; &nbsp; vector_weight=<span class="code-snippet__number">0.7</span>, &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__comment"># 向量检索和关键词检索的权重</span></span></code><code><span leaf="">&nbsp; &nbsp; recall_size=<span class="code-snippet__number">100</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__comment"># 第一阶段召回的文档数量</span></span></code><code><span leaf="">)</span></code><code><span leaf=""><br></span></code><code><span leaf="">query =&nbsp;<span class="code-snippet__string">"计算机如何理解人类语言"</span></span></code><code><span leaf=""><span class="code-snippet__comment"># 执行检索</span></span></code><code><span leaf="">top_k =&nbsp;<span class="code-snippet__number">5</span>&nbsp;&nbsp;<span class="code-snippet__comment"># 获取前5个相关文档</span></span></code><code><span leaf="">results = rag_system.retrieve(query, top_k)</span></code><code><span leaf=""><span class="code-snippet__comment"># 输出检索结果</span></span></code><code><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">f"查询:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{query}</span></span><span class="code-snippet__string">"</span>)</span></code><code><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">"检索结果:"</span>)</span></code><code><span leaf=""><span class="code-snippet__keyword">for</span>&nbsp;doc, score&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;results:</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">f"得分:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{score:</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__number">.4</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">f}</span></span><span class="code-snippet__string">, 内容:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{doc.content}</span></span><span class="code-snippet__string">"</span>)</span></code></pre> </section> <section> <span leaf=""><br></span> </section> <h2><span leaf=""><span textstyle="" style="font-size: 24px;font-weight: bold;">3.优化方案详解</span></span></h2> <h2><span leaf=""><br></span></h2> <h3><span leaf=""><span textstyle="" style="font-size: 20px;font-weight: bold;">3.1. 选择适合领域的预训练嵌入模型</span></span></h3> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h3,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.1.1&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">原理</span></span></h4> <p style="white-space: pre-wrap;"><span leaf="">不同的预训练嵌入模型在特定领域的表现差异很大。例如,</span><span leaf="">shibing624/text2vec-base-chinese</span><span leaf="">&nbsp;是通用的中文模型,而领域专用模型(如医疗领域的&nbsp;</span><span leaf="">medical-embeddings</span><span leaf="">)可能更适合特定任务。选择合适的模型可以提升语义理解能力,从而提高召回质量。</span></p> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.1.2&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">实现</span></span></h4> <p style="white-space: pre-wrap;"><span leaf="">在代码中,我们使用&nbsp;</span><span leaf="">SentenceTransformer</span><span leaf="">&nbsp;加载模型(如&nbsp;</span><span leaf="">shibing624/text2vec-base-chinese</span><span leaf="">)。如果需要进一步优化,可以:</span></p> <ul class="list-paddingleft-1"> <li><strong><span leaf="">评估模型:<span textstyle="" style="font-weight: normal;">通过标注数据计算 NDCG、MRR 等指标,比较多个模型的效果。</span></span></strong></li> <li><strong><span leaf="">微调模型:<span textstyle="" style="font-weight: normal;">基于领域数据微调通用模型</span>。</span> <section> <span leaf=""><br></span> </section></strong></li> </ul> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.1.2&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">示例代码(评估与微调)</span></span></h4> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;sentence_transformers&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;SentenceTransformer, losses</span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;torch.utils.data&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;DataLoader</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 评估模型</span></span></code><code><span leaf=""><span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">evaluate_model</span>(<span class="code-snippet__params">model_name, documents, queries, relevance</span>):</span></code><code><span leaf="">&nbsp; &nbsp; model = SentenceTransformer(model_name)</span></code><code><span leaf="">&nbsp; &nbsp; embeddings = model.encode([doc.content&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;doc&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;documents])</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__comment"># 这里需要实现评估逻辑(如 NDCG),省略具体实现</span></span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 微调模型</span></span></code><code><span leaf=""><span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">finetune_model</span>(<span class="code-snippet__params">model_name, train_data, output_path</span>):</span></code><code><span leaf="">&nbsp; &nbsp; model = SentenceTransformer(model_name)</span></code><code><span leaf="">&nbsp; &nbsp; train_loader = DataLoader(train_data, batch_size=<span class="code-snippet__number">16</span>, shuffle=<span class="code-snippet__literal">True</span>)</span></code><code><span leaf="">&nbsp; &nbsp; train_loss = losses.CosineSimilarityLoss(model)</span></code><code><span leaf="">&nbsp; &nbsp; model.fit(train_objectives=[(train_loader, train_loss)], epochs=<span class="code-snippet__number">3</span>, output_path=output_path)</span></code></pre> </section> <p><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.1.3&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">效果</span></span></p> <ul class="list-paddingleft-1"> <li style="font-weight:normal;"><strong><span leaf=""><span textstyle="" style="font-weight: normal;">质量提升:在领域数据上微调后,召回率可能提升 10%-20%。</span></span></strong></li> <li style="font-weight:normal;"><strong><span leaf=""><span textstyle="" style="font-weight: normal;">建议:若资源有限,可直接选择开源的领域模型;若有标注数据,建议微调。</span></span></strong></li> </ul> <hr style="border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);"> <h3><span leaf=""><br></span></h3> <h3><span leaf=""><span textstyle="" style="font-size: 20px;font-weight: bold;">3.2 调整混合检索的权重参数</span></span></h3> <h4><span leaf=""><br></span></h4> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h3,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.2.1&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">原理</span></span></h4> <p style="white-space: pre-wrap;"><span leaf="">关键词检索(如 TF-IDF)速度快但缺乏语义理解,向量检索(如 SentenceTransformer + Faiss)语义准确但计算开销大。混合检索结合两者,通过权重参数(如&nbsp;</span><span leaf="">vector_weight</span><span leaf="">)平衡速度和精度。</span></p> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.2.2&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">实现</span></span></h4> <p style="white-space: pre-wrap;"><span leaf="">在HybridRetriever 类中,我们分别调用 KeywordRetriever 和 OptimizedVectorRetriever,然后加权融合结果:</span></p> <ul class="list-paddingleft-1"> <li> <section> <span leaf="">关键词得分占比:</span><span leaf="">1 - vector_weight</span> </section></li> <li> <section> <span leaf="">向量得分占比:</span><span leaf="">vector_weight</span> </section></li> </ul> <section> <span leaf=""><br></span> </section> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.2.3&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">示例代码</span></span></h4> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__comment"># 混合检索逻辑</span></span></code><code><span leaf="">id_to_score = {}</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__keyword">for</span>&nbsp;doc, score&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;keyword_results:</span></code><code><span leaf="">&nbsp; &nbsp; id_to_score[doc.<span class="code-snippet__built_in">id</span>] = (<span class="code-snippet__number">1</span>&nbsp;- vector_weight) * score</span></code><code><span leaf=""><span class="code-snippet__keyword">for</span>&nbsp;doc, score&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;vector_results:</span></code><code><span leaf="">&nbsp; &nbsp; id_to_score[doc.<span class="code-snippet__built_in">id</span>] = id_to_score.get(doc.<span class="code-snippet__built_in">id</span>,&nbsp;<span class="code-snippet__number">0</span>) + vector_weight * score</span></code></pre> </section> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.2.4&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">优化方法</span></span></h4> <ul class="list-paddingleft-1"> <li><strong><span leaf=""><span textstyle="" style="font-weight: normal;">网格搜索:尝试 vector_weight 从 0 到 1 的不同值,评估 NDCG。</span></span></strong></li> <li><strong><span leaf=""><span textstyle="" style="font-weight: normal;">贝叶斯优化:使用</span></span><span leaf=""><span textstyle="" style="font-weight: normal;">scikit-optimize</span></span><span leaf=""><span textstyle="" style="font-weight: normal;">&nbsp;自动寻找最佳权重。</span>&nbsp;</span></strong></li> </ul> <h4><span leaf=""><br></span></h4> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.2.5&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">效果</span></span></h4> <ul class="list-paddingleft-1"> <li><strong><span leaf="">速度提升:关键词检索减少向量计算量,检索时间可降低 50%。</span></strong></li> <li><strong><span leaf="">精度优化:最佳权重(如 0.7)可提升召回率 5%-10%。</span></strong></li> </ul> <hr style="border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);"> <h3><span leaf=""><br></span></h3> <h3><span leaf=""><span textstyle="" style="font-size: 20px;font-weight: bold;">3.3 对关键段落进行重排序(Reranking)</span></span></h3> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h3,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.3.1&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">原理</span></span></h4> <p style="white-space: pre-wrap;"><span leaf="">两阶段检索策略:第一阶段快速召回大量候选结果(例如 100 个),第二阶段使用更精确的模型(如交叉编码器)对候选结果重排序。这种方法在保证效率的同时提升精度。</span></p> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.3.2&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">实现</span></span></h4> <p style="white-space: pre-wrap;"><span leaf="">由于代码中未直接实现重排序,这里补充一个示例:</span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;sentence_transformers&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;CrossEncoder</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__keyword">class</span>&nbsp;<span class="code-snippet__title">TwoStageRetriever</span>:</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">__init__</span>(<span class="code-snippet__params">self, retriever, reranker_model=</span><span class="code-snippet__params"><span class="code-snippet__string">"cross-encoder/ms-marco-MiniLM-L-6-v2"</span></span>):</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.retriever = retriever</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; self.reranker = CrossEncoder(reranker_model)</span></code><code><span leaf=""><br></span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">retrieve</span>(<span class="code-snippet__params">self, query:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">str</span></span><span class="code-snippet__params">, top_k:&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__built_in">int</span></span><span class="code-snippet__params">&nbsp;=&nbsp;</span><span class="code-snippet__params"><span class="code-snippet__number">5</span></span>):</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; candidates = self.retriever.retrieve(query, top_k=<span class="code-snippet__number">100</span>)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; pairs = [(query, doc.content)&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;doc, _&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;candidates]</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; scores = self.reranker.predict(pairs)</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; reranked =&nbsp;<span class="code-snippet__built_in">sorted</span>(<span class="code-snippet__built_in">zip</span>(candidates, scores), key=<span class="code-snippet__keyword">lambda</span>&nbsp;x: x[<span class="code-snippet__number">1</span>], reverse=<span class="code-snippet__literal">True</span>)[:top_k]</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">return</span>&nbsp;[(doc, score)&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;(doc, _), score&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;reranked]</span></code></pre> </section> <p><code style="white-space:pre-wrap;line-height: inherit;font-size: inherit;"></code></p> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.3.3&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">效果</span></span></h4> <ul class="list-paddingleft-1"> <li><strong><span leaf=""><span textstyle="" style="font-weight: normal;">质量提升:重排序后,NDCG@10 可提升 15%-25%。</span></span></strong></li> <li><strong><span leaf=""><span textstyle="" style="font-weight: normal;">速度代价:重排序增加少量延迟(几十毫秒),但整体效率仍高</span>。</span></strong></li> </ul> <hr style="border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);"> <h3><span leaf=""><br></span></h3> <h3><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.4. 使用量化技术压缩向量</span></span></h3> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h3,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.4.1&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">原理</span></span></h4> <p style="white-space: pre-wrap;"><span leaf="">向量量化(如 Faiss 的 IVF-PQ)通过压缩向量减少内存占用和计算量,同时保持较高检索质量。例如,将 32 位浮点向量压缩为 8 位整数,可减少约 75% 的存储空间。</span></p> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.4.2&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">实现</span></span></h4> <p style="white-space: pre-wrap;"><span leaf="">在&nbsp;</span><span leaf="">OptimizedVectorRetriever</span><span leaf="">&nbsp;中,我们使用 Faiss 的&nbsp;</span><span leaf="">IndexIVFPQ</span><span leaf="">:</span></p> <ul class="list-paddingleft-1"> <li> <section> <span leaf="">nlist:聚类中心数量,影响索引构建时间和搜索速度。</span> </section></li> <li> <section> <span leaf="">m:子量化器数量,影响压缩率。</span> </section></li> <li> <section> <span leaf="">nprobe:搜索时检查的聚类中心数量,平衡速度和精度。</span> </section></li> </ul> <h4><span leaf=""><br></span></h4> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.4.3&nbsp;</span><span textstyle="" style="font-size: 18px;font-weight: bold;">示例代码</span></span></h4> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="makefile"><code><span leaf=""><span class="code-snippet__comment"># IVF-PQ 索引构建</span></span></code><code><span leaf="">nlist = 1000</span></code><code><span leaf="">m = 8</span></code><code><span leaf="">quantizer = faiss.IndexFlatIP(dimension)</span></code><code><span leaf="">index = faiss.IndexIVFPQ(quantizer, dimension, nlist, m, 8)</span></code><code><span leaf="">index.train(embeddings)</span></code><code><span leaf="">index.add(embeddings)</span></code><code><span leaf=""><br></span></code></pre> </section> <p><code style="white-space:pre-wrap;line-height: inherit;font-size: inherit;"></code></p> <h4><span leaf="" data-pm-slice="1 1 [" para,{tagname:h4,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml}]><span textstyle="" style="font-size: 20px;font-weight: bold;">3.4.4</span><span textstyle="" style="font-size: 18px;font-weight: bold;">效果</span></span></h4> <ul class="list-paddingleft-1"> <li style="font-weight:normal;"><strong><span leaf=""><span textstyle="" style="font-weight: normal;">内存减少:对于 1000 万个 768 维向量,存储从约 28GB 降至 2-3GB。</span></span></strong></li> <li style="font-weight:normal;"><strong><span leaf=""><span textstyle="" style="font-weight: normal;">速度提升:检索时间从秒级降至毫秒级。</span></span></strong></li> <li style="font-weight:normal;"><strong><span leaf=""><span textstyle="" style="font-weight: normal;">精度损失:轻微(&lt;5%),可通过调整 nprobe 补偿。</span></span></strong></li> </ul> <hr style="border-style: solid;border-width: 1px 0 0;border-color: rgba(0,0,0,0.1);-webkit-transform-origin: 0 0;-webkit-transform: scale(1, 0.5);transform-origin: 0 0;transform: scale(1, 0.5);"> <h2><span leaf=""><br></span></h2> <h2><span leaf=""><span textstyle="" style="font-size: 24px;font-weight: bold;">4. 性能分析</span></span></h2> <p style="white-space: pre-wrap;"><span leaf="">以 1000 万个文档片段为例:</span></p> <ul class="list-paddingleft-1"> <li style="font-weight:normal;"><strong><span leaf=""><span textstyle="" style="font-weight: normal;">原始向量检索:每查询约 2-3 秒,内存 28GB。</span></span></strong></li> <li style="font-weight:normal;"><strong><span leaf=""><span textstyle="" style="font-weight: normal;">优化后:</span></span></strong></li> <ul class="list-paddingleft-1"> <li> <section> <span leaf="">检索时间:几十毫秒(QPS &gt; 100)。</span> </section></li> <li> <section> <span leaf="">内存占用:2-3GB(压缩率 10x)。</span> </section></li> <li> <section> <span leaf="">召回率:提升 10%-20%(混合检索 + 重排序)。</span> </section></li> </ul> </ul> <h2><span leaf=""><br></span></h2> <h2><span leaf=""><span textstyle="" style="font-size: 24px;font-weight: bold;">5.实际应用建议</span></span></h2> <ol class="list-paddingleft-1"> <li><strong><span leaf=""><span textstyle="" style="font-weight: normal;">数据规模小:直接使用 SentenceTransformer + Faiss。</span></span></strong></li> <li><strong><span leaf=""><span textstyle="" style="font-weight: normal;">数据规模大:采用混合检索 + 量化。</span></span></strong></li> <li><strong><span leaf=""><span textstyle="" style="font-weight: normal;">实时性要求高:增加关键词检索比例,优化 nprobe。</span></span></strong></li> <li><strong><span leaf=""><span textstyle="" style="font-weight: normal;">质量要求高:引入重排序,微调嵌入模型。通过调整参数(如nlist</span></span></strong></li> </ol> <p style="white-space: pre-wrap;"><span leaf=""><span textstyle="" style="font-weight: normal;">、</span></span><span leaf=""><span textstyle="" style="font-weight: normal;">vector_weight</span></span><span leaf=""><span textstyle="" style="font-weight: normal;">),可在速度和精度间找到最佳平衡。</span></span></p> <p style="white-space: pre-wrap;"><span leaf=""><br></span></p> <h2><span leaf=""><span textstyle="" style="font-size: 24px;font-weight: bold;">6. 总结</span></span></h2> <p style="white-space: pre-wrap;"><span leaf="">本文从原理到代码,展示了如何优化 RAG 系统的召回环节。无论是选择领域模型、混合检索、重排序,还是向量量化,每种方法都针对特定问题提供了解决方案。在实际应用中,可根据数据规模、硬件资源和业务需求灵活组合这些技术,构建高效且准确的检索系统。希望这篇文章能为你的 RAG 系统优化提供实用指导!</span></p> <p style="display: none;"> <mp-style-type data-value="3"></mp-style-type></p>

颠覆认知!用RAG处理表格数据后,我才明白大模型的真实使用门槛

作者:微信小助手

<p data-pm-slice="0 0 []" style="text-indent: 2em;"><span style="color: rgba(0, 0, 0, 0.9);font-family: " pingfang sc, -apple-system, blinkmacsystemfont, segoe ui, roboto, ubuntu, helvetica neue, helvetica, arial, hiragino sans gb, microsoft yahei yahei, source han cn, sans-serif;font-size: 16px;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(252, 252, 252);><span leaf=""><span textstyle="" style="font-size: 17px;">你以为RAG就是调个API、套个框架的事儿?多少开发者信心满满地打开LangChain文档,结果对着Excel表格当场傻眼——说好的'开箱即用'呢?文本问答确实容易上手,可一旦换成财报数据、用户信息表,那些引以为傲的语义搜索突然就失灵了!字段关联看不懂,数值比较犯迷糊,跨行统计更是一团糟。原来RAG的'简单'只是假象,表格处理才是它的终极考场!今天我们就撕开这层窗户纸,让你看看真正的结构化数据增强检索该怎么玩。</span></span></span><span leaf=""><br></span></p> <section style="text-align: center;" nodeleaf=""> <img src="/upload/0c7bcbea584870979511137563d33038.png" class="rich_pages wxw-img" data-ratio="0.8878101402373247" data-s="300,640" data-type="png" data-w="927" type="block" data-imgfileid="100003188"> </section> <p data-pm-slice="0 0 []" style="text-indent: 2em;"><span leaf=""><br></span></p> <h3><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 20px;">一、为什么表格数据是大模型的“拦路虎”?</span></span></span></h3> <p style="text-indent: 2em;"><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">先说说痛点。大模型天生擅长处理非结构化数据,比如一篇散文、一段聊天记录,它能迅速抓住重点。可表格不一样,表格是结构化的,字段清晰、数据规整,直接丢给模型,它可能会一脸茫然,完全不知道从哪儿下手。</span></span></span></p> <p style="text-indent: 2em;"><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">那怎么办呢?其实很简单,核心思路就是把表格“翻译”成大模型能懂的语言,再搭配一个好用的存储和检索方案。听起来有点玄乎?别慌,接下来我会一步步拆解,带你把这事儿弄明白。</span></span></span></p> <p style="text-indent: 2em;"><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><br></span></span></p> <h3><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 20px;">二、处理表格的“四步走”全攻略</span></span></span></h3> <p style="text-indent: 2em;"><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">经过一番研究,我总结了大模型处理表格的四大核心步骤:向量化、存储、索引、检索。每一步都有多种方法可选,我不仅会讲清楚原理,还会直接上代码,方便你动手实践!</span></span></span></p> <h4><span leaf=""><span textstyle="" style="font-size: 17px;font-weight: bold;">第一步:表格数据向量化——让表格“开口说话”</span></span></h4> <p style="text-indent: 2em;"><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">表格不像文本,不能直接喂给模型,得先把它转成向量。这里有三种主流方法,针对不同场景各有妙用:</span></span></span></p> <h5><span leaf=""><span textstyle="" style="font-size: 17px;font-weight: bold;">方法1:逐行向量化——每行变“文章”</span></span></h5> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">思路</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:把表格的每一行拼接成一句话,用嵌入模型生成向量,再存进向量数据库。</span></span></p> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">适用场景</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:想查单行数据,比如“收入最高的科技公司”。</span></span></p> <p><span style="font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">步骤</span></span></span><span style="-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <ol class="list-paddingleft-1"> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">把每行数据转成文本描述(比如“公司: A公司, 收入: 500万”)。</span></span></p></li> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">用嵌入模型(比如OpenAI的text-embedding-ada-002)生成向量。</span></span></p></li> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">存进向量数据库(比如Chroma)。</span></span></p></li> </ol> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">举个例子</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></p> <p><span style="font-size: 17px;-en-paragraph:true;-en-clipboard:true;" data-pm-slice="0 0 []"><span leaf="">假设有一张财务表:</span></span></p> <section style="text-align: center;" nodeleaf=""> <img src="/upload/7e4d2ec66e6c67567d62822eefbd2de1.png" class="rich_pages wxw-img" data-ratio="0.10764872521246459" data-s="300,640" data-type="png" data-w="1059" type="block" data-imgfileid="100003192"> </section> <p><span style="white-space: pre-wrap;font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">代码实操</span></span></span><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__comment"># 安装依赖:pip install chromadb openai</span></span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;chromadb</span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;openai&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;OpenAI</span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;os</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 设置OpenAI API密钥</span></span></code><code><span leaf="">os.environ[<span class="code-snippet__string">"OPENAI_API_KEY"</span>] =&nbsp;<span class="code-snippet__string">"你的密钥"</span></span></code><code><span leaf="">client = OpenAI()</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 表格数据</span></span></code><code><span leaf="">table_data = [</span></code><code><span leaf="">&nbsp; &nbsp; {<span class="code-snippet__string">"公司"</span>:&nbsp;<span class="code-snippet__string">"A公司"</span>,&nbsp;<span class="code-snippet__string">"收入"</span>:&nbsp;<span class="code-snippet__number">500</span>,&nbsp;<span class="code-snippet__string">"利润"</span>:&nbsp;<span class="code-snippet__number">50</span>,&nbsp;<span class="code-snippet__string">"行业"</span>:&nbsp;<span class="code-snippet__string">"科技"</span>},</span></code><code><span leaf="">&nbsp; &nbsp; {<span class="code-snippet__string">"公司"</span>:&nbsp;<span class="code-snippet__string">"B公司"</span>,&nbsp;<span class="code-snippet__string">"收入"</span>:&nbsp;<span class="code-snippet__number">300</span>,&nbsp;<span class="code-snippet__string">"利润"</span>:&nbsp;<span class="code-snippet__number">20</span>,&nbsp;<span class="code-snippet__string">"行业"</span>:&nbsp;<span class="code-snippet__string">"零售"</span>}</span></code><code><span leaf="">]</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 逐行转文本</span></span></code><code><span leaf="">rows = [<span class="code-snippet__string">f"公司:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'公司'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">, 收入:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'收入'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">万, 利润:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'利润'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">万, 行业:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'行业'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">"</span>&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;row&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;table_data]</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 生成向量</span></span></code><code><span leaf=""><span class="code-snippet__keyword">def</span>&nbsp;<span class="code-snippet__title">get_embedding</span>(<span class="code-snippet__params">text</span>):</span></code><code><span leaf="">&nbsp; &nbsp; response = client.embeddings.create(<span class="code-snippet__built_in">input</span>=text, model=<span class="code-snippet__string">"text-embedding-ada-002"</span>)</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__keyword">return</span>&nbsp;response.data[<span class="code-snippet__number">0</span>].embedding</span></code><code><span leaf=""><br></span></code><code><span leaf="">vectors = [get_embedding(row)&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;row&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;rows]</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 输出检查</span></span></code><code><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">"第一行文本:"</span>, rows[<span class="code-snippet__number">0</span>])</span></code><code><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">"第一行向量(前5维):"</span>, vectors[<span class="code-snippet__number">0</span>][:<span class="code-snippet__number">5</span>])</span></code></pre> </section> <p><span style="white-space: pre-wrap;font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">输出</span></span></span><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="makefile"><code><span leaf=""><span class="code-snippet__section">第一行文本:公司: A公司, 收入: 500万, 利润: 50万, 行业: 科技</span></span></code><code><span leaf="">第一行向量(前5维):[-0.0123, 0.0056, 0.0231, -0.0089, 0.0178]</span></code></pre> </section> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">优点</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:简单直接,查单行数据特别方便。</span></span></p> <p><span style="font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">缺点</span></span></span><span style="-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:如果想跨行比较(比如算总收入),还得额外处理。</span></span></span></p> <h5><span leaf=""><br></span></h5> <h5><span leaf=""><span textstyle="" style="font-size: 17px;font-weight: bold;">方法2:逐列向量化——分门别类更灵活</span></span></h5> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">思路</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:把表格的每列单独向量化,存进支持元数据过滤的数据库,查询时按字段筛选。</span></span></p> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">适用场景</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:适合“科技行业利润最高的公司”这种按列查的需求。</span></span></p> <p><span style="font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">步骤</span></span></span><span style="-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <ol class="list-paddingleft-1"> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">对每列生成独立向量(或者只处理关键列,比如文本字段)。</span></span></p></li> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">用元数据存数值字段,方便后期过滤。</span></span></p></li> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">存进支持多字段索引的数据库(比如Weaviate)。</span></span></p></li> </ol> <p><span style="white-space: pre-wrap;font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">代码实操(用Weaviate)</span></span></span><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__comment"># 安装依赖:pip install weaviate-client</span></span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;weaviate</span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;openai&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;OpenAI</span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;os</span></code><code><span leaf=""><br></span></code><code><span leaf="">os.environ[<span class="code-snippet__string">"OPENAI_API_KEY"</span>] =&nbsp;<span class="code-snippet__string">"你的密钥"</span></span></code><code><span leaf="">client = OpenAI()</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 初始化Weaviate客户端(需本地运行Weaviate)</span></span></code><code><span leaf="">weaviate_client = weaviate.Client(<span class="code-snippet__string">"http://localhost:8080"</span>)</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 定义Schema</span></span></code><code><span leaf="">schema = {</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__string">"classes"</span>: [{</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__string">"class"</span>:&nbsp;<span class="code-snippet__string">"TableData"</span>,</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__string">"properties"</span>: [</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<span class="code-snippet__string">"name"</span>:&nbsp;<span class="code-snippet__string">"company"</span>,&nbsp;<span class="code-snippet__string">"dataType"</span>: [<span class="code-snippet__string">"string"</span>]},</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<span class="code-snippet__string">"name"</span>:&nbsp;<span class="code-snippet__string">"income"</span>,&nbsp;<span class="code-snippet__string">"dataType"</span>: [<span class="code-snippet__string">"number"</span>]},</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<span class="code-snippet__string">"name"</span>:&nbsp;<span class="code-snippet__string">"profit"</span>,&nbsp;<span class="code-snippet__string">"dataType"</span>: [<span class="code-snippet__string">"number"</span>]},</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<span class="code-snippet__string">"name"</span>:&nbsp;<span class="code-snippet__string">"industry"</span>,&nbsp;<span class="code-snippet__string">"dataType"</span>: [<span class="code-snippet__string">"string"</span>]},</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<span class="code-snippet__string">"name"</span>:&nbsp;<span class="code-snippet__string">"vector"</span>,&nbsp;<span class="code-snippet__string">"dataType"</span>: [<span class="code-snippet__string">"number[]"</span>]},</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; ],</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<span class="code-snippet__string">"vectorizer"</span>:&nbsp;<span class="code-snippet__string">"none"</span>&nbsp;&nbsp;<span class="code-snippet__comment"># 手动提供向量</span></span></code><code><span leaf="">&nbsp; &nbsp; }]</span></code><code><span leaf="">}</span></code><code><span leaf="">weaviate_client.schema.create(schema)</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 表格数据</span></span></code><code><span leaf="">table_data = [</span></code><code><span leaf="">&nbsp; &nbsp; {<span class="code-snippet__string">"company"</span>:&nbsp;<span class="code-snippet__string">"A公司"</span>,&nbsp;<span class="code-snippet__string">"income"</span>:&nbsp;<span class="code-snippet__number">500</span>,&nbsp;<span class="code-snippet__string">"profit"</span>:&nbsp;<span class="code-snippet__number">50</span>,&nbsp;<span class="code-snippet__string">"industry"</span>:&nbsp;<span class="code-snippet__string">"科技"</span>},</span></code><code><span leaf="">&nbsp; &nbsp; {<span class="code-snippet__string">"company"</span>:&nbsp;<span class="code-snippet__string">"B公司"</span>,&nbsp;<span class="code-snippet__string">"income"</span>:&nbsp;<span class="code-snippet__number">300</span>,&nbsp;<span class="code-snippet__string">"profit"</span>:&nbsp;<span class="code-snippet__number">20</span>,&nbsp;<span class="code-snippet__string">"industry"</span>:&nbsp;<span class="code-snippet__string">"零售"</span>}</span></code><code><span leaf="">]</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 生成向量并存储</span></span></code><code><span leaf=""><span class="code-snippet__keyword">for</span>&nbsp;row&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;table_data:</span></code><code><span leaf="">&nbsp; &nbsp; text =&nbsp;<span class="code-snippet__string">f"公司:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'company'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">, 行业:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'industry'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">"</span></span></code><code><span leaf="">&nbsp; &nbsp; vector = client.embeddings.create(<span class="code-snippet__built_in">input</span>=text, model=<span class="code-snippet__string">"text-embedding-ada-002"</span>).data[<span class="code-snippet__number">0</span>].embedding</span></code><code><span leaf="">&nbsp; &nbsp; weaviate_client.data_object.create(</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; data_object={<span class="code-snippet__string">"company"</span>: row[<span class="code-snippet__string">"company"</span>],&nbsp;<span class="code-snippet__string">"income"</span>: row[<span class="code-snippet__string">"income"</span>],&nbsp;<span class="code-snippet__string">"profit"</span>: row[<span class="code-snippet__string">"profit"</span>],&nbsp;<span class="code-snippet__string">"industry"</span>: row[<span class="code-snippet__string">"industry"</span>],&nbsp;<span class="code-snippet__string">"vector"</span>: vector},</span></code><code><span leaf="">&nbsp; &nbsp; &nbsp; &nbsp; class_name=<span class="code-snippet__string">"TableData"</span></span></code><code><span leaf="">&nbsp; &nbsp; )</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">"数据存储完成!"</span>)</span></code></pre> </section> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">备注</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:运行前需用Docker启动Weaviate(命令:docker run -p 8080:8080 semitechnologies/weaviate)。</span></span></p> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">优点</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:支持按字段筛选,灵活性超强。</span></span></p> <p><span style="font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">缺点</span></span></span><span style="-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:预处理稍微麻烦一点。</span></span></span></p> <p><span style="-en-paragraph:true;"><span leaf=""><br></span></span></p> <h5><span leaf=""><span textstyle="" style="font-size: 17px;font-weight: bold;">方法3:整表嵌入——全局视角看表格</span></span></h5> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">思路</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:把整个表格转成一段文本,整体向量化。</span></span></p> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">适用场景</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:适合“给我所有公司财务数据”这种全局查询。</span></span></p> <p><span style="font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">步骤</span></span></span><span style="-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <ol class="list-paddingleft-1"> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">把表格转成Markdown或JSON格式的文本。</span></span></p></li> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">用嵌入模型生成向量。</span></span></p></li> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">存进数据库。</span></span></p></li> </ol> <p><span style="white-space: pre-wrap;font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">代码实操(用Chroma)</span></span></span><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;chromadb</span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;openai&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;OpenAI</span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;os</span></code><code><span leaf=""><br></span></code><code><span leaf="">os.environ[<span class="code-snippet__string">"OPENAI_API_KEY"</span>] =&nbsp;<span class="code-snippet__string">"你的密钥"</span></span></code><code><span leaf="">client = OpenAI()</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 初始化Chroma</span></span></code><code><span leaf="">chroma_client = chromadb.Client()</span></code><code><span leaf="">collection = chroma_client.create_collection(name=<span class="code-snippet__string">"whole_table"</span>)</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 表格数据转文本</span></span></code><code><span leaf="">table_data = [</span></code><code><span leaf="">&nbsp; &nbsp; {<span class="code-snippet__string">"公司"</span>:&nbsp;<span class="code-snippet__string">"A公司"</span>,&nbsp;<span class="code-snippet__string">"收入"</span>:&nbsp;<span class="code-snippet__number">500</span>,&nbsp;<span class="code-snippet__string">"利润"</span>:&nbsp;<span class="code-snippet__number">50</span>,&nbsp;<span class="code-snippet__string">"行业"</span>:&nbsp;<span class="code-snippet__string">"科技"</span>},</span></code><code><span leaf="">&nbsp; &nbsp; {<span class="code-snippet__string">"公司"</span>:&nbsp;<span class="code-snippet__string">"B公司"</span>,&nbsp;<span class="code-snippet__string">"收入"</span>:&nbsp;<span class="code-snippet__number">300</span>,&nbsp;<span class="code-snippet__string">"利润"</span>:&nbsp;<span class="code-snippet__number">20</span>,&nbsp;<span class="code-snippet__string">"行业"</span>:&nbsp;<span class="code-snippet__string">"零售"</span>}</span></code><code><span leaf="">]</span></code><code><span leaf="">table_text =&nbsp;<span class="code-snippet__string">"公司财务表:\n"</span>&nbsp;+&nbsp;<span class="code-snippet__string">"\n"</span>.join([<span class="code-snippet__string">f"公司:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'公司'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">, 收入:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'收入'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">万, 利润:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'利润'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">万, 行业:&nbsp;</span><span class="code-snippet__string"><span class="code-snippet__subst">{row[</span></span><span class="code-snippet__string"><span class="code-snippet__subst"><span class="code-snippet__string">'行业'</span></span></span><span class="code-snippet__string"><span class="code-snippet__subst">]}</span></span><span class="code-snippet__string">"</span>&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;row&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;table_data])</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 生成向量</span></span></code><code><span leaf="">vector = client.embeddings.create(<span class="code-snippet__built_in">input</span>=table_text, model=<span class="code-snippet__string">"text-embedding-ada-002"</span>).data[<span class="code-snippet__number">0</span>].embedding</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 存储</span></span></code><code><span leaf="">collection.add(ids=[<span class="code-snippet__string">"table_1"</span>], embeddings=[vector], metadatas=[{<span class="code-snippet__string">"text"</span>: table_text}])</span></code><code><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">"整表存储完成!"</span>)</span></code></pre> </section> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">优点</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:适合整体返回,简单粗暴。</span></span></p> <p><span style="font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">缺点</span></span></span><span style="-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:想查单个单元格不方便,更适合小表格。</span></span></span></p> <p><span style="-en-paragraph:true;"><span leaf=""><br></span></span></p> <h4><span leaf=""><span textstyle="" style="font-size: 17px;font-weight: bold;">第二步:存储到向量数据库——给数据找个“家”</span></span></h4> <p><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">向量化后的数据得有个地方存起来。这里推荐几个主流向量数据库:</span></span></span></p> <ul class="list-paddingleft-1"> <li><p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">FAISS</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:本地跑,速度快,适合小规模实验。</span></span></p></li> <li><p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">Chroma</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:轻量级,支持OpenAI嵌入,开箱即用。</span></span></p></li> <li><p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">Weaviate</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:支持元数据过滤,表格数据的好帮手。</span></span></p></li> <li><p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">Pinecone</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:云端服务,适合大规模应用。</span></span></p></li> </ul> <p><span style="white-space: pre-wrap;font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">实操代码(用FAISS存储逐行向量)</span></span></span><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__comment"># 安装依赖:pip install faiss-cpu numpy</span></span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;faiss</span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;numpy&nbsp;<span class="code-snippet__keyword">as</span>&nbsp;np</span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;openai&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;OpenAI</span></code><code><span leaf=""><span class="code-snippet__keyword">import</span>&nbsp;os</span></code><code><span leaf=""><br></span></code><code><span leaf="">os.environ[<span class="code-snippet__string">"OPENAI_API_KEY"</span>] =&nbsp;<span class="code-snippet__string">"你的密钥"</span></span></code><code><span leaf="">client = OpenAI()</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 表格数据</span></span></code><code><span leaf="">rows = [</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__string">"公司: A公司, 收入: 500万, 利润: 50万, 行业: 科技"</span>,</span></code><code><span leaf="">&nbsp; &nbsp;&nbsp;<span class="code-snippet__string">"公司: B公司, 收入: 300万, 利润: 20万, 行业: 零售"</span></span></code><code><span leaf="">]</span></code><code><span leaf="">vectors = [client.embeddings.create(<span class="code-snippet__built_in">input</span>=row, model=<span class="code-snippet__string">"text-embedding-ada-002"</span>).data[<span class="code-snippet__number">0</span>].embedding&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;row&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;rows]</span></code><code><span leaf="">vectors = np.array(vectors).astype(<span class="code-snippet__string">'float32'</span>)</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 创建FAISS索引</span></span></code><code><span leaf="">dimension = vectors.shape[<span class="code-snippet__number">1</span>] &nbsp;<span class="code-snippet__comment"># 向量维度</span></span></code><code><span leaf="">index = faiss.IndexFlatL2(dimension) &nbsp;<span class="code-snippet__comment"># L2距离索引</span></span></code><code><span leaf="">index.add(vectors) &nbsp;<span class="code-snippet__comment"># 添加向量</span></span></code><code><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">"FAISS索引创建完成,总向量数:"</span>, index.ntotal)</span></code></pre> </section> <p><span leaf=""><br></span></p> <h4><span leaf=""><span textstyle="" style="font-size: 17px;font-weight: bold;">第三步:高效检索——快准狠才是王道</span></span></h4> <p><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">存好数据,怎么快速找出来?这里有三种实用技巧:</span></span></span></p> <h5><span leaf=""><span textstyle="" style="font-size: 17px;">技巧1:Metadata Filtering——先筛后搜</span></span></h5> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">思路</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:用元数据条件缩小范围,再用向量搜索。</span></span></p> <p><span style="font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">代码实操(Weaviate查询“科技行业利润最高”)</span></span></span><span style="-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__comment"># 查询</span></span></code><code><span leaf="">query_text =&nbsp;<span class="code-snippet__string">"科技行业里利润最高的公司"</span></span></code><code><span leaf="">query_vector = client.embeddings.create(<span class="code-snippet__built_in">input</span>=query_text, model=<span class="code-snippet__string">"text-embedding-ada-002"</span>).data[<span class="code-snippet__number">0</span>].embedding</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 先按行业过滤,再按向量搜索</span></span></code><code><span leaf="">results = weaviate_client.query.get(<span class="code-snippet__string">"TableData"</span>, [<span class="code-snippet__string">"company"</span>,&nbsp;<span class="code-snippet__string">"profit"</span>,&nbsp;<span class="code-snippet__string">"industry"</span>])\</span></code><code><span leaf="">&nbsp; &nbsp; .with_where({<span class="code-snippet__string">"path"</span>: [<span class="code-snippet__string">"industry"</span>],&nbsp;<span class="code-snippet__string">"operator"</span>:&nbsp;<span class="code-snippet__string">"Equal"</span>,&nbsp;<span class="code-snippet__string">"valueText"</span>:&nbsp;<span class="code-snippet__string">"科技"</span>})\</span></code><code><span leaf="">&nbsp; &nbsp; .with_near_vector({<span class="code-snippet__string">"vector"</span>: query_vector})\</span></code><code><span leaf="">&nbsp; &nbsp; .with_limit(<span class="code-snippet__number">5</span>)\</span></code><code><span leaf="">&nbsp; &nbsp; .do()</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 按利润排序</span></span></code><code><span leaf="">sorted_results =&nbsp;<span class="code-snippet__built_in">sorted</span>(results[<span class="code-snippet__string">"data"</span>][<span class="code-snippet__string">"Get"</span>][<span class="code-snippet__string">"TableData"</span>], key=<span class="code-snippet__keyword">lambda</span>&nbsp;x: x[<span class="code-snippet__string">"profit"</span>], reverse=<span class="code-snippet__literal">True</span>)</span></code><code><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">"结果:"</span>, sorted_results[<span class="code-snippet__number">0</span>])</span></code></pre> </section> <p><span style="white-space: pre-wrap;font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">输出</span></span></span><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="javascript"><code><span leaf="">结果:{<span class="code-snippet__string">'company'</span>:&nbsp;<span class="code-snippet__string">'A公司'</span>,&nbsp;<span class="code-snippet__string">'profit'</span>:&nbsp;<span class="code-snippet__number">50</span>,&nbsp;<span class="code-snippet__string">'industry'</span>:&nbsp;<span class="code-snippet__string">'科技'</span>}</span></code></pre> </section> <h5><span leaf=""><span textstyle="" style="font-size: 17px;font-weight: bold;">技巧2:Hybrid Search——向量+SQL双剑合璧</span></span></h5> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">思路</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:向量搜索找相似行,SQL排序数值字段。</span></span></p> <p><span style="font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">代码实操(FAISS+Python排序)</span></span></span><span style="-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="apache"><code><span leaf=""><span class="code-snippet__comment"># 查询</span></span></code><code><span leaf=""><span class="code-snippet__attribute">query_vector</span>&nbsp;= client.embeddings.create(input=<span class="code-snippet__string">"收入最高的公司"</span>, model=<span class="code-snippet__string">"text-embedding-ada-002"</span>).data[<span class="code-snippet__number">0</span>].embedding</span></code><code><span leaf=""><span class="code-snippet__attribute">query_vector</span>&nbsp;= np.array([query_vector]).astype('float32')</span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># FAISS搜索</span></span></code><code><span leaf=""><span class="code-snippet__attribute">D</span>, I = index.search(query_vector, k=<span class="code-snippet__number">2</span>) &nbsp;# 返回前<span class="code-snippet__number">2</span>个结果</span></code><code><span leaf=""><span class="code-snippet__attribute">results</span>&nbsp;=<span class="code-snippet__meta">&nbsp;[rows[i] for i in I[0]]</span></span></code><code><span leaf=""><br></span></code><code><span leaf=""><span class="code-snippet__comment"># 提取收入并排序</span></span></code><code><span leaf=""><span class="code-snippet__attribute">sorted_results</span>&nbsp;= sorted(results, key=lambda x: -int(x.split(<span class="code-snippet__string">"收入: "</span>)[<span class="code-snippet__number">1</span>].split(<span class="code-snippet__string">"万"</span>)[<span class="code-snippet__number">0</span>]))</span></code><code><span leaf=""><span class="code-snippet__attribute">print</span>(<span class="code-snippet__string">"收入最高的公司:"</span>, sorted_results[<span class="code-snippet__number">0</span>])</span></code></pre> </section> <p><span style="white-space: pre-wrap;font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">输出</span></span></span><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="makefile"><code><span leaf=""><span class="code-snippet__section">收入最高的公司:公司: A公司, 收入: 500万, 利润: 50万, 行业: 科技</span></span></code></pre> </section> <p><span leaf=""><br></span></p> <h5><span leaf=""><span textstyle="" style="font-size: 17px;font-weight: bold;">技巧3:Reranking——二次排序更精准</span></span></h5> <p><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 17px;">思路</span></span></span><span leaf=""><span textstyle="" style="font-size: 17px;">:用交叉编码器对初步结果打分。</span></span></p> <p><span style="font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">代码实操</span></span></span><span style="-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:</span></span></span></p> <section class="code-snippet__fix code-snippet__js"> <ul class="code-snippet__line-index code-snippet__js"> </ul> <pre class="code-snippet__js" data-lang="python"><code><span leaf=""><span class="code-snippet__comment"># 安装依赖:pip install sentence-transformers</span></span></code><code><span leaf=""><span class="code-snippet__keyword">from</span>&nbsp;sentence_transformers&nbsp;<span class="code-snippet__keyword">import</span>&nbsp;CrossEncoder</span></code><code><span leaf=""><br></span></code><code><span leaf="">reranker = CrossEncoder(<span class="code-snippet__string">'cross-encoder/ms-marco-MiniLM-L-6-v2'</span>)</span></code><code><span leaf="">query =&nbsp;<span class="code-snippet__string">"科技行业里收入最高的公司"</span></span></code><code><span leaf="">candidates = results &nbsp;<span class="code-snippet__comment"># FAISS返回的结果</span></span></code><code><span leaf="">pairs = [[query, cand]&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;cand&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;candidates]</span></code><code><span leaf="">scores = reranker.predict(pairs)</span></code><code><span leaf="">sorted_results = [cand&nbsp;<span class="code-snippet__keyword">for</span>&nbsp;_, cand&nbsp;<span class="code-snippet__keyword">in</span>&nbsp;<span class="code-snippet__built_in">sorted</span>(<span class="code-snippet__built_in">zip</span>(scores, candidates), reverse=<span class="code-snippet__literal">True</span>)]</span></code><code><span leaf=""><span class="code-snippet__built_in">print</span>(<span class="code-snippet__string">"重排序后结果:"</span>, sorted_results[<span class="code-snippet__number">0</span>])</span></code></pre> </section> <h4><span leaf=""><span textstyle="" style="font-size: 17px;font-weight: bold;">第四步:选择合适方案——对症下药</span></span></h4> <p data-pm-slice="0 0 []"><span leaf="">不同的需求,方案也不一样,我整理了个对比表供你参考:</span></p> <section style="text-align: center;" nodeleaf=""> <img src="/upload/2d1608638402fce9c521675fce2ad005.png" class="rich_pages wxw-img" data-ratio="0.17779868297271872" data-s="300,640" data-type="png" data-w="1063" type="block" data-imgfileid="100003187"> </section> <ul class="list-paddingleft-1"> <li><strong><span leaf="">小表格:<span textstyle="" style="font-weight: normal;">直接转文本+FAISS/Chroma,效率拉满。</span></span></strong></li> <li><strong><span leaf="">大表格:<span textstyle="" style="font-weight: normal;">逐行存储+Metadata Filtering,Weaviate/Pinecone是不二之选。</span></span></strong></li> <li><strong><span leaf="">复杂查询:<span textstyle="" style="font-weight: normal;">向量+SQL混搭,既能抓住语义,又能精确计算。</span></span></strong></li> </ul> <section> <span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf="" data-pm-slice="1 1 [" para,{tagname:p,attributes:{},namespaceuri:http: www.w3.org 1999 xhtml},node,{tagname:span,attributes:{style:white-space: pre-wrap; -en-paragraph:true;},namespaceuri:http: xhtml}]><br></span></span> </section> <h3><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 20px;">三、最佳实践:一条龙解决表格难题</span></span></span></h3> <p style="text-indent: 2em;"><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">综合来看,“单行向量化+按列筛选+SQL辅助”是最实用的一套组合拳。具体怎么搞?</span></span></span></p> <ol class="list-paddingleft-1"> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">把每行数据转成文本描述,用大模型生成向量。</span></span></p></li> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">存到支持元数据的向量数据库,关键列加索引。</span></span></p></li> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">查询时,先用向量找相似项,再用SQL或Python排序过滤。</span></span></p></li> </ol> <p><span style="white-space: pre-wrap;font-weight: bold;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">举个例子</span></span></span><span style="white-space: pre-wrap;-en-paragraph:true;"><span leaf=""><span textstyle="" style="font-size: 17px;">:用户问“科技行业里利润最高的公司”,你可以:</span></span></span></p> <ul class="list-paddingleft-1"> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">用向量搜索“科技行业”相关的行。</span></span></p></li> <li><p><span leaf=""><span textstyle="" style="font-size: 17px;">从结果里挑出利润最高的,答案就是A公司,50万利润。</span></span></p></li> </ul> <h3><span style="font-weight: bold;"><span leaf=""><br></span></span></h3> <h3><span style="font-weight: bold;"><span leaf=""><span textstyle="" style="font-size: 20px;">四、总结</span></span></span></h3> <p style="text-indent: 2em;"><span style="color: rgba(0, 0, 0, 0.9);font-family: " pingfang sc, -apple-system, blinkmacsystemfont, segoe ui, roboto, ubuntu, helvetica neue, helvetica, arial, hiragino sans gb, microsoft yahei yahei, source han cn, sans-serif;font-size: 16px;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(252, 252, 252);><span leaf=""><span textstyle="" style="font-size: 17px;">看完这些,你还觉得RAG只是个简单的问答工具吗?表格处理就像一面照妖镜,照出了大多数RAG方案在结构化数据面前的苍白无力。那些只会用现成框架套文本的开发者,遇到多维数据交叉分析、动态条件过滤时哪个不是头皮发麻?但别灰心!掌握了向量化策略与混合检索的奥义,你就能让大模型真正'看懂'表格。记住:真正的RAG高手,从来不是框架的搬运工,而是能根据数据结构量体裁衣的架构师。从今天开始,扔掉那些'万能解决方案'的幻想,踏踏实实练就这手表格处理的硬功夫吧!</span></span></span><span leaf=""><br></span></p> <p style="display: none;"> <mp-style-type data-value="10000"></mp-style-type></p>