<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[晓风残月]]></title><description><![CDATA[不以物喜，不以己悲]]></description><link>https://www.freaxjj.site/</link><image><url>https://www.freaxjj.site/favicon.png</url><title>晓风残月</title><link>https://www.freaxjj.site/</link></image><generator>Ghost 4.35</generator><lastBuildDate>Tue, 28 Apr 2026 06:28:27 GMT</lastBuildDate><atom:link href="https://www.freaxjj.site/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[模型量化与加速（由 OpenClaw 创造）]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h2 id="%E4%B8%80%E3%80%81%E8%83%8C%E6%99%AF%E4%B8%8E%E8%B5%B7%E6%BA%90">&#x4E00;&#x3001;&#x80CC;&#x666F;&#x4E0E;&#x8D77;&#x6E90;</h2>
<h3 id="%E6%8A%80%E6%9C%AF%E5%8F%91%E5%B1%95%E8%84%89%E7%BB%9C">&#x6280;&#x672F;&#x53D1;&#x5C55;&#x8109;&#x7EDC;</h3>
<p>&#x6A21;&#x578B;&#x91CF;&#x5316;&#xFF08;Model Quantization&#xFF09;&#x6280;&#x672F;&#x8D77;&#x6E90;&#x4E8E;&#x6DF1;&#x5EA6;&#x5B66;&#x4E60;&#x6A21;&#x578B;&#x90E8;&#x7F72;&#x7684;&#x5B9E;&#x9645;&#x9700;&#x6C42;&#x3002;&#x968F;&#x7740;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x89C4;&#x6A21;&#x4E0D;&#x65AD;</p>]]></description><link>https://www.freaxjj.site/mo-xing-liang-hua-yu-jia-su-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69d8435ae1acdf1366d715b6</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[模型量化]]></category><category><![CDATA[深度学习]]></category><category><![CDATA[AI 工程化]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Fri, 10 Apr 2026 00:24:58 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h2 id="%E4%B8%80%E3%80%81%E8%83%8C%E6%99%AF%E4%B8%8E%E8%B5%B7%E6%BA%90">&#x4E00;&#x3001;&#x80CC;&#x666F;&#x4E0E;&#x8D77;&#x6E90;</h2>
<h3 id="%E6%8A%80%E6%9C%AF%E5%8F%91%E5%B1%95%E8%84%89%E7%BB%9C">&#x6280;&#x672F;&#x53D1;&#x5C55;&#x8109;&#x7EDC;</h3>
<p>&#x6A21;&#x578B;&#x91CF;&#x5316;&#xFF08;Model Quantization&#xFF09;&#x6280;&#x672F;&#x8D77;&#x6E90;&#x4E8E;&#x6DF1;&#x5EA6;&#x5B66;&#x4E60;&#x6A21;&#x578B;&#x90E8;&#x7F72;&#x7684;&#x5B9E;&#x9645;&#x9700;&#x6C42;&#x3002;&#x968F;&#x7740;&#x795E;&#x7ECF;&#x7F51;&#x7EDC;&#x89C4;&#x6A21;&#x4E0D;&#x65AD;&#x6269;&#x5927;&#xFF0C;&#x6A21;&#x578B;&#x53C2;&#x6570;&#x91CF;&#x4ECE;&#x65E9;&#x671F;&#x7684;&#x6570;&#x767E;&#x4E07;&#x589E;&#x957F;&#x5230;&#x5982;&#x4ECA;&#x7684;&#x6570;&#x767E;&#x4EBF;&#x751A;&#x81F3;&#x4E07;&#x4EBF;&#x7EA7;&#x522B;&#xFF0C;&#x5E26;&#x6765;&#x4E86;&#x4E24;&#x4E2A;&#x6838;&#x5FC3;&#x95EE;&#x9898;&#xFF1A;<strong>&#x5B58;&#x50A8;&#x6210;&#x672C;&#x9AD8;&#x6602;</strong>&#x548C;<strong>&#x63A8;&#x7406;&#x901F;&#x5EA6;&#x7F13;&#x6162;</strong>&#x3002;</p>
<p>2015 &#x5E74;&#xFF0C;Google &#x7814;&#x7A76;&#x5458; Jacob &#x7B49;&#x4EBA;&#x5728;&#x8BBA;&#x6587;&#x300A;Quantizing deep convolutional networks for efficient inference: A whitepaper&#x300B;&#x4E2D;&#x9996;&#x6B21;&#x7CFB;&#x7EDF;&#x6027;&#x5730;&#x63D0;&#x51FA;&#x4E86;&#x6574;&#x6570;&#x91CF;&#x5316;&#x65B9;&#x6848;&#xFF0C;&#x5C06; 32 &#x4F4D;&#x6D6E;&#x70B9;&#x6570;&#x6743;&#x91CD;&#x8F6C;&#x6362;&#x4E3A; 8 &#x4F4D;&#x6574;&#x6570;&#xFF0C;&#x5B9E;&#x73B0;&#x4E86; 4 &#x500D;&#x538B;&#x7F29;&#x548C;&#x663E;&#x8457;&#x7684;&#x901F;&#x5EA6;&#x63D0;&#x5347;&#x3002;</p>
<p>2017 &#x5E74;&#xFF0C;Google &#x5728; TensorFlow Lite &#x4E2D;&#x6B63;&#x5F0F;&#x5F15;&#x5165;&#x91CF;&#x5316;&#x611F;&#x77E5;&#x8BAD;&#x7EC3;&#xFF08;Quantization-Aware Training, QAT&#xFF09;&#xFF0C;&#x6807;&#x5FD7;&#x7740;&#x91CF;&#x5316;&#x6280;&#x672F;&#x4ECE;&#x540E;&#x5904;&#x7406;&#x4F18;&#x5316;&#x8F6C;&#x5411;&#x8BAD;&#x7EC3;&#x9636;&#x6BB5;&#x7684;&#x6DF1;&#x5EA6;&#x96C6;&#x6210;&#x3002;</p>
<h3 id="%E5%85%B3%E9%94%AE%E8%AE%BA%E6%96%87">&#x5173;&#x952E;&#x8BBA;&#x6587;</h3>
<table>
<thead>
<tr>
<th>&#x8BBA;&#x6587;</th>
<th>&#x5E74;&#x4EFD;</th>
<th>&#x8D21;&#x732E;</th>
</tr>
</thead>
<tbody>
<tr>
<td>Quantizing deep convolutional networks (Google)</td>
<td>2015</td>
<td>&#x63D0;&#x51FA; Post-Training Quantization (PTQ) &#x6846;&#x67B6;</td>
</tr>
<tr>
<td>Quantization and Training of Neural Networks (NeurIPS)</td>
<td>2018</td>
<td>&#x91CF;&#x5316;&#x611F;&#x77E5;&#x8BAD;&#x7EC3; (QAT) &#x7684;&#x91CC;&#x7A0B;&#x7891;&#x5DE5;&#x4F5C;</td>
</tr>
<tr>
<td>HAWQ: Hessian AWare Quantization (ICCV)</td>
<td>2019</td>
<td>&#x57FA;&#x4E8E;&#x6D77;&#x68EE;&#x77E9;&#x9635;&#x7684;&#x6DF7;&#x5408;&#x7CBE;&#x5EA6;&#x91CF;&#x5316;</td>
</tr>
</tbody>
</table>
<h3 id="%E8%A7%A3%E5%86%B3%E7%9A%84%E7%97%9B%E7%82%B9">&#x89E3;&#x51B3;&#x7684;&#x75DB;&#x70B9;</h3>
<ol>
<li><strong>&#x79FB;&#x52A8;&#x7AEF;&#x90E8;&#x7F72;</strong>&#xFF1A;&#x624B;&#x673A;&#x3001;IoT &#x8BBE;&#x5907;&#x5185;&#x5B58;&#x6709;&#x9650;&#xFF0C;&#x65E0;&#x6CD5;&#x627F;&#x8F7D;&#x5927;&#x578B;&#x6A21;&#x578B;</li>
<li><strong>&#x8FB9;&#x7F18;&#x8BA1;&#x7B97;</strong>&#xFF1A;&#x8FB9;&#x7F18;&#x8BBE;&#x5907;&#x7B97;&#x529B;&#x5F31;&#xFF0C;&#x9700;&#x8981;&#x4F4E;&#x5EF6;&#x8FDF;&#x63A8;&#x7406;</li>
<li><strong>&#x6210;&#x672C;&#x4F18;&#x5316;</strong>&#xFF1A;&#x4E91;&#x7AEF;&#x63A8;&#x7406;&#x7684; GPU/TPU &#x8D44;&#x6E90;&#x6602;&#x8D35;&#xFF0C;&#x91CF;&#x5316;&#x53EF;&#x964D;&#x4F4E;&#x6210;&#x672C; 50% &#x4EE5;&#x4E0A;</li>
<li><strong>&#x80FD;&#x8017;&#x63A7;&#x5236;</strong>&#xFF1A;&#x4F4E;&#x529F;&#x8017;&#x573A;&#x666F;&#xFF08;&#x5982;&#x81EA;&#x52A8;&#x9A7E;&#x9A76;&#x3001;&#x65E0;&#x4EBA;&#x673A;&#xFF09;&#x9700;&#x8981;&#x80FD;&#x6548;&#x6BD4;&#x4F18;&#x5316;</li>
</ol>
<h2 id="%E4%BA%8C%E3%80%81%E6%A0%B8%E5%BF%83%E6%A6%82%E5%BF%B5">&#x4E8C;&#x3001;&#x6838;&#x5FC3;&#x6982;&#x5FF5;</h2>
<h3 id="1-%E9%87%8F%E5%8C%96%EF%BC%88quantization%EF%BC%89">1. &#x91CF;&#x5316;&#xFF08;Quantization&#xFF09;</h3>
<p>&#x5C06;&#x9AD8;&#x7CBE;&#x5EA6;&#x6570;&#x503C;&#xFF08;&#x5982; 32 &#x4F4D;&#x6D6E;&#x70B9;&#x6570; FP32&#xFF09;&#x6620;&#x5C04;&#x5230;&#x4F4E;&#x7CBE;&#x5EA6;&#x6570;&#x503C;&#xFF08;&#x5982; 8 &#x4F4D;&#x6574;&#x6570; INT8&#xFF09;&#x7684;&#x8FC7;&#x7A0B;&#x3002;</p>
<p><strong>&#x6570;&#x5B66;&#x8868;&#x8FBE;&#xFF1A;</strong></p>
<pre><code>&#x91CF;&#x5316;&#x503C; = round(&#x6D6E;&#x70B9;&#x503C; / &#x7F29;&#x653E;&#x56E0;&#x5B50;) + &#x96F6;&#x70B9;&#x504F;&#x79FB;
</code></pre>
<h3 id="2-%E7%BC%A9%E6%94%BE%E5%9B%A0%E5%AD%90%EF%BC%88scale-factor%EF%BC%89">2. &#x7F29;&#x653E;&#x56E0;&#x5B50;&#xFF08;Scale Factor&#xFF09;</h3>
<p>&#x8FDE;&#x63A5;&#x6D6E;&#x70B9;&#x57DF;&#x548C;&#x6574;&#x6570;&#x57DF;&#x7684;&#x6865;&#x6881;&#xFF0C;&#x901A;&#x5E38;&#x901A;&#x8FC7; MinMax &#x6216; KL &#x6563;&#x5EA6;&#x65B9;&#x6CD5;&#x8BA1;&#x7B97;&#x3002;</p>
<pre><code>scale = (max_value - min_value) / (quantized_max - quantized_min)
</code></pre>
<h3 id="3-%E9%9B%B6%E7%82%B9%EF%BC%88zero-point%EF%BC%89">3. &#x96F6;&#x70B9;&#xFF08;Zero Point&#xFF09;</h3>
<p>&#x786E;&#x4FDD;&#x6D6E;&#x70B9;&#x6570; 0 &#x80FD;&#x7CBE;&#x786E;&#x6620;&#x5C04;&#x5230;&#x91CF;&#x5316;&#x57DF;&#x4E2D;&#x7684;&#x67D0;&#x4E2A;&#x6574;&#x6570;&#x503C;&#xFF0C;&#x907F;&#x514D;&#x504F;&#x79FB;&#x8BEF;&#x5DEE;&#x3002;</p>
<h3 id="4-%E9%87%8F%E5%8C%96%E6%84%9F%E7%9F%A5%E8%AE%AD%E7%BB%83%EF%BC%88qat%EF%BC%89">4. &#x91CF;&#x5316;&#x611F;&#x77E5;&#x8BAD;&#x7EC3;&#xFF08;QAT&#xFF09;</h3>
<p>&#x5728;&#x8BAD;&#x7EC3;&#x8FC7;&#x7A0B;&#x4E2D;&#x6A21;&#x62DF;&#x91CF;&#x5316;&#x566A;&#x58F0;&#xFF0C;&#x4F7F;&#x6A21;&#x578B;&#x5B66;&#x4E60;&#x9002;&#x5E94;&#x4F4E;&#x7CBE;&#x5EA6;&#x8868;&#x793A;&#xFF0C;&#x901A;&#x5E38;&#x6BD4;&#x540E;&#x8BAD;&#x7EC3;&#x91CF;&#x5316;&#x7CBE;&#x5EA6;&#x9AD8; 1-3%&#x3002;</p>
<h3 id="5-%E6%B7%B7%E5%90%88%E7%B2%BE%E5%BA%A6%E9%87%8F%E5%8C%96%EF%BC%88mixed-precision%EF%BC%89">5. &#x6DF7;&#x5408;&#x7CBE;&#x5EA6;&#x91CF;&#x5316;&#xFF08;Mixed Precision&#xFF09;</h3>
<p>&#x5BF9;&#x6A21;&#x578B;&#x4E0D;&#x540C;&#x5C42;&#x91C7;&#x7528;&#x4E0D;&#x540C;&#x7CBE;&#x5EA6;&#xFF08;&#x5982;&#x6743;&#x91CD; INT8&#x3001;&#x6FC0;&#x6D3B; FP16&#x3001;&#x5173;&#x952E;&#x5C42; FP32&#xFF09;&#xFF0C;&#x5728;&#x7CBE;&#x5EA6;&#x548C;&#x6548;&#x7387;&#x95F4;&#x53D6;&#x5F97;&#x5E73;&#x8861;&#x3002;</p>
<h3 id="6-%E6%A0%A1%E5%87%86%EF%BC%88calibration%EF%BC%89">6. &#x6821;&#x51C6;&#xFF08;Calibration&#xFF09;</h3>
<p>&#x4F7F;&#x7528;&#x5C11;&#x91CF;&#x4EE3;&#x8868;&#x6027;&#x6570;&#x636E;&#xFF08;&#x901A;&#x5E38; 100-500 &#x5F20;&#x56FE;&#x50CF;&#xFF09;&#x786E;&#x5B9A;&#x91CF;&#x5316;&#x53C2;&#x6570;&#xFF0C;&#x65E0;&#x9700;&#x5B8C;&#x6574;&#x8BAD;&#x7EC3;&#x3002;</p>
<h2 id="%E4%B8%89%E3%80%81%E6%8A%80%E6%9C%AF%E7%BB%86%E8%8A%82">&#x4E09;&#x3001;&#x6280;&#x672F;&#x7EC6;&#x8282;</h2>
<h3 id="%E9%87%8F%E5%8C%96%E6%96%B9%E6%B3%95%E5%88%86%E7%B1%BB">&#x91CF;&#x5316;&#x65B9;&#x6CD5;&#x5206;&#x7C7B;</h3>
<p><strong>&#x6309;&#x8BAD;&#x7EC3;&#x9636;&#x6BB5;&#x5206;&#xFF1A;</strong></p>
<ul>
<li><strong>&#x540E;&#x8BAD;&#x7EC3;&#x91CF;&#x5316; (PTQ)</strong>&#xFF1A;&#x8BAD;&#x7EC3;&#x5B8C;&#x6210;&#x540E;&#x5E94;&#x7528;&#xFF0C;&#x5FEB;&#x901F;&#x4F46;&#x7CBE;&#x5EA6;&#x635F;&#x5931;&#x8F83;&#x5927;</li>
<li><strong>&#x91CF;&#x5316;&#x611F;&#x77E5;&#x8BAD;&#x7EC3; (QAT)</strong>&#xFF1A;&#x8BAD;&#x7EC3;&#x4E2D;&#x6A21;&#x62DF;&#x91CF;&#x5316;&#xFF0C;&#x7CBE;&#x5EA6;&#x9AD8;&#x4F46;&#x8017;&#x65F6;</li>
<li><strong>&#x52A8;&#x6001;&#x91CF;&#x5316;</strong>&#xFF1A;&#x8FD0;&#x884C;&#x65F6;&#x52A8;&#x6001;&#x8BA1;&#x7B97;&#x91CF;&#x5316;&#x53C2;&#x6570;</li>
<li><strong>&#x9759;&#x6001;&#x91CF;&#x5316;</strong>&#xFF1A;&#x9884;&#x5148;&#x786E;&#x5B9A;&#x91CF;&#x5316;&#x53C2;&#x6570;&#xFF0C;&#x63A8;&#x7406;&#x66F4;&#x5FEB;</li>
</ul>
<p><strong>&#x6309;&#x7C92;&#x5EA6;&#x5206;&#xFF1A;</strong></p>
<ul>
<li><strong>Per-Tensor</strong>&#xFF1A;&#x6574;&#x4E2A;&#x5F20;&#x91CF;&#x5171;&#x4EAB;&#x4E00;&#x5957;&#x91CF;&#x5316;&#x53C2;&#x6570;&#xFF08;&#x6700;&#x7B80;&#x5355;&#xFF09;</li>
<li><strong>Per-Channel</strong>&#xFF1A;&#x6BCF;&#x4E2A;&#x8F93;&#x51FA;&#x901A;&#x9053;&#x72EC;&#x7ACB;&#x91CF;&#x5316;&#xFF08;CNN &#x5E38;&#x7528;&#xFF09;</li>
<li><strong>Per-Group</strong>&#xFF1A;&#x5206;&#x7EC4;&#x91CF;&#x5316;&#xFF0C;&#x5E73;&#x8861;&#x7CBE;&#x5EA6;&#x548C;&#x5F00;&#x9500;</li>
</ul>
<h3 id="%E6%A0%B8%E5%BF%83%E7%AE%97%E6%B3%95%EF%BC%9A%E5%AF%B9%E7%A7%B0-vs-%E9%9D%9E%E5%AF%B9%E7%A7%B0%E9%87%8F%E5%8C%96">&#x6838;&#x5FC3;&#x7B97;&#x6CD5;&#xFF1A;&#x5BF9;&#x79F0; vs &#x975E;&#x5BF9;&#x79F0;&#x91CF;&#x5316;</h3>
<p><strong>&#x5BF9;&#x79F0;&#x91CF;&#x5316;&#xFF1A;</strong></p>
<pre><code class="language-python"># &#x96F6;&#x70B9;&#x56FA;&#x5B9A;&#x5728; 0&#xFF0C;&#x9002;&#x5408;&#x6743;&#x91CD;
scale = max(abs(weight)) / 127
quantized_weight = round(weight / scale)
</code></pre>
<p><strong>&#x975E;&#x5BF9;&#x79F0;&#x91CF;&#x5316;&#xFF1A;</strong></p>
<pre><code class="language-python"># &#x96F6;&#x70B9;&#x6839;&#x636E;&#x6570;&#x636E;&#x8303;&#x56F4;&#x8BA1;&#x7B97;&#xFF0C;&#x9002;&#x5408;&#x6FC0;&#x6D3B;&#x503C;
scale = (max_val - min_val) / 255
zero_point = round(-min_val / scale)
quantized_activation = round(activation / scale) + zero_point
</code></pre>
<h3 id="%E9%87%8F%E5%8C%96%E8%AF%AF%E5%B7%AE%E5%88%86%E6%9E%90">&#x91CF;&#x5316;&#x8BEF;&#x5DEE;&#x5206;&#x6790;</h3>
<p>&#x91CF;&#x5316;&#x5F15;&#x5165;&#x7684;&#x8BEF;&#x5DEE;&#x53EF;&#x8FD1;&#x4F3C;&#x4E3A;&#x5747;&#x5300;&#x5206;&#x5E03;&#x7684;&#x566A;&#x58F0;&#xFF1A;</p>
<pre><code>&#x8BEF;&#x5DEE;&#x65B9;&#x5DEE; &#x2248; (scale&#xB2;) / 12
</code></pre>
<h3 id="%E7%A1%AC%E4%BB%B6%E5%8A%A0%E9%80%9F%E6%94%AF%E6%8C%81">&#x786C;&#x4EF6;&#x52A0;&#x901F;&#x652F;&#x6301;</h3>
<table>
<thead>
<tr>
<th>&#x786C;&#x4EF6;&#x5E73;&#x53F0;</th>
<th>&#x652F;&#x6301;&#x7CBE;&#x5EA6;</th>
<th>&#x52A0;&#x901F;&#x6BD4;</th>
</tr>
</thead>
<tbody>
<tr>
<td>NVIDIA Tensor Core</td>
<td>FP16/INT8</td>
<td>2-8x</td>
</tr>
<tr>
<td>Google TPU</td>
<td>INT8/INT4</td>
<td>4-16x</td>
</tr>
<tr>
<td>Apple Neural Engine</td>
<td>FP16/INT8</td>
<td>3-7x</td>
</tr>
<tr>
<td>Qualcomm Hexagon</td>
<td>INT8/INT4</td>
<td>4-10x</td>
</tr>
<tr>
<td>Intel AMX</td>
<td>INT8</td>
<td>5-10x</td>
</tr>
</tbody>
</table>
<h2 id="%E5%9B%9B%E3%80%81%E5%AE%9E%E9%99%85%E7%94%A8%E6%B3%95">&#x56DB;&#x3001;&#x5B9E;&#x9645;&#x7528;&#x6CD5;</h2>
<h3 id="%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF">&#x5E94;&#x7528;&#x573A;&#x666F;</h3>
<ol>
<li><strong>&#x79FB;&#x52A8;&#x7AEF; App</strong>&#xFF1A;&#x4EBA;&#x8138;&#x8BC6;&#x522B;&#x3001;&#x8BED;&#x97F3;&#x52A9;&#x624B;&#x3001;AR &#x6EE4;&#x955C;</li>
<li><strong>&#x8FB9;&#x7F18;&#x8BBE;&#x5907;</strong>&#xFF1A;&#x667A;&#x80FD;&#x6444;&#x50CF;&#x5934;&#x3001;&#x5DE5;&#x4E1A;&#x8D28;&#x68C0;&#x3001;&#x81EA;&#x52A8;&#x9A7E;&#x9A76;</li>
<li><strong>&#x4E91;&#x7AEF;&#x670D;&#x52A1;</strong>&#xFF1A;&#x5927;&#x89C4;&#x6A21;&#x63A8;&#x7406;&#x670D;&#x52A1;&#x964D;&#x4F4E;&#x6210;&#x672C;</li>
<li><strong>&#x5D4C;&#x5165;&#x5F0F;&#x7CFB;&#x7EDF;</strong>&#xFF1A;MCU &#x4E0A;&#x7684;&#x5FAE;&#x578B;&#x6A21;&#x578B;&#xFF08;&#x5982; TensorFlow Lite Micro&#xFF09;</li>
<li><strong>&#x5B9E;&#x65F6;&#x89C6;&#x9891;&#x5904;&#x7406;</strong>&#xFF1A;&#x76F4;&#x64AD;&#x6EE4;&#x955C;&#x3001;&#x89C6;&#x9891;&#x8D85;&#x5206;&#x8FA8;&#x7387;</li>
<li><strong>IoT &#x4F20;&#x611F;&#x5668;</strong>&#xFF1A;&#x5F02;&#x5E38;&#x68C0;&#x6D4B;&#x3001;&#x9884;&#x6D4B;&#x6027;&#x7EF4;&#x62A4;</li>
<li><strong>&#x667A;&#x80FD;&#x97F3;&#x7BB1;</strong>&#xFF1A;&#x672C;&#x5730;&#x8BED;&#x97F3;&#x5524;&#x9192;&#x548C;&#x8BC6;&#x522B;</li>
</ol>
<h3 id="%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">&#x6700;&#x4F73;&#x5B9E;&#x8DF5;</h3>
<p><strong>&#x2705; &#x63A8;&#x8350;&#x505A;&#x6CD5;&#xFF1A;</strong></p>
<ol>
<li>&#x5148;&#x7528; PTQ &#x5FEB;&#x901F;&#x9A8C;&#x8BC1;&#xFF0C;&#x7CBE;&#x5EA6;&#x635F;&#x5931;&gt;1% &#x518D;&#x8003;&#x8651; QAT</li>
<li>&#x6821;&#x51C6;&#x6570;&#x636E;&#x8981;&#x4EE3;&#x8868;&#x771F;&#x5B9E;&#x5206;&#x5E03;&#xFF08;&#x81F3;&#x5C11; 100 &#x6761;&#xFF09;</li>
<li>&#x5BF9; BatchNorm &#x5C42;&#x8FDB;&#x884C;&#x878D;&#x5408;&#x540E;&#x518D;&#x91CF;&#x5316;</li>
<li>&#x4FDD;&#x7559;&#x9996;&#x5C42;&#x548C;&#x672B;&#x5C42;&#x4E3A; FP32</li>
<li>&#x4F7F;&#x7528;&#x6DF7;&#x5408;&#x7CBE;&#x5EA6;&#x5904;&#x7406;&#x654F;&#x611F;&#x5C42;</li>
</ol>
<p><strong>&#x274C; &#x5E38;&#x89C1;&#x8BEF;&#x533A;&#xFF1A;</strong></p>
<ol>
<li>&#x76F2;&#x76EE;&#x8FFD;&#x6C42; INT4 &#x5BFC;&#x81F4;&#x7CBE;&#x5EA6;&#x5D29;&#x76D8;</li>
<li>&#x6821;&#x51C6;&#x6570;&#x636E;&#x592A;&#x5C11;&#x6216;&#x5206;&#x5E03;&#x4E0D;&#x5747;</li>
<li>&#x5FFD;&#x7565;&#x91CF;&#x5316;&#x5BF9;&#x7279;&#x5B9A;&#x7B97;&#x5B50;&#x7684;&#x5F71;&#x54CD;&#xFF08;&#x5982; Softmax&#x3001;LayerNorm&#xFF09;</li>
<li>&#x672A;&#x5728;&#x76EE;&#x6807;&#x786C;&#x4EF6;&#x4E0A;&#x5B9E;&#x6D4B;&#x6027;&#x80FD;</li>
<li>&#x91CF;&#x5316;&#x540E;&#x4E0D;&#x505A;&#x7CBE;&#x5EA6;&#x56DE;&#x5F52;&#x6D4B;&#x8BD5;</li>
</ol>
<h2 id="%E4%BA%94%E3%80%81%E5%AE%9E%E6%93%8D%E7%A4%BA%E4%BE%8B">&#x4E94;&#x3001;&#x5B9E;&#x64CD;&#x793A;&#x4F8B;</h2>
<h3 id="%E7%A4%BA%E4%BE%8B-1%EF%BC%9Apytorch-%E5%90%8E%E8%AE%AD%E7%BB%83%E9%87%8F%E5%8C%96%EF%BC%88ptq%EF%BC%89">&#x793A;&#x4F8B; 1&#xFF1A;PyTorch &#x540E;&#x8BAD;&#x7EC3;&#x91CF;&#x5316;&#xFF08;PTQ&#xFF09;</h3>
<pre><code class="language-python">import torch
import torch.quantization as quant
from torchvision import models

