<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>企业级 AI on Renxin's Blog</title><link>https://zh.renxinblog.cn/tags/%E4%BC%81%E4%B8%9A%E7%BA%A7-ai/</link><description>Recent content in 企业级 AI on Renxin's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Fri, 21 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://zh.renxinblog.cn/tags/%E4%BC%81%E4%B8%9A%E7%BA%A7-ai/index.xml" rel="self" type="application/rss+xml"/><item><title>第一话｜大模型会聊天，但怎么让它知道你的退货政策？</title><link>https://zh.renxinblog.cn/post/gyr-c01-enterprise-rag-start/</link><pubDate>Fri, 21 Aug 2026 00:00:00 +0000</pubDate><guid>https://zh.renxinblog.cn/post/gyr-c01-enterprise-rag-start/</guid><description>&lt;img src="https://zh.renxinblog.cn/images/gyr-c01-enterprise-rag-start-cover.png" alt="Featured image of post 第一话｜大模型会聊天，但怎么让它知道你的退货政策？" /&gt;&lt;!--
GYR 第一话：RAG 系列总览
演进主线：裸大模型 → Prompt → 最小 RAG → 企业级知识助手
下一篇：Embedding 与手写 Top-K 检索
--&gt;
&lt;p&gt;“NovaTrail X2 支持 7 天无理由退货吗？”&lt;/p&gt;
&lt;p&gt;把这个问题交给一个裸大模型，它大概率会给出一段很像客服的话：商品需要保持未使用、包装完整，并保留购买凭证。&lt;/p&gt;
&lt;p&gt;听起来没什么问题。&lt;/p&gt;
&lt;p&gt;但它不知道 NovaShop 的真实退货政策。它没有看过这份商品资料，不知道规则适用于哪个地区，也不知道政策是不是昨天刚刚改过。&lt;/p&gt;
&lt;p&gt;它只是生成了一段听起来合理的文字。&lt;/p&gt;
&lt;p&gt;这就是 RAG 系列要解决的起点：&lt;strong&gt;大模型虽然会聊天，但它不知道你的退货政策。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="一裸大模型会生成答案但没有企业知识"&gt;一、裸大模型：会生成答案，但没有企业知识
&lt;/h2&gt;&lt;p&gt;先不谈 RAG，看看最原始的系统是什么样：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;用户问题 → Chat 模型 → 文本回答
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这类模型可以翻译、总结、写代码，也能把客服话术写得很自然。但它的回答依赖两类输入：训练时学到的参数知识，以及本次请求中传入的上下文。&lt;/p&gt;
&lt;p&gt;企业自己的商品政策、内部流程、最新价格和租户数据，通常不在它能够直接访问的上下文里。模型并不会因为“你是 NovaShop 客服”这句话，就自动获得 NovaShop 的资料。&lt;/p&gt;
&lt;p&gt;所以裸模型的第一个边界很清楚：&lt;strong&gt;它可以生成企业知识问答的语言，却没有企业知识问答的证据。&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="二第一种补救把资料塞进-prompt"&gt;二、第一种补救：把资料塞进 Prompt
&lt;/h2&gt;&lt;p&gt;最简单的办法，是把政策直接放进提示词：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;你是 NovaShop 客服。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;以下是退货政策：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;NovaTrail X2 支持签收后 7 天内无理由退货，商品须未使用、包装完整，并保留配件和购买凭证。
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;请根据这段政策回答用户的问题。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个办法确实有效。模型现在能看到资料，也能根据资料生成回答。&lt;/p&gt;
&lt;p&gt;问题是，企业资料不会永远只有一段。商品规格、物流规则、保修政策、不同地区的退货政策和新旧版本都会继续增加。最后，Prompt 会变成一份越来越长、越来越难维护的知识文档。&lt;/p&gt;
&lt;p&gt;当回答出错时，排查也很困难：资料没有放进去？放进去了但没有检索到？检索到了但模型没有使用？还是引用了已经过期的版本？&lt;/p&gt;
&lt;p&gt;Prompt 方案解决的是“把资料放到模型眼前”，却没有解决“资料如何管理、如何查找、如何证明回答有依据”。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;关键洞察：&lt;/strong&gt; Prompt 可以临时装下知识，但不能替代一条可维护、可追溯的知识链路。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="三第二种补救先检索再生成"&gt;三、第二种补救：先检索，再生成
&lt;/h2&gt;&lt;p&gt;RAG 在 Prompt 方案前面增加了一步：模型回答之前，系统先去资料中找相关内容。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;用户问题
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;检索相关资料
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;组装上下文
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Chat 模型生成回答
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;返回引用或拒答
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这条链路可以拆成五个动作：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;动作&lt;/th&gt;
					&lt;th&gt;要回答的问题&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;文档准备&lt;/td&gt;
					&lt;td&gt;企业资料从哪里来？&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;检索&lt;/td&gt;
					&lt;td&gt;哪些片段和当前问题有关？&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;上下文组装&lt;/td&gt;
					&lt;td&gt;哪些内容真正交给模型？&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;生成&lt;/td&gt;
					&lt;td&gt;模型是否只根据这些内容回答？&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;引用与拒答&lt;/td&gt;
					&lt;td&gt;能否指出依据，证据不足时能否不回答？&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;RAG 原始论文把外部检索到的知识接入生成过程，用来缓解参数知识难以更新、访问和追溯的问题。&lt;a class="link" href="https://arxiv.org/abs/2005.11401" target="_blank" rel="noopener"
 &gt;Lewis 等，&lt;em&gt;Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这里还要先纠正一个常见误解：&lt;strong&gt;RAG 不等于向量数据库。&lt;/strong&gt; Retriever 可以使用关键词检索、Elasticsearch 的分词器和倒排索引、向量检索、结构化查询，也可以把几种方式组合成混合检索。本系列会在后续文章里分别比较这些方式；本篇只把“检索”当作一个黑盒步骤，不展开它的内部算法。&lt;a class="link" href="https://www.elastic.co/docs/solutions/search/search-approaches" target="_blank" rel="noopener"
 &gt;Elasticsearch，&lt;em&gt;Search approaches&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="四从最小-rag-到企业级知识助手"&gt;四、从最小 RAG 到企业级知识助手
