惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
Spread Privacy
Spread Privacy
T
Threatpost
C
Cisco Blogs
P
Palo Alto Networks Blog
AI
AI
Cyberwarzone
Cyberwarzone
NISL@THU
NISL@THU
P
Privacy & Cybersecurity Law Blog
G
GRAHAM CLULEY
Simon Willison's Weblog
Simon Willison's Weblog
T
Tor Project blog
Latest news
Latest news
AWS News Blog
AWS News Blog
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
WordPress大学
WordPress大学
Vercel News
Vercel News
S
Securelist
爱范儿
爱范儿
J
Java Code Geeks
Know Your Adversary
Know Your Adversary
S
Schneier on Security
Hugging Face - Blog
Hugging Face - Blog
F
Fortinet All Blogs
Last Week in AI
Last Week in AI
D
DataBreaches.Net
宝玉的分享
宝玉的分享
D
Darknet – Hacking Tools, Hacker News & Cyber Security
MongoDB | Blog
MongoDB | Blog
Engineering at Meta
Engineering at Meta
K
Kaspersky official blog
美团技术团队
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
量子位
博客园_首页
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
Google Online Security Blog
Google Online Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
腾讯CDC
T
Threat Research - Cisco Blogs
雷峰网
雷峰网
有赞技术团队
有赞技术团队
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
S
Security Affairs

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
RAG实践技巧:将向量库降级为“语义路由器”,让答案更合理
叶小钗 · 2025-08-15 · via 人人都是产品经理

随着模型上下文长度的增加和知识库的扩展,传统的向量化方法在RAG中的应用逐渐暴露出其局限性。本文将深入探讨RAG技术的核心链路,分析向量化在其中的作用,并提出一种新的架构:将向量库降级为“语义路由器”,结合结构化的知识库,以解决语义相似性与答案相关性之间的矛盾,从而让生成的答案更加合理和精准。

Dify与Langchain都可以被归属到Agent平台,可以帮助用户快速生成各种Agent,只不过两者的定位与使用对象是不同的:

  1. Dify的定位是低/零代码平台,使用对象甚至可以是HR和财务;
  2. Langchain的定位是高代码平台,使用对象就是程序员;

与Dify类似的有Coze、FastGPT,其中Coze体验是最好的,最近还开源了,会对Dify造成一定影响;

与Langchain类似的有n8n(会稍有差异,但这么理解也问题不大),这些框架需要开发者具备一定的编程能力,对开发者的技术水平要求较高,相对来说其灵活性也变高了。

就个人使用习惯来说,做POC验证我一定会选Coze或Dify,做复杂的业务系统我们会做详细的框架设计,自己上手写代码,暂时不会有Langchain或者n8n出手的空间。

原因也很简单:我们有自己的开发习惯,不喜欢按他们那种方式做归类。

从这里大家也可以看出来了,粉丝疑惑的Langchain其实与RAG没撒必然的联系,Agent平台/框架确实会涉及到知识库(会实现该模块),他们也会用到RAG技术,并且还会涉及到向量化,仅此而已。

为了大家更清晰的理解,我们直接来一套相对完整的RAG链路算了:

采集/清洗 → 切分(Chunk) → 向量化 → 建索引 → 召回(Top-K) → 重排(Rerank) → 拼上下文 → 生成 → 校对/引用 → 评测与回流。

RAG概述

RAG技术在两年多前开始被AI应用熟知,通过在生成前检索外部知识库,使模型能够及时利用最新或私有数据。

怎么说呢?虽然有点不恰当,但个人觉得在当时,RAG更多是微调的一种替代技术,因为微调成本确实太高了,结果用着用着大家还觉得挺香的…

在RAG技术框架中,数据工程便已经开始崭露头角,懂行的同学会意识到:AI项目最重要的工作就是让数据与模型好好配合。

RAG的实现来说有两个模块,一个是本地索引模块,他涉及了原始文档的清洗和切片,并将每个段落转为向量存储到向量库;

第二个模块就是实时检索,他需要在用户提问的时候,先到向量库中查找相似的片段,再将检索到的上下文拼接到提示词中,最后调用大模型。

举一个案例:

简单案例

案例来源于最近接到的一个商家工作流,需求很简单:构建一个能回答关于“咖啡豆种类、冲泡方法、拿铁配方”等问题的智能助手。

原始数据包含一份咖啡知识的PDF文档,里面包含文本、表格、少量格式混乱字符和网页URL。

工作流的目标是:用户问 “如何制作一杯标准的拿铁咖啡?需要多少克咖啡粉和牛奶?”时,系统能精准从知识库中找到配方步骤和分量,并生成清晰、无误的答案。