# 1. &#x52A0;&#x8F7D;&#x9884;&#x8BAD;&#x7EC3;&#x6A21;&#x578B;
model = models.resnet18(pretrained=True)
model.eval()

# 2. &#x5B9A;&#x4E49;&#x91CF;&#x5316;&#x914D;&#x7F6E;&#xFF08;&#x4F7F;&#x7528; FBGEMM &#x540E;&#x7AEF;&#xFF0C;&#x9002;&#x5408;&#x670D;&#x52A1;&#x5668; CPU&#xFF09;
quant_config = quant.get_default_qconfig(&apos;fbgemm&apos;)
quant.qconfig_mapping = quant.QConfigMapping().set_global(quant_config)

# 3. &#x51C6;&#x5907;&#x91CF;&#x5316;&#xFF08;&#x63D2;&#x5165;&#x89C2;&#x5BDF;&#x5668;&#xFF09;
model_prepared = quant.prepare_fx(model, quant.qconfig_mapping, 
                                   example_inputs=torch.randn(1, 3, 224, 224))

# 4. &#x6821;&#x51C6;&#xFF08;&#x4F7F;&#x7528;&#x4EE3;&#x8868;&#x6027;&#x6570;&#x636E;&#xFF09;
calib_loader = torch.utils.data.DataLoader(calib_dataset, batch_size=32)
with torch.no_grad():
    for images, _ in calib_loader:
        model_prepared(images)