&lt;/h2&gt;&lt;p&gt;RAG 让模型“回答前先查资料”，但这还只是企业知识助手的中间一层。真正的系统需要沿着两条链路运行。&lt;/p&gt;
&lt;h3 id="1-文档入库链路"&gt;1. 文档入库链路
&lt;/h3&gt;&lt;p&gt;企业资料不是凭空出现在检索器里的，它要先经过入库：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;文档上传
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 解析与清洗
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 分块
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 建立索引
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 保存版本和来源
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这一条链路解决的是“系统手里到底有什么资料”。文档解析决定哪些内容能被看见，分块决定检索的最小单位，索引决定怎么找到它们，版本和来源决定答案能不能回溯。&lt;/p&gt;
&lt;h3 id="2-问答链路"&gt;2. 问答链路
&lt;/h3&gt;&lt;p&gt;用户提问时，系统再走另一条链路：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;用户问题
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 检索候选片段
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 权限与版本过滤
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 组装上下文
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 模型回答
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;→ 引用、拒答与记录
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;两条链路合起来，才是企业级 RAG 的基本轮廓：&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;%%{init: {'theme':'neutral'}}%%
flowchart LR
 A["企业文档"] --&gt; B["解析与索引"]
 B --&gt; C["检索"]
 D["用户问题"] --&gt; C
 C --&gt; E["上下文与模型"]
 E --&gt; F["回答与引用"]&lt;/pre&gt;&lt;p&gt;这张图只画了主链路，没有画出所有生产组件。评测、权限、版本、任务恢复和观测会横向影响多个节点，后面分别展开。&lt;/p&gt;