直接上手

实际实施工作流的是下面一个小朋友,他图省事未对文档进行清洗,按固定长度512字符切分;

当遭遇用户提问:”标准拿铁咖啡的配方是什么?需要多少毫升牛奶?”时,模型果然开始胡说八道了:向量检索模块可能返回了包含“拿铁”字样但内容并不精确相关的片段。

例如,一个片段来自文档中关于拿铁咖啡历史的段落,另一个片段则包含了对拿铁咖啡配料的不完整描述,甚至还可能检索到包含无关引用(如“咖啡师手册”)的片段。

这些检索结果在没有筛选的情况下被一并提供给模型,导致模型的回答驴唇不对马嘴,出现了明显错误,这背后可能的提示词是:

根据以下知识片段回答问题:

[知识片段1]

**© 咖啡知识大全 2025**

https://coffee-wiki.com/retail

拿铁咖啡的历史与起源

17世纪,维也纳柯奇斯基将军发现土耳其人留下的咖啡豆…

[知识片段2]

牛奶咖啡在意大利语中称为”Caffè latte”,传统使用高温灭菌奶…

[知识片段3]

取冷藏全脂牛奶200ml

用蒸汽棒加热至60℃并打出细奶泡

将牛奶缓慢倒入咖啡杯

问题:标准拿铁咖啡的配方是什么?需要多少毫升牛奶?

这里如果引入CoT也是灾难:

1. 用户问配方和牛奶用量

2. 上下文提供:

– 片段1:拿铁历史(无配方)

– 片段2:名称起源(无用量)

– 片段3:提到200ml牛奶但无完整步骤

3. 关键缺失:

– 没有完整的步骤说明

– 没有明确说200ml就是标准用量

– 缺少开头(咖啡萃取)和结尾(拉花)

4. 基于训练数据推测:

– 历史知识常见(维也纳起源正确)

– 200ml是常见牛奶量(保留但加”左右”模糊化)

– 缺少步骤→用通用话术填补(”参考咖啡师手册”)

这里问题就很简单,没有对文档进行清洗,所以在文档向量化之前一定要对知识进行处理

文档处理

文档的全局处理属于框架型工作是一门技术活,但具体到每个文档的处理,又变成体力活了,他的动作很简单:

去掉页眉/页脚/URL/无关引用;把表格转成完整句子;只保留与“拿铁配方”强相关的干净文本。

以下是一段清洗后的片段,供大家参考:

[Chunk_A_clean]

【标准拿铁配方(单杯)】

咖啡粉:18g(萃取一份双倍浓缩 Espresso)

牛奶:180ml(蒸汽打发,温度约55–60℃)

步骤:

1) 研磨并萃取浓缩;

2) 将180ml热奶缓慢倒入;

3) 轻摇融合,可拉花。

[Chunk_B_clean]

比例说明:

常见咖啡:牛奶体积约 1:4(以18g粉对应约30–40ml浓缩+180ml热奶为例)。

这里形成的提示词就很清晰了:

角色:你是咖啡知识助手。

规则:

– 仅基于“资料片段”作答;资料未覆盖的内容不要编造。

– 回答必须给出“咖啡粉(克)”与“牛奶(毫升)”的具体数字与单位。

– 若资料无答案,请输出:`未在资料中找到`。

– 在句末用[编号]标注引用来源(如来自片段[1]与[2])。

用户问题:

“如何制作一杯标准的拿铁咖啡?需要多少克咖啡粉和牛奶?”

资料片段:

[1] {Chunk_A_clean}

[2] {Chunk_B_clean}

输出格式:

– 先给出配方用量(粉、奶、温度)

– 再给3步以内的简要步骤

– 最后标注引用,如:[1][2]

这里其实不难,我们这里再插一句向量化。

向量化

切片的目的是为了存入向量库方便后期检索,这里需要进行的一步就是文本向量化:

向量化是将文字转换为高维空间中的坐标点(如512维向量 [0.24, -0.57, …, 0.83]),让机器能计算语义相似度(距离近=语义相关)。

这里还是举个例子,让大家有更具象化的认知:

# 测试文本

query = “酸味明亮的咖啡豆”

doc1 = “埃塞俄比亚耶加雪菲:柑橘酸感突出”

doc2 = “巴西咖啡:坚果巧克力风味,低酸度”

# 向量模型1:通用模型 text-embedding-ada-002

vec_query_ada = [0.12, -0.45, 0.23, …]  # 维度示例

vec_doc1_ada = [0.08, -0.41, 0.19, …]

vec_doc2_ada = [-0.33, 0.72, -0.15, …]

