跳到正文
汉松札记
返回

绕过多模态税:混合 RAG、SQL RRF 与 UI 遥测

AI Highlight

来源

文本来源是 AI Engineer 频道视频《绕过多模态税:混合 RAG、SQL RRF 与 UI 遥测》的修复版中文稿。下面按汉松兴趣画像优先保留机制解释、反常识判断和可复用工作流,而不是做普通摘要。

开头可以先抓住一句:本演讲由 Ogilvy 高级后端开发者 Abed Matini 在 AI Engineer World Fair 2026 线上专场发表,主题是”绕过多模态税”:介绍如何构建一套无需付费框架的混合 RAG 系统,涵盖文档结构化摄入(Docling + Markdown)、多策略分块、混合检索(向量搜索 + BM25 关键词搜索 + RRF 重排)、本地 LLM(Ollama)、UI 遥测(LangFuse)以及提示词注入防护等完整方案。

一、第 1 段

背景

介绍演讲背景与两大核心问题:上传文档消耗 token、生产环境工具过多难以管理;演示 FAQ 助手聊天机器人的整体功能。

这就是第一个问题。第二个问题:如果我们在构建聊天机器人时,既想要向量数据库,又想要关键词搜索和语义搜索,还想不断添加更多工具,最终生产环境里的工具会堆积得过多,导致整个生产聊天机器人难以有效管理。

介绍演讲背景与两大核心问题:上传文档消耗 token、生产环境工具过多难以管理;演示 FAQ 助手聊天机器人的整体功能。

兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。

二、第 5 段

背景

演示截图上传与维护计划查询;讲解数据清洗对 RAG 质量的重要性;介绍 Agent 模式与直接 RAG 的设计取舍,以及使用轻量 Python 函数替代多个 Agent 调用的原因。

当员工来问”这个周末有维护计划吗?“时,系统应该能返回维护计划的详情以及引用文档。可以看到,系统返回了准确的维护窗口信息,引用来源正是我们刚刚上传的截图。如果文件名取得更好,引用会更加清晰。系统告诉用户:“根据我获取的信息,明天下午 6 点起至午夜将进行维护。“我还可以随时归档和删除这些文档,删除后就不再可见了。这些就是不同的分块方式。这是整个系统中最重要的部分之一,因为大多数 LLM 都能正常工作,

演示截图上传与维护计划查询;讲解数据清洗对 RAG 质量的重要性;介绍 Agent 模式与直接 RAG 的设计取舍,以及使用轻量 Python 函数替代多个 Agent 调用的原因。

兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。

三、第 6 段

背景

展示所用 LLM(Qwen 2.5 0.5B 指令模型);讲解向量数据库存储结构、余弦距离近邻搜索与 BM25 关键词检索的混合检索原理,以及返回结果数量对不同场景的影响。

这里展示一下数据库中的向量和相关内容。分块时,我们会记录 ID、章节以及使用的向量嵌入类型,然后存储分块内容。我们可以看到如何找到最近邻,同时也进行关键词匹配。因为如果你做的是客服产品聊天机器人,你不需要”最相近”的信息,你需要的是精确信息。涉及数字、产品名称,或者医疗聊天机器人中的药品名称,你需要的是精确匹配,而不是近似匹配。所以我们需要同时具备关键词搜索和语义搜索,也就是混合搜索,以获得更好的结果。

展示所用 LLM(Qwen 2.5 0.5B 指令模型);讲解向量数据库存储结构、余弦距离近邻搜索与 BM25 关键词检索的混合检索原理,以及返回结果数量对不同场景的影响。

兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。

四、第 7 段

背景

介绍重排器机制;对比 Agent 模式与直接 RAG 的适用场景;演示 LangFuse 遥测集成,展示对话 ID、模型信息、延迟、分块数量等可观测数据;介绍护栏机制(医疗升级拦截示例)。

这些规则需要用不同的关键词和句子类型来扩展,需要测试有多少种情况可以绕过或无法绕过。从技术上讲,这是一个示例,展示了我们的护栏应该如何拦截所有不相关的查询。同样的逻辑也适用于提示词注入等场景。关于 LangFuse,只需生成一个密钥,配置到系统中即可。我简单介绍了一下可观测性的内容。

介绍重排器机制;对比 Agent 模式与直接 RAG 的适用场景;演示 LangFuse 遥测集成,展示对话 ID、模型信息、延迟、分块数量等可观测数据;介绍护栏机制(医疗升级拦截示例)。

兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。

五、第 8 段

背景

深入讲解提示词注入防护(意图拒绝、词典过滤、LLM 分类器);展示用户同意控件与小组件嵌入方式;介绍模型选型经验:小模型加数据预处理可以获得更低幻觉率;介绍 BGE 嵌入模型的使用。

我拉取了 Qwen 2.5。最初我用的是 7B 模型,但速度较慢,所以对于较小的服务器,我换成了 0.5B。我尝试过不同的模型,模型越大,速度越慢,而且可能会过于冗长。我的一个有趣发现是:你不需要最大的模型。如果你能在发送给 LLM 之前对数据进行充分的预处理和筛选,最小的模型就能给你很好的答案,而且幻觉更少,也更安全——如果没有相关信息,它会直接说”我没有这方面的信息”,而不是随意编造。

深入讲解提示词注入防护(意图拒绝、词典过滤、LLM 分类器);展示用户同意控件与小组件嵌入方式;介绍模型选型经验:小模型加数据预处理可以获得更低幻觉率;介绍 BGE 嵌入模型的使用。

兴趣匹配度很高。它对应的是 Agent 工程化的核心问题:如何把不稳定的模型行为放进清晰的状态、动作、工具和反馈闭环里。

整体判断

这篇最值得保留的不是某个单点技巧,而是它把「绕过多模态税:混合 RAG、SQL RRF 与 UI 遥测」放进了更完整的工程框架里:第 1 段、第 5 段、第 6 段。这些内容可以作为汉松后续写 AI 工程、Agent 系统和团队工作流时的素材。

更重要的是,它提供了一种判断 AI 系统的方式:先看问题如何被拆成状态、动作、工具、评估和人的边界,再看模型能力如何嵌进去。只有这样,视频里的做法才会从一次演示变成可迁移的方法。

AI Highlight RSS
分享这篇文章:


上一篇
结构化非结构化内容
下一篇
语音输入,视觉输出:痛苦与狂喜