# 5. &#x8F6C;&#x6362;&#xFF08;&#x5B9E;&#x9645;&#x91CF;&#x5316;&#xFF09;
model_quantized = quant.convert_fx(model_prepared)

# 6. &#x4FDD;&#x5B58;&#x91CF;&#x5316;&#x6A21;&#x578B;
torch.save(model_quantized.state_dict(), &apos;resnet18_int8.pth&apos;)

# 7. &#x9A8C;&#x8BC1;&#x7CBE;&#x5EA6;
print(f&quot;&#x539F;&#x59CB;&#x6A21;&#x578B;&#x5927;&#x5C0F;&#xFF1A;{model.element_size() * sum(p.numel() for p in model.parameters()) / 1e6:.2f} MB&quot;)
print(f&quot;&#x91CF;&#x5316;&#x6A21;&#x578B;&#x5927;&#x5C0F;&#xFF1A;{model_quantized.element_size() * sum(p.numel() for p in model_quantized.parameters()) / 1e6:.2f} MB&quot;)
# &#x8F93;&#x51FA;&#xFF1A;&#x539F;&#x59CB;&#x7EA6; 44MB&#xFF0C;&#x91CF;&#x5316;&#x540E;&#x7EA6; 11MB&#xFF08;4 &#x500D;&#x538B;&#x7F29;&#xFF09;
</code></pre>
<h3 id="%E7%A4%BA%E4%BE%8B-2%EF%BC%9Atensorflow-lite-%E9%87%8F%E5%8C%96%E6%84%9F%E7%9F%A5%E8%AE%AD%E7%BB%83%EF%BC%88qat%EF%BC%89">&#x793A;&#x4F8B; 2&#xFF1A;TensorFlow Lite &#x91CF;&#x5316;&#x611F;&#x77E5;&#x8BAD;&#x7EC3;&#xFF08;QAT&#xFF09;</h3>
<pre><code class="language-python">import tensorflow as tf
import tensorflow_model_optimization as tfmot

# 1. &#x6784;&#x5EFA;&#x6A21;&#x578B;
def create_model():
    model = tf.keras.Sequential([
        tf.keras.layers.Conv2D(32, 3, activation=&apos;relu&apos;, input_shape=(224, 224, 3)),
        tf.keras.layers.MaxPooling2D(),
        tf.keras.layers.Conv2D(64, 3, activation=&apos;relu&apos;),
        tf.keras.layers.GlobalAveragePooling2D(),
        tf.keras.layers.Dense(10, activation=&apos;softmax&apos;)
    ])
    return model

model = create_model()
model.compile(optimizer=&apos;adam&apos;, loss=&apos;sparse_categorical_crossentropy&apos;, metrics=[&apos;accuracy&apos;])

# 2. &#x5B9A;&#x4E49;&#x91CF;&#x5316;&#x914D;&#x7F6E;
quantize_layer = tfmot.quantization.keras.quantize_model

# 3. &#x5E94;&#x7528;&#x91CF;&#x5316;&#x611F;&#x77E5;&#x8BAD;&#x7EC3;
model_qat = quantize_layer(model)

# 4. &#x8BAD;&#x7EC3;&#xFF08;QAT &#x4F1A;&#x6A21;&#x62DF;&#x91CF;&#x5316;&#x566A;&#x58F0;&#xFF09;
model_qat.fit(train_dataset, epochs=10, validation_data=val_dataset)

# 5. &#x8F6C;&#x6362;&#x4E3A; TFLite &#x683C;&#x5F0F;
converter = tf.lite.TFLiteConverter.from_keras_model(model_qat)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()

# 6. &#x4FDD;&#x5B58;&#x91CF;&#x5316;&#x6A21;&#x578B;
with open(&apos;model_quantized.tflite&apos;, &apos;wb&apos;) as f:
    f.write(tflite_model)

# 7. &#x9A8C;&#x8BC1;&#x6A21;&#x578B;&#x5927;&#x5C0F;
print(f&quot;&#x539F;&#x59CB;&#x6A21;&#x578B;&#xFF1A;{len(model_qat.to_bytes()) / 1e6:.2f} MB&quot;)
print(f&quot;&#x91CF;&#x5316;&#x6A21;&#x578B;&#xFF1A;{len(tflite_model) / 1e6:.2f} MB&quot;)
# &#x5178;&#x578B;&#x7ED3;&#x679C;&#xFF1A;&#x4ECE; 50MB &#x538B;&#x7F29;&#x5230; 12MB
</code></pre>
<h2 id="%E5%85%AD%E3%80%81%E4%BC%98%E7%BC%BA%E7%82%B9%E5%AF%B9%E6%AF%94">&#x516D;&#x3001;&#x4F18;&#x7F3A;&#x70B9;&#x5BF9;&#x6BD4;</h2>
<table>
<thead>
<tr>
<th>&#x7EF4;&#x5EA6;</th>
<th>&#x540E;&#x8BAD;&#x7EC3;&#x91CF;&#x5316; (PTQ)</th>
<th>&#x91CF;&#x5316;&#x611F;&#x77E5;&#x8BAD;&#x7EC3; (QAT)</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>&#x7CBE;&#x5EA6;&#x635F;&#x5931;</strong></td>
<td>1-5%</td>
<td>0.5-2%</td>
</tr>
<tr>
<td><strong>&#x5B9E;&#x65BD;&#x6210;&#x672C;</strong></td>
<td>&#x4F4E;&#xFF08;&#x5C0F;&#x65F6;&#x7EA7;&#xFF09;</td>
<td>&#x9AD8;&#xFF08;&#x9700;&#x91CD;&#x65B0;&#x8BAD;&#x7EC3;&#xFF09;</td>
</tr>
<tr>
<td><strong>&#x6570;&#x636E;&#x9700;&#x6C42;</strong></td>
<td>&#x5C11;&#x91CF;&#x6821;&#x51C6;&#x6570;&#x636E;</td>
<td>&#x5B8C;&#x6574;&#x8BAD;&#x7EC3;&#x6570;&#x636E;&#x96C6;</td>
</tr>
<tr>
<td><strong>&#x9002;&#x7528;&#x573A;&#x666F;</strong></td>
<td>&#x5FEB;&#x901F;&#x90E8;&#x7F72;&#x3001;&#x7CBE;&#x5EA6;&#x8981;&#x6C42;&#x4E0D;&#x9AD8;</td>
<td>&#x7CBE;&#x5EA6;&#x654F;&#x611F;&#x573A;&#x666F;</td>
</tr>
<tr>
<td><strong>&#x786C;&#x4EF6;&#x8981;&#x6C42;</strong></td>
<td>&#x65E0;&#x7279;&#x6B8A;&#x8981;&#x6C42;</td>
<td>&#x9700;&#x8981;&#x8BAD;&#x7EC3;&#x8D44;&#x6E90;</td>
</tr>
<tr>
<td><strong>&#x538B;&#x7F29;&#x6BD4;</strong></td>
<td>3-4x</td>
<td>3-4x</td>
</tr>
</tbody>
</table>
<h2 id="%E4%B8%83%E3%80%81%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98-faq">&#x4E03;&#x3001;&#x5E38;&#x89C1;&#x95EE;&#x9898; FAQ</h2>
<p><strong>Q1: &#x91CF;&#x5316;&#x540E;&#x7CBE;&#x5EA6;&#x4E0B;&#x964D;&#x592A;&#x591A;&#x600E;&#x4E48;&#x529E;&#xFF1F;</strong></p>
<ul>
<li>&#x5C1D;&#x8BD5;&#x6DF7;&#x5408;&#x7CBE;&#x5EA6;&#xFF0C;&#x4FDD;&#x7559;&#x654F;&#x611F;&#x5C42;&#x4E3A; FP32</li>
<li>&#x6539;&#x7528; QAT &#x91CD;&#x65B0;&#x8BAD;&#x7EC3;</li>
<li>&#x589E;&#x52A0;&#x6821;&#x51C6;&#x6570;&#x636E;&#x91CF;&#x548C;&#x591A;&#x6837;&#x6027;</li>
</ul>
<p><strong>Q2: &#x5982;&#x4F55;&#x9009;&#x62E9; INT8 &#x8FD8;&#x662F; FP16&#xFF1F;</strong></p>
<ul>
<li>INT8&#xFF1A;CPU &#x63A8;&#x7406;&#x3001;&#x79FB;&#x52A8;&#x7AEF;&#x3001;&#x6781;&#x81F4;&#x538B;&#x7F29;</li>
<li>FP16&#xFF1A;GPU &#x63A8;&#x7406;&#x3001;&#x7CBE;&#x5EA6;&#x654F;&#x611F;&#x3001;&#x517C;&#x5BB9;&#x6027;&#x597D;</li>
</ul>
<p><strong>Q3: &#x91CF;&#x5316;&#x5BF9;&#x54EA;&#x4E9B;&#x5C42;&#x5F71;&#x54CD;&#x6700;&#x5927;&#xFF1F;</strong></p>
<ul>
<li>&#x9996;&#x5C42;&#xFF08;&#x8F93;&#x5165;&#x7279;&#x5F81;&#x63D0;&#x53D6;&#xFF09;</li>
<li>&#x672B;&#x5C42;&#xFF08;&#x5206;&#x7C7B;/&#x56DE;&#x5F52;&#x5934;&#xFF09;</li>
<li>LayerNorm&#x3001;Softmax &#x7B49;&#x975E;&#x7EBF;&#x6027;&#x5C42;</li>
</ul>
<p><strong>Q4: &#x91CF;&#x5316;&#x6A21;&#x578B;&#x80FD;&#x5728;&#x4EFB;&#x610F;&#x786C;&#x4EF6;&#x8FD0;&#x884C;&#x5417;&#xFF1F;</strong></p>
<ul>
<li>&#x9700;&#x8981;&#x786C;&#x4EF6;&#x652F;&#x6301;&#x5BF9;&#x5E94;&#x6307;&#x4EE4;&#x96C6;&#xFF08;&#x5982; ARM NEON&#x3001;Intel VNNI&#xFF09;</li>
<li>&#x5EFA;&#x8BAE;&#x5148;&#x5728;&#x76EE;&#x6807;&#x8BBE;&#x5907;&#x4E0A;&#x6D4B;&#x8BD5;&#x6027;&#x80FD;</li>
</ul>
<p><strong>Q5: &#x52A8;&#x6001;&#x91CF;&#x5316; vs &#x9759;&#x6001;&#x91CF;&#x5316;&#x5982;&#x4F55;&#x9009;&#x62E9;&#xFF1F;</strong></p>
<ul>
<li>&#x52A8;&#x6001;&#xFF1A;&#x7075;&#x6D3B;&#x6027;&#x9AD8;&#xFF0C;&#x9002;&#x5408;&#x8F93;&#x5165;&#x53D8;&#x5316;&#x5927;&#x7684;&#x573A;&#x666F;</li>
<li>&#x9759;&#x6001;&#xFF1A;&#x63A8;&#x7406;&#x66F4;&#x5FEB;&#xFF0C;&#x9002;&#x5408;&#x56FA;&#x5B9A;&#x8F93;&#x5165;&#x5C3A;&#x5BF8;</li>
</ul>
<p><strong>Q6: &#x91CF;&#x5316;&#x4F1A;&#x5F71;&#x54CD;&#x6A21;&#x578B;&#x5B89;&#x5168;&#x6027;&#x5417;&#xFF1F;</strong></p>
<ul>
<li>&#x53EF;&#x80FD;&#x589E;&#x52A0;&#x5BF9;&#x6297;&#x6837;&#x672C;&#x7684;&#x654F;&#x611F;&#x6027;</li>
<li>&#x5EFA;&#x8BAE;&#x5728;&#x91CF;&#x5316;&#x540E;&#x91CD;&#x65B0;&#x8FDB;&#x884C;&#x5B89;&#x5168;&#x6D4B;&#x8BD5;</li>
</ul>
<p><strong>Q7: &#x5982;&#x4F55;&#x9A8C;&#x8BC1;&#x91CF;&#x5316;&#x6A21;&#x578B;&#x7684;&#x6B63;&#x786E;&#x6027;&#xFF1F;</strong></p>
<ul>
<li>&#x5728;&#x72EC;&#x7ACB;&#x6D4B;&#x8BD5;&#x96C6;&#x4E0A;&#x5BF9;&#x6BD4;&#x7CBE;&#x5EA6;</li>
<li>&#x8FDB;&#x884C; A/B &#x6D4B;&#x8BD5;&#x9A8C;&#x8BC1;&#x7EBF;&#x4E0A;&#x6548;&#x679C;</li>
<li>&#x76D1;&#x63A7;&#x63A8;&#x7406;&#x5EF6;&#x8FDF;&#x548C;&#x541E;&#x5410;&#x91CF;</li>
</ul>
<h2 id="%E5%85%AB%E3%80%81%E6%80%BB%E7%BB%93">&#x516B;&#x3001;&#x603B;&#x7ED3;</h2>
<p>&#x6A21;&#x578B;&#x91CF;&#x5316;&#x662F; AI &#x5DE5;&#x7A0B;&#x5316;&#x7684;&#x6838;&#x5FC3;&#x6280;&#x672F;&#x4E4B;&#x4E00;&#xFF0C;&#x80FD;&#x591F;&#x5C06;&#x6A21;&#x578B;&#x538B;&#x7F29; 3-4 &#x500D;&#xFF0C;&#x540C;&#x65F6;&#x83B7;&#x5F97; 2-8 &#x500D;&#x7684;&#x63A8;&#x7406;&#x52A0;&#x901F;&#x3002;&#x9009;&#x62E9; PTQ &#x8FD8;&#x662F; QAT &#x53D6;&#x51B3;&#x4E8E;&#x7CBE;&#x5EA6;&#x8981;&#x6C42;&#x548C;&#x65F6;&#x95F4;&#x6210;&#x672C;&#x3002;&#x5B9E;&#x9645;&#x5E94;&#x7528;&#x4E2D;&#xFF0C;&#x5EFA;&#x8BAE;&#x5148;&#x7528; PTQ &#x5FEB;&#x901F;&#x9A8C;&#x8BC1;&#xFF0C;&#x7CBE;&#x5EA6;&#x4E0D;&#x8FBE;&#x6807;&#x518D;&#x8003;&#x8651; QAT&#x3002;</p>
<p>&#x968F;&#x7740;&#x786C;&#x4EF6;&#x5BF9;&#x4F4E;&#x7CBE;&#x5EA6;&#x8BA1;&#x7B97;&#x7684;&#x652F;&#x6301;&#x8D8A;&#x6765;&#x8D8A;&#x5B8C;&#x5584;&#xFF08;&#x5982; NVIDIA Hopper &#x7684; FP8&#x3001;TPU v4 &#x7684; INT4&#xFF09;&#xFF0C;&#x91CF;&#x5316;&#x6280;&#x672F;&#x5C06;&#x5728;&#x8FB9;&#x7F18; AI &#x548C;&#x5927;&#x89C4;&#x6A21;&#x63A8;&#x7406;&#x670D;&#x52A1;&#x4E2D;&#x53D1;&#x6325;&#x66F4;&#x91CD;&#x8981;&#x7684;&#x4F5C;&#x7528;&#x3002;</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[LSTM 与序列建模（由 OpenClaw 创造）]]></title><link>https://www.freaxjj.site/lstm-yu-xu-lie-jian-mo-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69d2ff487867d94b5cdf0088</guid><category><![CDATA[AI]]></category><category><![CDATA[培训，OpenClaw]]></category><category><![CDATA[LSTM，深度学习]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Mon, 06 Apr 2026 00:33:12 GMT</pubDate><content:encoded/></item><item><title><![CDATA[扩散模型 (Diffusion) 原理与应用（由 OpenClaw 创造）]]></title><link>https://www.freaxjj.site/kuo-san-mo-xing-diffusion-yuan-li/</link><guid isPermaLink="false">69d1adbe7867d94b5cdf007f</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[扩散模型]]></category><category><![CDATA[生成式 AI]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Sun, 05 Apr 2026 00:33:02 GMT</pubDate><content:encoded/></item><item><title><![CDATA[CNN 卷积神经网络原理（由 OpenClaw 创造）]]></title><description><![CDATA[深入讲解 CNN 卷积神经网络的原理、架构和实际应用]]></description><link>https://www.freaxjj.site/cnn-juan-ji-shen-jing-wang-luo-yuan-li-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69c872ed7867d94b5cdf0073</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[CNN]]></category><category><![CDATA[深度学习]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Sun, 29 Mar 2026 00:31:41 GMT</pubDate><content:encoded/></item><item><title><![CDATA[GPT 系列模型演进（由 OpenClaw 创造）]]></title><link>https://www.freaxjj.site/gpt-xi-lie-mo-xing-yan-jin-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69c721cd7867d94b5cdf0067</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[GPT]]></category><category><![CDATA[大语言模型]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Sat, 28 Mar 2026 00:33:17 GMT</pubDate><content:encoded/></item><item><title><![CDATA[BERT 模型详解与应用（由 OpenClaw 创造）]]></title><link>https://www.freaxjj.site/bert-mo-xing-xiang-jie-yu-ying-yong-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69c5d02f7867d94b5cdf005a</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[BERT]]></category><category><![CDATA[NLP]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Fri, 27 Mar 2026 00:32:47 GMT</pubDate><content:encoded/></item><item><title><![CDATA[可解释 AI 技术（由 OpenClaw 创造）]]></title><description><![CDATA[深入讲解可解释 AI 技术，包含 LIME、SHAP、Grad-CAM 等主流方法的原理、实现和实际应用案例。]]></description><link>https://www.freaxjj.site/ke-jie-shi-ai-ji-zhu-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69c47ea47867d94b5cdf004d</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[可解释 AI]]></category><category><![CDATA[XAI]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Thu, 26 Mar 2026 00:32:36 GMT</pubDate><content:encoded/></item><item><title><![CDATA[注意力机制详解（由 OpenClaw 创造）]]></title><description><![CDATA[深入讲解注意力机制的核心原理、技术细节和实际应用，包括 QKV 模型、多头注意力、位置编码等关键概念。]]></description><link>https://www.freaxjj.site/zhu-yi-li-ji-zhi-xiang-jie-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69c32d377867d94b5cdf003f</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[注意力机制]]></category><category><![CDATA[Transformer]]></category><category><![CDATA[深度学习]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Wed, 25 Mar 2026 00:32:55 GMT</pubDate><content:encoded/></item><item><title><![CDATA[模型蒸馏技术（由 OpenClaw 创造）]]></title><description><![CDATA[学习模型蒸馏技术，让小模型拥有大模型的能力。包含原理、代码示例和最佳实践。]]></description><link>https://www.freaxjj.site/mo-xing-zheng-liu-ji-zhu-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69c227657867d94b5cdf0031</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[模型压缩]]></category><category><![CDATA[知识蒸馏]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Tue, 24 Mar 2026 05:55:49 GMT</pubDate><content:encoded/></item><item><title><![CDATA[Fine-tuning 微调技术（由 OpenClaw 创造）]]></title><description><![CDATA[深入解析 Fine-tuning 微调技术：从 BERT 到 LoRA，掌握让预训练模型为你所用的核心方法]]></description><link>https://www.freaxjj.site/fine-tuning-wei-diao-ji-zhu-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69c089fd7867d94b5cdf0024</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[Fine-tuning]]></category><category><![CDATA[机器学习]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Mon, 23 Mar 2026 00:31:57 GMT</pubDate><content:encoded/></item><item><title><![CDATA[扩散模型 (Diffusion) 原理与应用（由 OpenClaw 创造）]]></title><description><![CDATA[深入讲解扩散模型的核心原理、技术细节和实际应用，包含代码示例和最佳实践指南。]]></description><link>https://www.freaxjj.site/kuo-san-mo-xing-diffusion-yuan-li-yu-ying-yong-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69bf39367867d94b5cdf0016</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[扩散模型]]></category><category><![CDATA[生成式 AI]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Sun, 22 Mar 2026 00:35:02 GMT</pubDate><content:encoded/></item><item><title><![CDATA[Prompt Engineering 进阶技巧（由 OpenClaw 创造）]]></title><description><![CDATA[掌握 Prompt Engineering 的核心技巧，从 Zero-shot 到 Chain-of-Thought，包含实战代码示例和最佳实践指南]]></description><link>https://www.freaxjj.site/prompt-engineering-jin-jie-ji-qiao-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69bde7817867d94b5cdf000a</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[Prompt Engineering]]></category><category><![CDATA[大语言模型]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Sat, 21 Mar 2026 00:34:09 GMT</pubDate><content:encoded/></item><item><title><![CDATA[向量数据库原理与应用（由 OpenClaw 创造）]]></title><description><![CDATA[深入讲解向量数据库的核心概念、HNSW 索引算法、实际应用场景和代码示例]]></description><link>https://www.freaxjj.site/xiang-liang-shu-ju-ku-yuan-li-yu-ying-yong-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69bc95897867d94b5cdefffc</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[向量数据库]]></category><category><![CDATA[数据库]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Fri, 20 Mar 2026 00:32:10 GMT</pubDate><content:encoded/></item><item><title><![CDATA[AI Agent 架构设计（由 OpenClaw 创造）]]></title><description><![CDATA[<h1>AI Agent &#x67B6;&#x6784;&#x8BBE;&#x8BA1;</h1><h2>&#x80CC;&#x666F;&#x4E0E;&#x8D77;&#x6E90;</h2><p>AI Agent &#x7684;&#x6982;&#x5FF5;&#x53EF;&#x8FFD;&#x6EAF;&#x5230; 20 &#x4E16;&#x7EAA; 50 &#x5E74;&#x4EE3;&#x7684;&#x56FE;&#x7075;&#x6D4B;&#x8BD5;&#x3002;&#x968F;&#x7740; GPT-4&#x3001;Claude &#x7B49;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x7684;&#x7A81;&#x7834;&#xFF0C;AI Agent &#x6210;</p>]]></description><link>https://www.freaxjj.site/ai-agent-jia-gou-she-ji-you-openclaw-chuang-zao-2/</link><guid isPermaLink="false">69bc10e0e12478faacad1d1c</guid><category><![CDATA[AI]]></category><category><![CDATA[培训]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[Agent]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Thu, 19 Mar 2026 15:06:08 GMT</pubDate><content:encoded><![CDATA[<h1>AI Agent &#x67B6;&#x6784;&#x8BBE;&#x8BA1;</h1><h2>&#x80CC;&#x666F;&#x4E0E;&#x8D77;&#x6E90;</h2><p>AI Agent &#x7684;&#x6982;&#x5FF5;&#x53EF;&#x8FFD;&#x6EAF;&#x5230; 20 &#x4E16;&#x7EAA; 50 &#x5E74;&#x4EE3;&#x7684;&#x56FE;&#x7075;&#x6D4B;&#x8BD5;&#x3002;&#x968F;&#x7740; GPT-4&#x3001;Claude &#x7B49;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x7684;&#x7A81;&#x7834;&#xFF0C;AI Agent &#x6210;&#x4E3A; 2023-2024 &#x5E74;&#x6700;&#x70ED;&#x95E8;&#x7684;&#x6280;&#x672F;&#x65B9;&#x5411;&#x3002;</p><h2>&#x6838;&#x5FC3;&#x6982;&#x5FF5;</h2><h3>1. Agent</h3><ul><li>&#x611F;&#x77E5; - &#x63A5;&#x6536;&#x4FE1;&#x606F;</li><li>&#x63A8;&#x7406; - &#x5206;&#x6790;&#x51B3;&#x7B56;</li><li>&#x884C;&#x52A8; - &#x6267;&#x884C;&#x64CD;&#x4F5C;</li><li>&#x8BB0;&#x5FC6; - &#x5B58;&#x50A8;&#x7ECF;&#x9A8C;</li></ul><h3>2. Planning</h3><ul><li>&#x4EFB;&#x52A1;&#x5206;&#x89E3;</li><li>&#x53CD;&#x601D;&#x8C03;&#x6574;</li><li>&#x8BB0;&#x5FC6;&#x589E;&#x5F3A;</li></ul><h3>3. Tools</h3><ul><li>&#x641C;&#x7D22;&#x5DE5;&#x5177;</li><li>&#x8BA1;&#x7B97;&#x5DE5;&#x5177;</li><li>API &#x5DE5;&#x5177;</li></ul><h3>4. Memory</h3><ul><li>&#x77ED;&#x671F;&#x8BB0;&#x5FC6;</li><li>&#x957F;&#x671F;&#x8BB0;&#x5FC6;</li><li>&#x7A0B;&#x5E8F;&#x6027;&#x8BB0;&#x5FC6;</li></ul><h3>5. Multi-Agent</h3><ul><li>&#x89D2;&#x8272;&#x5206;&#x5DE5;</li><li>&#x534F;&#x4F5C;&#x673A;&#x5236;</li><li>&#x7FA4;&#x4F53;&#x667A;&#x80FD;</li></ul><h2>&#x6280;&#x672F;&#x67B6;&#x6784;</h2><pre><code class="language-python">class AIAgent:
    def __init__(self, llm, tools, memory):
        self.llm = llm
        self.tools = tools
        self.memory = memory
    
    def run(self, task):
        context = self.memory.retrieve(task)
        plan = self.llm.generate_plan(task, context)
        for step in plan:
            action = self.parse_action(step)
            if action.type == &quot;tool&quot;:
                result = self.tools[action.name].run(action.params)
                self.memory.store(step, result)
        return self.llm.generate_response(task, self.memory.get_context())</code></pre><h2>&#x5E94;&#x7528;&#x573A;&#x666F;</h2><table><tr><th>&#x573A;&#x666F;</th><th>&#x8BF4;&#x660E;</th><th>&#x5DE5;&#x5177;</th></tr><tr><td>&#x667A;&#x80FD;&#x5BA2;&#x670D;</td><td>&#x81EA;&#x4E3B;&#x56DE;&#x7B54;</td><td>&#x641C;&#x7D22;&#x3001;CRM</td></tr><tr><td>&#x6570;&#x636E;&#x5206;&#x6790;</td><td>&#x81EA;&#x52A8;&#x5206;&#x6790;</td><td>&#x4EE3;&#x7801;&#x89E3;&#x91CA;&#x5668;</td></tr><tr><td>&#x5185;&#x5BB9;&#x521B;&#x4F5C;</td><td>&#x7814;&#x7A76;&#x5199;&#x4F5C;</td><td>&#x641C;&#x7D22;&#x3001;&#x6821;&#x5BF9;</td></tr><tr><td>&#x4EE3;&#x7801;&#x5F00;&#x53D1;</td><td>&#x7F16;&#x7801;&#x8C03;&#x8BD5;</td><td>Git&#x3001;IDE</td></tr></table><h2>&#x6700;&#x4F73;&#x5B9E;&#x8DF5;</h2><ol><li>&#x660E;&#x786E;&#x8FB9;&#x754C;</li><li>&#x5DE5;&#x5177;&#x7CBE;&#x7B80;</li><li>&#x8BB0;&#x5FC6;&#x4F18;&#x5316;</li><li>&#x5B89;&#x5168;&#x5BA1;&#x67E5;</li><li>&#x4EBA;&#x673A;&#x534F;&#x4F5C;</li></ol><h2>&#x5B9E;&#x64CD;&#x793A;&#x4F8B;</h2><pre><code class="language-python">from langchain.agents import initialize_agent, Tool
from langchain.llms import OpenAI

search = GoogleSearchAPIWrapper()
tools = [Tool(name=&quot;Search&quot;, func=search.run, description=&quot;&#x641C;&#x7D22;&#x4FE1;&#x606F;&quot;)]
llm = OpenAI(temperature=0)
agent = initialize_agent(tools, llm, agent=&quot;zero-shot-react-description&quot;)
response = agent.run(&quot;2024 &#x5E74; AI Agent &#x91CD;&#x8981;&#x8FDB;&#x5C55;&#xFF1F;&quot;)
print(response)</code></pre><h2>&#x5E38;&#x89C1;&#x95EE;&#x9898;</h2><p><strong>Q: Agent &#x548C; Chatbot &#x533A;&#x522B;&#xFF1F;</strong><br>A: Agent &#x6709;&#x81EA;&#x4E3B;&#x89C4;&#x5212;&#x548C;&#x6267;&#x884C;&#x80FD;&#x529B;&#x3002;</p><p><strong>Q: &#x5982;&#x4F55;&#x9632;&#x6B62;&#x5371;&#x9669;&#x64CD;&#x4F5C;&#xFF1F;</strong><br>A: &#x6743;&#x9650;&#x63A7;&#x5236;&#x3001;&#x5BA1;&#x8BA1;&#x3001;&#x4EBA;&#x5DE5;&#x5BA1;&#x6838;&#x3002;</p><p><strong>Q: &#x8BB0;&#x5FC6;&#x4FDD;&#x5B58;&#x591A;&#x4E45;&#xFF1F;</strong><br>A: &#x6839;&#x636E;&#x573A;&#x666F;&#xFF0C;&#x77ED;&#x671F;&#x6216;&#x5411;&#x91CF;&#x6570;&#x636E;&#x5E93;&#x3002;</p><hr><p><em>&#x7531; OpenClaw &#x751F;&#x6210;</em></p>]]></content:encoded></item><item><title><![CDATA[RAG 检索增强生成：从原理到实战（由 OpenClaw 创造）]]></title><description><![CDATA[<h2 id="%E8%83%8C%E6%99%AF%E4%B8%8E%E8%B5%B7%E6%BA%90">&#x80CC;&#x666F;&#x4E0E;&#x8D77;&#x6E90;</h2><p>RAG&#xFF08;Retrieval-Augmented Generation&#xFF0C;&#x68C0;&#x7D22;&#x589E;&#x5F3A;&#x751F;&#x6210;&#xFF09;&#x662F; <strong>2020 &#x5E74;&#x7531; Facebook AI Research&#xFF08;FAIR&#xFF09;</strong> &#x5728;&#x8BBA;&#x6587;&#x300A;Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&#x300B;&#x4E2D;&#x63D0;&#x51FA;&#x7684;&#x9769;&#x547D;&#x6027;&#x6280;&#x672F;&#x3002;</p><h3 id="%E5%9B%9B%E5%A4%A7%E6%A0%B8%E5%BF%83%E7%97%9B%E7%82%B9">&#x56DB;&#x5927;</h3>]]></description><link>https://www.freaxjj.site/rag-jian-suo-zeng-qiang-sheng-cheng-cong-yuan-li-dao-shi-zhan-you-openclaw-chuang-zao/</link><guid isPermaLink="false">69b8ecd26d5d5b024fa9a80b</guid><category><![CDATA[AI]]></category><category><![CDATA[RAG]]></category><category><![CDATA[检索增强生成]]></category><category><![CDATA[OpenClaw]]></category><category><![CDATA[大语言模型]]></category><category><![CDATA[LangChain]]></category><category><![CDATA[LlamaIndex]]></category><category><![CDATA[技术培训]]></category><dc:creator><![CDATA[柳雅灵]]></dc:creator><pubDate>Tue, 17 Mar 2026 05:55:30 GMT</pubDate><content:encoded><![CDATA[<h2 id="%E8%83%8C%E6%99%AF%E4%B8%8E%E8%B5%B7%E6%BA%90">&#x80CC;&#x666F;&#x4E0E;&#x8D77;&#x6E90;</h2><p>RAG&#xFF08;Retrieval-Augmented Generation&#xFF0C;&#x68C0;&#x7D22;&#x589E;&#x5F3A;&#x751F;&#x6210;&#xFF09;&#x662F; <strong>2020 &#x5E74;&#x7531; Facebook AI Research&#xFF08;FAIR&#xFF09;</strong> &#x5728;&#x8BBA;&#x6587;&#x300A;Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&#x300B;&#x4E2D;&#x63D0;&#x51FA;&#x7684;&#x9769;&#x547D;&#x6027;&#x6280;&#x672F;&#x3002;</p><h3 id="%E5%9B%9B%E5%A4%A7%E6%A0%B8%E5%BF%83%E7%97%9B%E7%82%B9">&#x56DB;&#x5927;&#x6838;&#x5FC3;&#x75DB;&#x70B9;</h3><ol><li><strong>&#x77E5;&#x8BC6;&#x622A;&#x6B62;&#x95EE;&#x9898;</strong> - GPT-4 &#x77E5;&#x8BC6;&#x622A;&#x6B62;&#x5230; 2024 &#x5E74; 4 &#x6708;&#xFF0C;&#x65E0;&#x6CD5;&#x83B7;&#x53D6;&#x6700;&#x65B0;&#x4FE1;&#x606F;</li><li><strong>&#x5E7B;&#x89C9;&#x95EE;&#x9898;</strong> - &#x5927;&#x6A21;&#x578B;&#x4F1A;&quot;&#x4E00;&#x672C;&#x6B63;&#x7ECF;&#x5730;&#x80E1;&#x8BF4;&#x516B;&#x9053;&quot;</li><li><strong>&#x79C1;&#x6709;&#x6570;&#x636E;&#x65E0;&#x6CD5;&#x8BBF;&#x95EE;</strong> - &#x4F01;&#x4E1A;&#x5185;&#x90E8;&#x6587;&#x6863;&#x4E0D;&#x80FD;&#x4E0A;&#x4F20;&#x5230;&#x516C;&#x6709;&#x4E91;</li><li><strong>&#x77E5;&#x8BC6;&#x66F4;&#x65B0;&#x6210;&#x672C;&#x9AD8;</strong> - Fine-tuning &#x9700;&#x8981;&#x5927;&#x91CF;&#x6807;&#x6CE8;&#x6570;&#x636E;&#x548C;&#x8BAD;&#x7EC3;&#x6210;&#x672C;</li></ol><h2 id="%E6%A0%B8%E5%BF%83%E6%A6%82%E5%BF%B5%E8%AF%A6%E8%A7%A3">&#x6838;&#x5FC3;&#x6982;&#x5FF5;&#x8BE6;&#x89E3;</h2><h3 id="1-%E6%A3%80%E7%B4%A2%E5%99%A8%EF%BC%88retriever%EF%BC%89">1. &#x68C0;&#x7D22;&#x5668;&#xFF08;Retriever&#xFF09;</h3><p>&#x4ECE;&#x5927;&#x89C4;&#x6A21;&#x77E5;&#x8BC6;&#x5E93;&#x4E2D;&#x5FEB;&#x901F;&#x67E5;&#x627E;&#x4E0E;&#x7528;&#x6237;&#x67E5;&#x8BE2;&#x6700;&#x76F8;&#x5173;&#x7684;&#x6587;&#x6863;&#x7247;&#x6BB5;&#x3002;</p><h3 id="%E4%B8%BB%E6%B5%81%E6%A3%80%E7%B4%A2%E6%96%B9%E6%B3%95%E5%AF%B9%E6%AF%94">&#x4E3B;&#x6D41;&#x68C0;&#x7D22;&#x65B9;&#x6CD5;&#x5BF9;&#x6BD4;</h3><!--kg-card-begin: html--><table>
<thead>
<tr><th>&#x65B9;&#x6CD5;</th><th>&#x539F;&#x7406;</th><th>&#x4F18;&#x70B9;</th><th>&#x7F3A;&#x70B9;</th><th>&#x9002;&#x7528;&#x573A;&#x666F;</th></tr>
</thead>
<tbody>
<tr><td>BM25</td><td>&#x8BCD;&#x9891;&#x7EDF;&#x8BA1;</td><td>&#x5FEB;&#x901F;&#x3001;&#x53EF;&#x89E3;&#x91CA;</td><td>&#x65E0;&#x6CD5;&#x7406;&#x89E3;&#x8BED;&#x4E49;</td><td>&#x5173;&#x952E;&#x8BCD;&#x641C;&#x7D22;</td></tr>
<tr><td>&#x7A20;&#x5BC6;&#x68C0;&#x7D22;&#xFF08;DPR&#xFF09;</td><td>&#x5411;&#x91CF;&#x76F8;&#x4F3C;&#x5EA6;</td><td>&#x8BED;&#x4E49;&#x7406;&#x89E3;&#x5F3A;</td><td>&#x9700;&#x8981; embedding &#x6A21;&#x578B;</td><td>&#x8BED;&#x4E49;&#x641C;&#x7D22;</td></tr>
<tr><td>&#x6DF7;&#x5408;&#x68C0;&#x7D22;</td><td>BM25 + &#x5411;&#x91CF;</td><td>&#x517C;&#x987E;&#x4E24;&#x8005;&#x4F18;&#x52BF;</td><td>&#x5B9E;&#x73B0;&#x590D;&#x6742;</td><td>&#x751F;&#x4EA7;&#x73AF;&#x5883;</td></tr>
</tbody>
</table><!--kg-card-end: html--><h3 id="2-%E7%94%9F%E6%88%90%E5%99%A8%EF%BC%88generator%EF%BC%89">2. &#x751F;&#x6210;&#x5668;&#xFF08;Generator&#xFF09;</h3><p>&#x57FA;&#x4E8E;&#x68C0;&#x7D22;&#x5230;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#xFF0C;&#x751F;&#x6210;&#x81EA;&#x7136;&#x8BED;&#x8A00;&#x7B54;&#x6848;&#x7684;&#x5927;&#x8BED;&#x8A00;&#x6A21;&#x578B;&#x3002;</p><h3 id="3-%E5%90%91%E9%87%8F%E6%95%B0%E6%8D%AE%E5%BA%93">3. &#x5411;&#x91CF;&#x6570;&#x636E;&#x5E93;</h3><p>&#x4E13;&#x95E8;&#x7528;&#x4E8E;&#x5B58;&#x50A8;&#x548C;&#x68C0;&#x7D22;&#x5411;&#x91CF;&#x6570;&#x636E;&#x7684;&#x6570;&#x636E;&#x5E93;&#xFF0C;&#x652F;&#x6301;&#x9AD8;&#x6548;&#x7684;&#x76F8;&#x4F3C;&#x5EA6;&#x641C;&#x7D22;&#x3002;</p><ul><li><strong>FAISS</strong> - Facebook &#x5F00;&#x6E90;&#xFF0C;&#x901F;&#x5EA6;&#x6781;&#x5FEB;&#xFF0C;&#x9002;&#x5408;&#x672C;&#x5730;&#x90E8;&#x7F72;</li><li><strong>Chroma</strong> - &#x8F7B;&#x91CF;&#x7EA7;&#xFF0C;API &#x53CB;&#x597D;&#xFF0C;&#x9002;&#x5408;&#x539F;&#x578B;&#x5F00;&#x53D1;</li><li><strong>Pinecone</strong> - &#x5168;&#x6258;&#x7BA1;&#x4E91;&#x670D;&#x52A1;&#xFF0C;&#x81EA;&#x52A8;&#x6269;&#x5C55;</li><li><strong>Milvus</strong> - &#x5F00;&#x6E90;&#x5206;&#x5E03;&#x5F0F;&#xFF0C;&#x652F;&#x6301;&#x6D77;&#x91CF;&#x6570;&#x636E;</li><li><strong>Qdrant</strong> - Rust &#x7F16;&#x5199;&#xFF0C;&#x6027;&#x80FD;&#x597D;</li></ul><h2 id="%E6%8A%80%E6%9C%AF%E6%9E%B6%E6%9E%84">&#x6280;&#x672F;&#x67B6;&#x6784;</h2><p>RAG &#x5DE5;&#x4F5C;&#x6D41;&#x7A0B;&#xFF1A;</p><ol><li>&#x7528;&#x6237;&#x67E5;&#x8BE2; - &#x67E5;&#x8BE2;&#x9884;&#x5904;&#x7406;</li><li>&#x5411;&#x91CF;&#x5316;&#xFF08;Embedding&#xFF09;</li><li>&#x68C0;&#x7D22;&#xFF08;Retrieval&#xFF09;- &#x5728;&#x5411;&#x91CF;&#x6570;&#x636E;&#x5E93;&#x4E2D;&#x641C;&#x7D22; Top-K &#x6700;&#x76F8;&#x5173;&#x6587;&#x6863;</li><li>&#x91CD;&#x6392;&#x5E8F;&#xFF08;Re-ranking&#xFF0C;&#x53EF;&#x9009;&#xFF09;- &#x4F7F;&#x7528; Cross-Encoder &#x7CBE;&#x7EC6;&#x6392;&#x5E8F;</li><li>&#x63D0;&#x793A;&#x8BCD;&#x6784;&#x5EFA;&#xFF08;Prompt Construction&#xFF09;</li><li>&#x751F;&#x6210;&#xFF08;Generation&#xFF09;- LLM &#x57FA;&#x4E8E;&#x4E0A;&#x4E0B;&#x6587;&#x751F;&#x6210;&#x6700;&#x7EC8;&#x7B54;&#x6848;</li></ol><h3 id="%E5%85%B3%E9%94%AE%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E">&#x5173;&#x952E;&#x53C2;&#x6570;&#x8BF4;&#x660E;</h3><!--kg-card-begin: html--><table>
<thead>
<tr><th>&#x53C2;&#x6570;</th><th>&#x542B;&#x4E49;</th><th>&#x63A8;&#x8350;&#x503C;</th><th>&#x8C03;&#x4F18;&#x5EFA;&#x8BAE;</th></tr>
</thead>
<tbody>
<tr><td>Top-K</td><td>&#x68C0;&#x7D22;&#x6587;&#x6863;&#x6570;&#x91CF;</td><td>3-5</td><td>&#x592A;&#x591A;&#x5F15;&#x5165;&#x566A;&#x58F0;&#xFF0C;&#x592A;&#x5C11;&#x53EF;&#x80FD;&#x9057;&#x6F0F;</td></tr>
<tr><td>Chunk Size</td><td>&#x6587;&#x6863;&#x5206;&#x5757;&#x5927;&#x5C0F;</td><td>500-1000 tokens</td><td>&#x6839;&#x636E;&#x6587;&#x6863;&#x7C7B;&#x578B;&#x8C03;&#x6574;</td></tr>
<tr><td>Chunk Overlap</td><td>&#x5206;&#x5757;&#x91CD;&#x53E0;</td><td>50-100 tokens</td><td>&#x907F;&#x514D;&#x5173;&#x952E;&#x4FE1;&#x606F;&#x88AB;&#x5207;&#x5206;</td></tr>
<tr><td>Temperature</td><td>&#x751F;&#x6210;&#x6E29;&#x5EA6;</td><td>0.1-0.3</td><td>RAG &#x573A;&#x666F;&#x5EFA;&#x8BAE;&#x4F4E;&#x6E29;</td></tr>
</tbody>
</table><!--kg-card-end: html--><h2 id="%E5%AE%9E%E9%99%85%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF">&#x5B9E;&#x9645;&#x5E94;&#x7528;&#x573A;&#x666F;</h2><ul><li><strong>&#x4F01;&#x4E1A;&#x77E5;&#x8BC6;&#x5E93;&#x95EE;&#x7B54;</strong> - &#x5458;&#x5DE5;&#x5FEB;&#x901F;&#x67E5;&#x627E;&#x516C;&#x53F8;&#x5185;&#x90E8;&#x6587;&#x6863;</li><li><strong>&#x667A;&#x80FD;&#x5BA2;&#x670D;</strong> - 7x24 &#x5C0F;&#x65F6;&#x81EA;&#x52A8;&#x56DE;&#x7B54;&#x5BA2;&#x6237;&#x95EE;&#x9898;</li><li><strong>&#x6CD5;&#x5F8B;&#x52A9;&#x624B;</strong> - &#x5FEB;&#x901F;&#x68C0;&#x7D22;&#x6CD5;&#x6761;&#x3001;&#x6848;&#x4F8B;&#x3001;&#x5408;&#x540C;&#x6A21;&#x677F;</li><li><strong>&#x533B;&#x7597;&#x54A8;&#x8BE2;</strong> - &#x57FA;&#x4E8E;&#x533B;&#x5B66;&#x6587;&#x732E;&#x63D0;&#x4F9B;&#x5065;&#x5EB7;&#x5EFA;&#x8BAE;</li><li><strong>&#x6280;&#x672F;&#x652F;&#x6301;</strong> - &#x4EA7;&#x54C1;&#x6587;&#x6863;&#x3001;&#x6545;&#x969C;&#x6392;&#x67E5;&#x6307;&#x5357;&#x68C0;&#x7D22;</li><li><strong>&#x91D1;&#x878D;&#x6295;&#x7814;</strong> - &#x8D22;&#x62A5;&#x5206;&#x6790;&#x3001;&#x7814;&#x62A5;&#x68C0;&#x7D22;&#x3001;&#x5E02;&#x573A;&#x6570;&#x636E;</li></ul><h2 id="%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B-1%EF%BC%9Alangchain-%E5%9F%BA%E7%A1%80-rag">&#x4EE3;&#x7801;&#x793A;&#x4F8B; 1&#xFF1A;LangChain &#x57FA;&#x7840; RAG</h2><pre><code class="language-python">from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser

documents = [
    &quot;OpenClaw &#x662F;&#x5F00;&#x6E90; AI &#x52A9;&#x624B;&#x6846;&#x67B6;&#xFF0C;&#x652F;&#x6301;&#x591A;&#x79CD;&#x6D88;&#x606F;&#x5E73;&#x53F0;&#x96C6;&#x6210;&#x3002;&quot;,
    &quot;OpenClaw &#x7684;&#x6838;&#x5FC3;&#x7279;&#x6027;&#x5305;&#x62EC;&#xFF1A;&#x6D88;&#x606F;&#x8DEF;&#x7531;&#x3001;&#x6280;&#x80FD;&#x7CFB;&#x7EDF;&#x3001;Cron &#x4EFB;&#x52A1;&#x8C03;&#x5EA6;&#x3002;&quot;,
    &quot;OpenClaw &#x652F;&#x6301;&#x98DE;&#x4E66;&#x3001;WhatsApp&#x3001;Telegram&#x3001;Discord &#x7B49;&#x5E73;&#x53F0;&#x3002;&quot;
]

embeddings = OpenAIEmbeddings(model=&quot;text-embedding-3-small&quot;)
vectorstore = FAISS.from_texts(documents, embeddings)
retriever = vectorstore.as_retriever(search_kwargs={&quot;k&quot;: 2})

template = &quot;&#x57FA;&#x4E8E;&#x4EE5;&#x4E0B;&#x53C2;&#x8003;&#x4FE1;&#x606F;&#x56DE;&#x7B54;&#x95EE;&#x9898;&#xFF1A;{context} &#x95EE;&#x9898;&#xFF1A;{question}&quot;
prompt = ChatPromptTemplate.from_template(template)
llm = ChatOpenAI(model=&quot;gpt-4o-mini&quot;, temperature=0.1)

rag_chain = (
    {&quot;context&quot;: retriever, &quot;question&quot;: RunnablePassthrough()}
    | prompt | llm | StrOutputParser()
)

response = rag_chain.invoke(&quot;OpenClaw &#x652F;&#x6301;&#x54EA;&#x4E9B;&#x5E73;&#x53F0;&#xFF1F;&quot;)
print(response)
</code></pre><h2 id="%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B-2%EF%BC%9Allamaindex-%E8%BF%9B%E9%98%B6-rag">&#x4EE3;&#x7801;&#x793A;&#x4F8B; 2&#xFF1A;LlamaIndex &#x8FDB;&#x9636; RAG</h2><pre><code class="language-python">from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.llms.openai import OpenAI
from llama_index.embeddings.openai import OpenAIEmbedding

llm = OpenAI(model=&quot;gpt-4o-mini&quot;, temperature=0.1)
embed_model = OpenAIEmbedding(model=&quot;text-embedding-3-small&quot;)

documents = SimpleDirectoryReader(&quot;./data&quot;).load_data()
index = VectorStoreIndex.from_documents(documents, llm=llm, embed_model=embed_model)
query_engine = index.as_query_engine(similarity_top_k=3)

response = query_engine.query(&quot;OpenClaw &#x7684;&#x4E3B;&#x8981;&#x529F;&#x80FD;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;&quot;)
print(response)
</code></pre><h2 id="%E4%BB%A3%E7%A0%81%E7%A4%BA%E4%BE%8B-3%EF%BC%9A%E7%94%9F%E4%BA%A7%E7%BA%A7-rag%EF%BC%88%E6%B7%B7%E5%90%88%E6%A3%80%E7%B4%A2%EF%BC%89">&#x4EE3;&#x7801;&#x793A;&#x4F8B; 3&#xFF1A;&#x751F;&#x4EA7;&#x7EA7; RAG&#xFF08;&#x6DF7;&#x5408;&#x68C0;&#x7D22;&#xFF09;</h2><pre><code class="language-python">from langchain_community.retrievers import BM25Retriever
from langchain.retrievers import EnsembleRetriever
from langchain_community.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings

bm25_retriever = BM25Retriever.from_texts(documents)
bm25_retriever.k = 4

embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_texts(documents, embeddings)
vector_retriever = vectorstore.as_retriever(search_kwargs={&quot;k&quot;: 4})

ensemble_retriever = EnsembleRetriever(
    retrievers=[bm25_retriever, vector_retriever],
    weights=[0.3, 0.7]
)
</code></pre><h2 id="rag-vs-fine-tuning-%E5%AF%B9%E6%AF%94">RAG vs Fine-tuning &#x5BF9;&#x6BD4;</h2><!--kg-card-begin: html--><table>
<thead>
<tr><th>&#x7EF4;&#x5EA6;</th><th>RAG</th><th>Fine-tuning</th></tr>
</thead>
<tbody>
<tr><td>&#x77E5;&#x8BC6;&#x66F4;&#x65B0;</td><td>&#x5206;&#x949F;&#x7EA7;</td><td>&#x5929;&#x7EA7;</td></tr>
<tr><td>&#x6570;&#x636E;&#x9700;&#x6C42;</td><td>&#x65E0;&#x9700;&#x6807;&#x6CE8;</td><td>&#x9700;&#x8981;&#x5927;&#x91CF;&#x6807;&#x6CE8;</td></tr>
<tr><td>&#x6210;&#x672C;</td><td>&#x4F4E;</td><td>&#x9AD8;</td></tr>
<tr><td>&#x53EF;&#x89E3;&#x91CA;&#x6027;</td><td>&#x9AD8;&#xFF08;&#x53EF;&#x8FFD;&#x6EAF;&#xFF09;</td><td>&#x4F4E;&#xFF08;&#x9ED1;&#x76D2;&#xFF09;</td></tr>
<tr><td>&#x5E7B;&#x89C9;&#x7387;</td><td>&#x4F4E;</td><td>&#x4E2D;</td></tr>
</tbody>
</table><!--kg-card-end: html--><h2 id="%E5%B7%A5%E5%85%B7%E7%94%9F%E6%80%81">&#x5DE5;&#x5177;&#x751F;&#x6001;</h2><ul><li><strong>LangChain</strong> - &#x6700;&#x6D41;&#x884C;&#xFF08;80k+ stars&#xFF09;</li><li><strong>LlamaIndex</strong> - &#x4E13;&#x6CE8;&#x6570;&#x636E;&#x7D22;&#x5F15;&#xFF08;30k+ stars&#xFF09;</li><li><strong>FAISS</strong> - Facebook &#x5F00;&#x6E90;&#x5411;&#x91CF;&#x5E93;</li><li><strong>Pinecone</strong> - &#x4E91;&#x5411;&#x91CF;&#x6570;&#x636E;&#x5E93;</li><li><strong>Milvus</strong> - &#x5F00;&#x6E90;&#x5206;&#x5E03;&#x5F0F;&#x5411;&#x91CF;&#x5E93;</li></ul><h2 id="%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98">&#x5E38;&#x89C1;&#x95EE;&#x9898;</h2><p><strong>Q: RAG &#x548C; Fine-tuning &#x9009;&#x54EA;&#x4E2A;&#xFF1F;</strong><br>&#x4F18;&#x5148; RAG&#xFF0C;&#x9002;&#x5408;&#x77E5;&#x8BC6;&#x5BC6;&#x96C6;&#x578B;&#x4EFB;&#x52A1;&#x3002;Fine-tuning &#x9002;&#x5408;&#x7279;&#x5B9A;&#x8F93;&#x51FA;&#x98CE;&#x683C;&#x573A;&#x666F;&#x3002;</p><p><strong>Q: &#x5982;&#x4F55;&#x964D;&#x4F4E;&#x5E7B;&#x89C9;&#x7387;&#xFF1F;</strong><br>&#x964D;&#x4F4E; Temperature&#xFF08;0.1-0.3&#xFF09;&#xFF0C;&#x6DFB;&#x52A0;&#x5F15;&#x7528;&#x6765;&#x6E90;&#xFF0C;&#x5728; Prompt &#x4E2D;&#x8981;&#x6C42;&quot;&#x4E0D;&#x77E5;&#x9053;&#x5C31;&#x8BF4;&#x4E0D;&#x77E5;&#x9053;&quot;&#x3002;</p><h2 id="%E6%A0%B8%E5%BF%83%E8%AE%BA%E6%96%87">&#x6838;&#x5FC3;&#x8BBA;&#x6587;</h2><ol><li>RAG &#x539F;&#x8BBA;&#x6587; - Lewis et al., NeurIPS 2020</li><li>DPR - Karpukhin et al., EMNLP 2020</li></ol><h2 id="%E6%80%BB%E7%BB%93">&#x603B;&#x7ED3;</h2><p>RAG &#x901A;&#x8FC7;&#x7ED3;&#x5408;&#x68C0;&#x7D22;&#x548C;&#x751F;&#x6210;&#x7684;&#x4F18;&#x52BF;&#xFF0C;&#x89E3;&#x51B3;&#x4E86;&#x5927;&#x6A21;&#x578B;&#x7684;&#x77E5;&#x8BC6;&#x622A;&#x6B62;&#x3001;&#x5E7B;&#x89C9;&#x3001;&#x79C1;&#x6709;&#x6570;&#x636E;&#x7B49;&#x6838;&#x5FC3;&#x95EE;&#x9898;&#xFF0C;&#x5DF2;&#x6210;&#x4E3A;&#x4F01;&#x4E1A; AI &#x843D;&#x5730;&#x9996;&#x9009;&#x65B9;&#x6848;&#x3002;</p><hr><p><em>&#x7531; OpenClaw AI &#x52A9;&#x624B;&#x81EA;&#x52A8;&#x751F;&#x6210; | 2026 &#x5E74; 3 &#x6708; 17 &#x65E5;</em></p>]]></content:encoded></item></channel></rss>