# 计算余弦相似度

sim_ada_doc1 = 0.68  # query与耶加雪菲

sim_ada_doc2 = 0.62  # query与巴西

# 向量模型2:领域模型 BGE-large-zh

vec_query_bge = [0.87, -0.12, 0.64, …]

vec_doc1_bge = [0.82, -0.08, 0.61, …]

vec_doc2_bge = [-0.24, 0.33, -0.47, …]

sim_bge_doc1 = 0.92  # 显著提升!

sim_bge_doc2 = 0.31  # 无关项被压制

这个简单的案例,大家可以清晰看出query与doc1更为贴合。

这里再举一个反面案例,当坏向量遇上检索会怎么样?

# 步骤1:向量化(使用text-embedding-ada-002)

– Query向量:`酸味明显的咖啡豆` → [0.21, -0.33, 0.47, …]

– 相关文档向量:

– 正例《耶加雪菲》:”柑橘酸感明亮” → [0.18, -0.29, 0.42, …]  # 相似度0.75

– 干扰文档向量:

– 反例《巴西咖啡》:”低酸度” → [0.24, -0.35, 0.39, …]  # 相似度0.82! (错误更高)

# 步骤2:向量检索(Top 2召回)

| 排名 | 文本                      | 相似度 | 实际内容               |

|——|—————————|——–|————————|

| 1    | 巴西咖啡:坚果巧克力风味  | 0.82   | **低酸度**(干扰项!) |

| 2    | 咖啡因含量对照表          | 0.78   | 无关表格               |

| 3    | 耶加雪菲:柑橘酸感明亮    | 0.75   | 正确答案被挤出Top2     |

# 步骤3:生成答案

输入Prompt:

“巴西咖啡:坚果巧克力风味,低酸度”

“罗布斯塔豆咖啡因含量:2.7%,阿拉比卡豆:1.5%”

问题:酸味明显的咖啡豆推荐?

如果知识问答是这样的话,就会出问题:推荐巴西咖啡,它具有坚果风味且酸度较低。

正确的索引带来了错误的回答,这种情况在RAG技术中也不是个例,遇到这种问题,多半就要引入数据工程与飞轮系统了,并且可能会涉及部分微调。

最后,在真实使用过程中会对问题进行重写,比如:

扩展前Query:”酸味明显的咖啡豆”

扩展后Query:”酸度 或 酸味 或 明亮酸质 的 咖啡豆 品种”

向量化的意义

最后发散一下,大家其实也发现了:RAG技术其实并不非要依赖向量库,也就是只要能将知识搜索出来,事实上并不一定需要向量化。

而RAG技术在2年多之前普遍被大家接受,核心原因有两个:

  • 第一是,当时模型上下文太短,4k、8k、16k是主流(32k都一票难求),在这个基础上,就算向量库特别好用,但受限于提示词长度,其实也不好用;
  • 第二是,受限于AI项目认知,并不知道如何组织私有化数据,RAG提供了一个范式,自然而然就用了,至于好不好又再说;

站在这个基础上,大家事实上可以认为:所谓RAG在初期,事实上也并不好用,因为模型上下文装不了完整的知识库,知识库不全无论如何都回答不好。

因为就是在之前的场景,也不存在将全量数据给模型的可能,将知识变成小片段、将知识进行精炼压缩以减少长度,这是一种以精度换准度的妥协。

然后随着模型技术发展,模型上下文扩展到足够大了,RAG反而变得好用了,这也是为什么我前面会说,RAG属于后训练(微调)的一个替代方案的原因。

只不过,在上下文如此健壮的今天,另一个问题也就产生了:似乎,向量化意义不大,比如在知识库不多的时候,全量导入反而是最优解。

想象一下,直接把整本《咖啡百科全书》PDF的文本内容(当然,经过必要的清洗和格式优化)塞进提示词,好像也没什么不好,毕竟也就几万字…

所以,也许我们需要的思考的是向量库在模型阶段初期不好用,模型阶段后期用不着,重要的可能一直是结构化的知识库…

进一步的思考

如前所述,向量库的目的只有一点:将用户的提问涉及到本地知识的部分搜索出来,仅从这个角度出发,向量检索完成的功能与模型LLM是类似的,甚至可以粗暴的将向量库当成“预训练过的小模型”。

但是,向量化毕竟不是模型训练,无论分块策略如何优化,向量检索始终面临“用固定维度向量表示无限语义”的瓶颈,且其优化目标(语义相似性)与下游任务目标(答案精准性)存在天然鸿沟,比如:

# 语义相似高 ≠ 答案支持性强