&lt;h2 id="五跑一次全链路预览"&gt;五、跑一次全链路预览
&lt;/h2&gt;&lt;p&gt;理论地图有了，接着跑最小实现。配套代码目前保存在私有工作区的 &lt;code&gt;code/agent-tutorial/c01-rag-overview/&lt;/code&gt;，尚未作为公开代码仓库发布；实验只依赖 Python 3.10+ 标准库。云端运行需要百炼兼容模式的 &lt;code&gt;DASHSCOPE_API_KEY&lt;/code&gt;。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; code/agent-tutorial/c01-rag-overview
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;DASHSCOPE_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;你的Key
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;python3 main.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;本次预览实验使用阿里云百炼：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;角色&lt;/th&gt;
					&lt;th&gt;模型&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Chat&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;deepseek-v4-flash-0731&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Embedding&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;qwen3.7-text-embedding&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;没有 Key 时，可以先验证本地链路：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;python3 main.py --offline
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;python3 -m unittest discover -s tests -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;离线模式只验证这条链路的数据结构、上下文组装和引用格式，不代表云端模型的回答效果。云端跑通的判定标准是：看到模型配置、命中的来源、上下文字符数、回答，以及形如 &lt;code&gt;[source:returns-cn#chunk-001]&lt;/code&gt; 的引用。至于系统为什么会把某些片段排在前面，下一篇再拆开解释。&lt;/p&gt;
&lt;p&gt;2026-08-21 的一次真实运行结果如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;mode&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dashscope&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;provider&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;aliyun-bailian&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;chunks&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;chat_model&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;deepseek-v4-flash-0731&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;embedding_model&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;qwen3.7-text-embedding&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;question&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;NovaTrail X2 是否支持 7 天无理由退货？&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;sources&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;returns-cn#chunk-001&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;novatrail-x2#chunk-001&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;context_chars&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;215&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;answer&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;支持。根据退货政策，NovaTrail X2 可在签收后 7 天内无理由退货，但需满足商品未使用、包装完整、保留配件和购买凭证等条件。 [source:returns-cn#chunk-001]&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;question&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;NovaShop 是否提供月球基地配送？&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;sources&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;returns-cn#chunk-001&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;novatrail-x2#chunk-001&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;context_chars&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;215&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;answer&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;无法确认。现有资料中未提及月球基地配送服务。&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上面是从真实输出中保留本篇关心字段后的结果。第一个问题走通了完整链路：系统返回了相关来源，模型根据上下文回答，并附上了来源标记。至于这些来源如何被计算和排序，本篇先不展开。&lt;/p&gt;
&lt;p&gt;第二个问题暴露了当前 Demo 的边界。资料里没有月球基地配送，但系统还是返回了两个候选片段，因为程序现在固定返回若干候选。模型这次回答“无法确认”，但无关片段已经进入上下文；换一个问题，模型可能会被这些噪声影响。&lt;/p&gt;
&lt;p&gt;这说明“能检索、能生成”还不等于“知识助手可靠”。我们还需要阈值、评测、引用校验和拒答策略。&lt;/p&gt;
&lt;p&gt;如果运行失败，先看错误发生在哪一层：&lt;code&gt;DASHSCOPE_API_KEY is not set&lt;/code&gt; 表示当前 Shell 没有读到 Key；&lt;code&gt;401&lt;/code&gt; 或 &lt;code&gt;403&lt;/code&gt; 通常是 Key 无效、过期或没有权限；&lt;code&gt;404 model not found&lt;/code&gt; 则要检查模型名、地域和百炼工作空间。代码默认使用 &lt;code&gt;aliyun-bailian&lt;/code&gt;、&lt;code&gt;deepseek-v4-flash-0731&lt;/code&gt; 和 &lt;code&gt;qwen3.7-text-embedding&lt;/code&gt;，也可以通过 README 中的环境变量覆盖。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;关键洞察：&lt;/strong&gt; 这个 Demo 的价值不是证明 RAG 已经可靠，而是把“资料从哪里来、系统找了什么、模型看到了什么、回答引用了什么”第一次暴露出来。下一篇，我们再追问“系统为什么找到了这些片段”。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="六gyr-系列接下来会补齐什么"&gt;六、GYR 系列接下来会补齐什么
&lt;/h2&gt;&lt;p&gt;现在可以回头看整个系列的路线。每一篇不是凭空增加一个组件，而是在解决上一层暴露出来的具体问题：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;阶段&lt;/th&gt;
					&lt;th&gt;要解决的问题&lt;/th&gt;
					&lt;th&gt;主题&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;第一话&lt;/td&gt;
					&lt;td&gt;整条链路到底是什么&lt;/td&gt;
					&lt;td&gt;RAG 全景与演进路线&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;第二话&lt;/td&gt;
					&lt;td&gt;问题和文本为什么可以比较&lt;/td&gt;
					&lt;td&gt;Embedding、余弦相似度、Top-K&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;第三话&lt;/td&gt;
					&lt;td&gt;一篇长文应该如何检索&lt;/td&gt;
					&lt;td&gt;文档分块与 Chunk 设计&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;第四话&lt;/td&gt;
					&lt;td&gt;找到资料后如何可靠回答&lt;/td&gt;
					&lt;td&gt;上下文、引用与拒答&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;第五话–第六话&lt;/td&gt;
					&lt;td&gt;如何保存和评价检索结果&lt;/td&gt;
					&lt;td&gt;PGVector、版本与评测基线&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;第七话–第八话&lt;/td&gt;
					&lt;td&gt;关键词和向量如何配合&lt;/td&gt;
					&lt;td&gt;检索优化与混合检索&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;第九话–第十二话&lt;/td&gt;
					&lt;td&gt;企业资料如何进入系统并保持边界&lt;/td&gt;
					&lt;td&gt;解析、租户权限、任务恢复与观测&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;第十三话–第十四话&lt;/td&gt;
					&lt;td&gt;如何收敛为可运行的服务&lt;/td&gt;
					&lt;td&gt;API、模块化原型与框架对照&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这条路线有一个刻意的约束：先手写最小机制，再引入数据库、服务和框架。否则读者很容易得到一个“能启动的 RAG”，却不知道每个组件为什么存在。&lt;/p&gt;
&lt;h2 id="下一篇embedding-到底做了什么"&gt;下一篇：Embedding 到底做了什么
&lt;/h2&gt;&lt;p&gt;现在我们知道 RAG 的整体链路，也看到一个最小版本确实可以把问题和资料交给模型。但“检索”仍然像一个黑盒：为什么退货政策排在前面？相似度分数是什么？SKU 这种精确编号也适合这样检索吗？&lt;/p&gt;
&lt;p&gt;下一篇只回答一个问题：&lt;strong&gt;一句用户问题，为什么可以和一段商品政策计算相似度？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;我们会检查 Embedding 的真实输出，手写余弦相似度和 Top-K 排序，把第一话图里的“检索”拆开来看。&lt;/p&gt;
&lt;p&gt;第一篇只需要记住一句话：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;RAG 是裸大模型走向企业知识助手的第一条外部知识链路，但它远没有替企业完成评测、权限和数据治理。&lt;/strong&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="参考资料"&gt;参考资料
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Patrick Lewis 等，&lt;a class="link" href="https://arxiv.org/abs/2005.11401" target="_blank" rel="noopener"
 &gt;&lt;em&gt;Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&lt;/em&gt;&lt;/a&gt;，2020。&lt;/li&gt;
&lt;li&gt;Alibaba Cloud Model Studio，&lt;a class="link" href="https://help.aliyun.com/en/model-studio/list-models" target="_blank" rel="noopener"
 &gt;&lt;em&gt;List models&lt;/em&gt;&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;Alibaba Cloud Model Studio，&lt;a class="link" href="https://help.aliyun.com/zh/model-studio/deepseek-api" target="_blank" rel="noopener"
 &gt;&lt;em&gt;DeepSeek API&lt;/em&gt;&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;Elasticsearch，&lt;a class="link" href="https://www.elastic.co/docs/solutions/search/search-approaches" target="_blank" rel="noopener"
 &gt;&lt;em&gt;Search approaches&lt;/em&gt;&lt;/a&gt;。&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>