Query = “酸味明亮的咖啡豆推荐?”

Doc1 = “耶加雪菲:柑橘酸感突出(产地埃塞)”  # 高相关!但向量相似度可能被弱化

Doc2 = “咖啡酸味的化学成因:绿原酸分解”      # 高相似!但无法直接回答“推荐”

因为根本无法确定用户会输出什么莫名其妙的问题,多以一定会存在怎么都索引不到知识的场景,这也许是RAG最大的问题。

当然,我这里并不是要否定向量化,只不过我在思考其更好的用法,以我们的某次实践为例:也许我们可以设计一套结构化的知识库,比如知识图谱。

然后我们对向量索引的使用仅仅压缩到,对关键Key的筛选,比如我们结构化的知识库中存的是完善的疾病信息,而向量库中存的是症状与疾病的映射信息。

在检索时,我们只需要关注用户的描述应该是什么症状,再从相关的症状向量中将可能关联的疾病检索出来,而后我们直接使用结构化的疾病库即可。

知识载体-语义路由

这里所谓将向于关键Key筛选,其本质是将向量库从知识载体降级为语义路由器,其实也是一种数据工程的混合架构了…

举个例子:

  • 患者描述“心口疼”被向量匹配到《心肌梗死护理指南》(语义相似度高)
  • 实际病因却是胃食管反流(需关联“饭后平躺加重”等非直接相似特征)

如果这里只将向量库作为语义路由的话,情况会有所变化:

A[患者描述:“饭后心口灼烧样疼”] –> B(向量症状路由器)

B –> C[“灼烧感”聚类:胃酸反流症状组]

C –> D{知识图谱路由}

D –> E1[疾病库:胃食管反流病]

D –> E2[疾病库:心绞痛]

E1 –> F[关联“体位诱发”特征:阳性]

E2 –> F[关联“运动诱发”特征:阴性]

F –> G[确诊:胃食管反流病]

在这个案例里面,向量层仅完成症状语义聚类(将“心口疼”映射到“胸痛症状组”),其余工作交给知识图谱(或者结构化的知识库)。

该框架的实现框架为二:

  1. 语义向量库以及结构化的知识库:向量库(语义路由器):专注于理解用户意图的自然语言表达,将其映射到预先定义好的、结构化的关键概念、类别或索引键上。它的核心能力是“理解用户问的是什么(领域/主题/意图)”。
  2. 结构化知识库(知识载体):存储经过精心组织、清洗、关联的领域知识。形式可以是知识图谱、关系数据库、文档数据库(包含强元数据)、甚至规则库。它的核心能力是“精准、高效、结构化地回答基于关键键的查询”。

他核心目标其实是要解决语义相似 ≠ 答案相关的问题,向量路由只负责理解意图并将其路由到最相关的“知识抽屉”(如“胸痛症状组”、“拿铁配方库”),而非直接返回可能包含干扰信息的原始文本片段。

后续由结构化的知识库基于精确的键进行查询,确保返回的信息与查询目标高度一致。

这是一种更贴近人类认知的做法,人类在解答问题时,也是先理解问题意图(路由),然后在结构化的知识体系(记忆、手册、数据库)中查找相关信息,最后进行推理和表达(生成)。

只不过,该架构的挑战也很明显:其结构化的知识库十分难设计,并且要考虑其如何与路由向量库交互,整体工程难度是很高的。

最后给一个流程图:

用户Query

└─► 语义路由层(多信号融合)

├─ 向量近邻召回(症状/意图/主题簇)

├─ 关键词/BM25/正则/实体识别

└─ 轻量规则(黑白名单、领域优先级)

路由决策(Top-N 目标:{实体、关系、表、规则集、API})

知识载体层(结构化)

├─ 知识图谱(实体-关系-约束)

├─ 事实表/维度表(指标、版本、地域)

├─ 规则引擎(阈值、if-then、时效)

└─ 特征/检验库(医疗、法务、品控)

▼  生成层(可选)

├─ 模板化口径(严谨场景:医疗、法务)

└─ LLM 语言润色(附引证与可追溯ID

结语

好了,今天我们重新梳理了RAG技术的核心链路、剖析了向量化的双面性,并大胆探讨了向量路由+结构化知识库的混合架构。

当然,文章可能有些地方有歧义,比如:向量化意义不大

这里我也不是要否定向量技术的价值,而是在思考他更好的使用场景是什么,毕竟全部丢给大模型的话,成本上面也会高不少。

整体文章如上,一不小心又写多了,希望对各位有帮助…

本文由人人都是产品经理作者【叶小钗】,微信公众号:【叶小钗】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。