粉丝4.6万获赞34.0万

别再死磕向量切片了,传统 r a g 模式在复杂剪辑面前已经输了。最近爆火的 page index 项目,配合 mapping 二点五模型,在金融领域最高难度的测试中,跑出了百分之九十八点七的惊人准确率。 而我们常用的传统向量 r a g 还在百分之六十左右挣扎。他最狠的地方在于彻底放弃了向量数据库,也不把文档切得支离破碎。他只做了一件事,把剪辑从单纯的关键词匹配, 升级成了人类专家级别的逻辑推理。 r a g 的 慢思考时代已经来了。为什么说传统 r a g 已经遇到天效瓶颈了? 因为它本质上是在用直觉做题。这种模式对应心理学里的系统一思维,当你提问时,向量库就像个没过脑子的抢答选手,瞬间把长得最像的五个片段扔给你。问题就在这项量搜索只看与意相似度,他根本看不懂逻辑。在他眼里, 一段话和另一段话之间的因果、时序或者层级关系是不存在的。这种碎片化的处理方式,注定了他在面对复杂文当时会变得非常愚蠢。 我们拿金融分析实操来举个例子,如果你问苹果公司去年的净利润,传统项链库很可能会甩给你一段两千零二十年的旧文,或者一段讲苹果醋利润的冷门严爆。 最离谱的是,他可能只给你找回一个光秃秃的表格头,而具体的财务数据在切片时被丢在了另一边。为什么会这样?因为在向量看来,苹果净利润这些词都对上了,得分就是满分。至于年份对不对、业务对不对,数据在哪一页,他完全没概念。 这种缺乏逻辑的暴力剪索,在金融这种高精度场景里,显然已经跟不上时代了。 page index 之所以能跑出这么高的准确率,是因为它复刻了人类专家查阅几百页招股书的过程。 他不是把文档切碎了扔进库里,而是利用多模态模型,把整篇文档解析成了一颗大局与艺术。从最顶层的总览,到目录章节,再到最底层的正文和表格,所有的信息都在这棵树上,这意味着他保留了文档最原始的拓扑结构。 当你在搜某句话时,模型能清楚的知道他的复写点是谁,属于哪个章节。逻辑链条从一开始就是完整的,完全避开了切片带来的信息断裂问题。 有了这棵树,解锁就变成了一个路径搜索问题。比如你问 a 公司海外业务的营收占比模型不会去盲目搜关键词,他会先看树的根节点思考,这是不归研发投入管,应该去经营状况分析里找。 然后他会沿着这个分支进入目标章节继续推理,最后精准锁定在第四十五页的第三章表格。 你看,这不再是概率性的关键词匹配,而是一个带逻辑的决策过程。他不是在几万个碎片里乱捞,而是带着上下纹,顺着藤摸到了那个瓜。 page index 还有一个非常超前的黑科技,就是直接支持视觉 r a g。 大家在做金融文档处理时,最头疼的就是那些无边框表格或者嵌套图标,传统的文字提取一读就是一头乱码。而 page index 允许模型直接去看 pdf 的 页面截图。 你要知道,在复杂的招股书里,排版和布局本身就是一种语义模型,直接看图说话,完全绕开了 o c r 乱码的大坑。 这就好比你给 ai 配了一双眼睛,让它能像人一样直接从视觉拍板里捕捉信息,这在工程实线上,简直就是降维打击。很多人会问, page index 这种逻辑推理模式既然这么准,为什么以前不火?说白了,以前是用不起。在 gpt 三点五时代, 如果你让大模型一遍遍去读目录做决策,再找论文,那个 token 消耗和延迟能让项目负责人当场破产。但现在不一样了, 随着 cloud 三点五、 sonet 或者 deep seek、 v 三这些高智商、低成本模型的出现,以算力换精度的经济账终于算了过来了。 page index 的 爆发,本质上是模型推理成本下降带来的技术红利。 作为架构师,咱们得理性看问题。 page index 确实准,但它不是万能药,它的致命伤在于慢、贵,而且目前还没法像项链库那样轻松扩展到千万级文档。所以你的选型逻辑应该是这样, 如果你做的是海量文档的通用剪索,向量 r a g 的 好秒级响应依然是你的首选。但如果你处理的是单份文档的深度分析,比如审合同、看财报,对精度要求极高且能容忍秒级的延迟, 那 page index 就是 降维打击。记住一句话,降量解锁负责找书,而 page index 负责读书,两者是协助关系,不是替代关系。说了这么多,未来的企业级 r a g 到底长什么样?绝对不是二选一,而是混合编排。 第一层,先用向量搜索在大海里捞针,把几十万份文档秒集缩减到最相关的几十份。第二层马上切换到 page in text 模式,给这几十份文档构建大局与艺术。最后一步,让大模型在数结构里进行深度推理,提取逻辑闭环的答案。 这就是从解锁引擎到认知引擎的进化。向量负责找书, page in text 负责读书,二者合一才是 r a g 真正的终局。

拿下 ai 大 模型,正确的学习顺序是什么?我们先从大模型基础开始,学神经网络、 transformer 等内容,然后从提示词工程开始,好的 prompt 才能让大模型发挥出更好的效果。接着学 r a g agent, r a g 就是 搭建私有知识库,把自己的数据喂给大模型。 agent 是 大模型应用的大风口,能自主感知环境并执行任务。在工具上学习 lantern 这样的开发库和 luma index 这样的数据缩影和剪索工具。最后学习模型训练和微调。这一阶段学习各种常见的预训练模型、 模型结构、学习方式、 call 多模态微调等等,内容太多了。为了让大家更直观地看到这个路线,我把完整的学习路线,还有大模型学习的全套资源整理出来了,希望对你有所帮助。很多人做 r i g 项目,解锁精准度上不去,第一反应就是换个更好的 embedded 模型,或者是加向量维度,结果发现不仅没变好, 成本还翻了好几倍。其实这就是典型的技术路径错误。对于 r i g 来说, query 改写才是一切解锁质量的前提。今天我们就来系统复盘一下这一项核心技术。 首先,我们会先拆解一下 query 改写的本质动机,你得先明白系统为什么会失忆,为什么会听不懂人话,这是我们后面所有优化的前提。第二部分,我会带你对比目前最主流的三种技术路径, 从 high 的 域域增强到任务分解,再到上下文补全,哪种方案适合你的业务场景,哪种是在浪费算力,我们一次性帮你理清楚。 当然,光有算法不够,工程落地的那些坑才是最折磨人的。比如说怎么把响应时间压在两秒以内,怎么防止模型自作聪明导致的方向跑偏,还有怎么通过意图路由省下大把的成本, 这些都是我从无数个 bad case 里面总结出来的防坑指南。最后我们会构建一套量化评估闭环,通过这一套体系,我们能把项目优化的每一步都落在实处,真正做到心里有数。 ok, 那 我们就先来搞清楚一个最根本的问题,我们为什么要大费周章的去改写用户的提问啊?来看这三点,其实大部分时候直接拿用户的原话去搜,问题都卡在这里。 第一点是羽翼鸿沟,你想想用户说的是大白话,比如说这个怎么弄,但是你的知识库里面全都是规范的专业文档,这两者在向量空间里完全不在一个频道上,你直接去搜,匹配度当然会很低啊。第二个是意图模糊, 用户提问时经常省掉背景,比如他说帮我优化一下模型,根本不知道是指优化代码还是优化你的模型参数,如果没有办法去补全这些信息,模型输出的结果肯定南辕北辙。 那第三个问题也是多轮对话里面最常碰到的就是上下文段层,用户聊到第三轮,总喜欢说刚才提到的那个那个到底是什么?如果没有改写器去把代词还原成真实的实体, 你的解锁系统就像是失忆了一样,兑换没法进行下去。所以改写其实就是为了填补这些空隙。 那么改写到底是在做什么呢?很多人觉得这不就是简单替换几个词吗?其实不是,但中间这个处理层,我们不是在做同义词转换,而是在做协议转换 用户的输入,比如说报错了帮我看一下,那是人的表达方式,但是你的知识库里面想要的是明确的意图和实体。我们中间这个环节其实就是把不确定的口语化的表达翻译成了一套结构化的解锁系统,一眼就能看懂的声明是指令, 这就是改写的本质,把人的意图对起到机器能解锁的逻辑维度上。既然知道了为什么要改写,那接下来我们得聊一聊怎么去改。 市面上的方案其实挺多的,但是总结下来呢,其实就是这三种核心路径,我们选对了路径,才能在性能和准确率之间找到那个平衡点。那第一个是语义增强型,也就是业界很出名的 hider, 它专门对付那些因为术语差别很大,导致搜不到东西的情况。 第二个是任务分解型,这个就比较适合那种特别复杂的问题,比如说让模型做多步对比,我们直接拆开化整为零。 最后一个是上下文补全行,这是专门为了解决多轮对话里面带词只带不明的问题,让每一轮查询都变成一个独立的完整的需求。那我们就一个一个来拆解一下。先来说一下这个 hider, 这个逻辑其实很有意思,我们不直接拿用户的问题去库里搜,为什么?因为问题是问句,库里查的是答案,两者是不在一个维度上的。 所以我们先让模型针对问题生成一个假答案,这个假答案的语气用词跟库里的真文档是很像的。这就好比我们去问路,你直接问哪有吃的,不如描述一下,我想吃一碗牛肉面。假答案在下量空间里和真实文档的匹配度一下子就拉高了, 这就是所谓的答案对答案。接着看任务分解,当你问了一个特别复杂的问题的时候,模型一次性处理容易顾此失彼。这时候呢,我们就得把问题给拆开, 先让模型去搜一些宏观背景,变成一个个小的原子问题。那就好比写论文,你得先练一个提纲,再分别去找每个章节的素材,搜完以后再合并在一起,这样结果会精准的多。 最后再说说这个上下文补全。在连续对话里面,用户说,帮我查一下那个参数的默认值,这个参数到底指的是什么? 系统必须得把之前的对话历史翻出来,我们用大模型做一个脱水处理,把对话历史里的关键信息给提取出来,重新拼凑成一个完整的、没有任何歧义的线索 query。 这就像是给了系统一个短期记忆,不管用户聊到第几轮,它都能准确地知道那个参数指的是什么。 这三种方式其实包含了我们大部分的业务场景,但问题来了,在实际的工程里,真的能这么顺畅的用吗?接下来我们聊一聊这里面真实存在的一些挑战。 你看,如果按传统那种串行架构,用户提问先等模型改写,改完了再解锁。这一来一回,哪怕大模型响应的再快,用户可能也得盯着屏幕干等两三秒,这在互联网产品里面基本等同于卡顿。那怎么解决呢?其实思路很简单,就是搞异步并行, 我们不用那种特别重的大模型来改写,专门去微调一个小模型,速度快。改写的同时呢,我们还可以让系统并行做一次基于原画的初筛检测, 这样一来,改写后的结果和初筛结果同时就位,大大压缩了整体的等待时间,用户感知会好很多。还有一个大坑就是大模型,他有时候会自作聪明,用户问苹果怎么吃,他非要给你改成苹果手机售后维修,这叫做查询漂移。 为了防止这种方向性错误,我们得加一道保险,就是熔断机制。改写完成以后,我们得先算一下改写前后的语域相似度,如果发现意思跑偏了,直接触发熔断,系统自动放弃改写后的结果,回退回去,直接拿用户的原话去搜,这其实就是给系统加了一道安全防线。 最后我们还要说一下成本问题,这可能也是很多团队最关心的,你如果对所有的问题都搞一遍改写,算力成本根本吃不消,扣款费哗哗的往外流。 其实这就像饭店的点餐流程,没必要每个人都建大厨,我们在流量入口加一个意图路由,如果用户只是简单打个招呼, 或者是问个特别明确的基础问题,直接跳过改写,走简单的剪索通道,省钱又省力。只有遇到那种长难句,逻辑特别复杂的多轮对话,我们才把高阶改写引擎给打开,这就叫好钢用在刀刃上,把成本算的精细一点, 这几个工程策略组合下来,你的 r r g 系统才算是真正能走进生产环境了。那怎么知道这些优化到底有没有效呢? 最后我们来聊一下,怎么建立一个完整的评估闭环。做项目最怕的是什么?最怕的就是你凭感觉觉得今天改写效果还行,或者好像还是不准。我说真的,工程这东西啊,还得靠数据说话。你看这张图, 这是一个标准的闭环,我们千万不能靠主观感受,必须得去构建一套测试集,里面要有明确的 ground shoes, 也就是标准答案。有了这个,我们就可以量化了。改写后的 query 和原话相比,相关性有没有丢? hope k 的 解锁命中率是不是真的提升了? 通过对比这些指标,我们能直接抓到系统的 bad case, 发现哪里不行就去掉 prompt, 去微调模型这个反馈链路,只要跑起来,你的系统就是每天都在进步的。 讲到最后,我想给大家总结一个思路,其实 r r g 设计的本质就这么一个流程,先理解意图,再对齐向量,最后生成答案。很多时候大家解锁不准,第一反应都是我是不是知识库整理的不好,或者是不是向量模型不够强?其实未必, 往往是因为系统根本就没有听懂用户到底想问什么。所以说,把 quarry 改写这一层做扎实了,给后面的检测提供高质量的燃料,这才是真正的高级工程新法。 做 r r g 系统啊,不是简单的把组建给拼起来,而是一场从搞清楚用户动机到构建闭环优化的完整工程挑战。希望今天的分享能给正在做项目的你们一点启发。那今天就聊到这里,我们下期再见。


minor u 三点一是现在文档解析领域非常火的一个项目,如果你正在做 r i g 或者大模型训练,肯定会遇到怎么把 pdf, word, ppt 高质量转成 markdown 微给模型的问题。 今天我不讲虚的,直接带你走一遍 minor u 三点一的全流程实战。我们会从环境安装、引擎选型开始,一直讲到批量处理,到客生产部署,以及如何集成到 ai 工作流和处理常见的报错问题。先看环境要求, minor u 需要 python 三点一零到三点一三之间的版本, 为了避免环境冲突,建议直接用 conda 创建一个三点一一的隔离环境。创建好之后记得执行 activate 命令。进入环境安装建议使用 uv, 速度比 pep 快 很多,先安装 uv 工具,然后执行全量依赖安装命令。 如果下载超时,直接在命令后面加上清华园的地址。如果有代理环境,记得提前配置好 https 和 http 的 环境变量。 有 nvidia 显卡的话,建议配置 gpu 加速。先用 nvidia 微查看驱动支持最高版本,或者用 nvcc 查看实际安装的版本,根据查到的版本选择对应的 pay torch 安装命令。 如果是十二月一日版本就选 ceo 幺二幺的链接,十一月八日版本就选 ceo 幺幺八的链接,千万别装错了。 最后做个验证,直接在终端输入 miniro, 加上 help 参数,只要能看到帮助信息就说明安装成功了。选引擎的核心就是权衡精度、速度和显存排版模式,主打快四 gb 显存就能跑,处理合同报告这类文档绰绰有余。 如果你想要更均衡一点, hybrid 的 模式是大多数人的首选,精度和速度比较平衡。但如果你面对的是学术论文或者排版极其复杂的出版物,那就得用 v l m 模式。虽然它速度慢,对显存要求高,但能提供九十五分以上的顶级精度。 另外提醒一下,用 v l m 或者 hybrid 模式时,记得提前在磁盘留出二十 g b 左右的空间来存放模型权重。 拍拍模式非常适合处理大规模的日常文档。用法很简单,通过 pe 参数指定文件名或者文件夹路径,再用 o 指定输出位置。它的最大优势是硬件门槛极低,哪怕只有 cpu 也能跑,而且处理速度非常快。 但在处理那种带有跨越多栏表格的极端复杂排版时,它的精度会比 v l m 模式稍微低一点。当你需要处理学术论文或者那种公式和表格非常密集的出版及文档时,就要切换到高精度模式, 你只需要在命令后面加上 b 参数即可。如果你想要在精度和速度之间找个平衡,就选 hybrid。 如果你对精度有极致的要求,那就直接指定使用 v l m 引擎。 最后总结一下,处理日常文档,或者在没有 gpu 的 环境下直接用 pipeline 做学术研究。想兼顾速度选 hybrid, 如果文档非常复杂,追求极致精度,那就选 vm。 根据你的硬件和文档难度来做选择才是最高效的。 miner u 三点一的格式兼容性做得非常好,它除了支持 pdf 和图片,最新的三点一版本还补齐了对 word、 ppt 以及 excel 的 原声支持。不管你处理的是单个文件还是整个文件夹,直接用 mineru 命令指定路径和输出目录就行。 解析完成后,你会得到一个结构化的输出目录,里面主要包含三部分,一个是最终的 markdown 文件,第二个是包含版面信息的结构化,节省数据。还有一个 images 文件夹,里面存放着所有被提取出来的图片。 mine 里有的智能化程度非常高,它能自动识别标题层级,把复杂的表格转成保留行列结构的 html 格式,公式也会自动转成 a t k。 最厉害的地方在于,他能按照人类的阅读顺序重新排列正文,并且自动把页眉、页脚和页码这些干扰信息去掉, 同时把图片提取出来,并在正文中保留好引用位置。如果需要处理大量文档,可以直接把路径指向文件夹进行批量解析。 manu 三点零之后引入了滑动窗口机制,处理超长文档时能大幅降低内存压力。 如果是企业级的生产环境,我建议直接用 docker 部署环境隔离且方便管理。如果你有多个 gpu, 还可以配合 managerater 做覆盖均衡,实现高效的并行处理。 总结一下, minoru 三点一已经不再是一个单一的解析工具,而是一个完整的文档解析平台。它实现了全格式覆盖,提供了精度与速度兼备的三档引擎,拥有完善的 docker 和 api 工程化能力。最关键的是,它现在的 app 二点零协议对商业集成非常友好。 如果你正在做 r a g 或者大模型训练相关的项目, minoru 非常值得你尝试。 minoru 的 生态集成非常全面, 在 r i g 框架方面,它原生支持 lan chain, lama, index defi 以及 fast gpt 等主流工具。在平台里直接选 minoru 引擎即可。如果你是开发者,它提供了 python, go 和 type script 三种语言的 sdk 以及 rest api。 另外,它还支持 m c p server 协议。你可以直接在 cursor 或者 cloudescope 里通过简单配置实现对话式的文档解析。 在落地过程中,如果遇到报错,可以对照这几个方案。如果提示找不到版本,请检查 python 是 否在三点一零到三点一三之间。 如果保险存不足,最快的办法是换成 play play 模式,或者直接加参数用 cpu 运行。如果发现公式或表格解析不准,说明精度不够,这时候需要切换到 v, l m 或者 hybrid 引擎。如果遇到此盘空间不足,可以考虑只安装 minio 的 core 最小化依赖包。 最后补充一点关于商业使用的信息, manageru 三点一已经从原来的 agplv 三协议变更为基于 apache 二点零的协议了。这意味着对于企业用户来说,集成到业务系统里的法律门槛大大降低,不再需要担心协议的传染性问题,可以放心在生产环境中使用。

每天讲透一个 ai 知识点,今天是零代码搭建, excel 数据分析格式化小助手。说真的,你是不是也还在为那些没完没了的 excel 报表头秃呢?别担心,我懂你,真的那种感觉,耗时又耗力的数据处理,一遍又一遍的重复性工作,还有最怕的就是一不小心手动分析搞错了, 那简直是灾难,辛辛苦苦做出来的图表,最后自己看着都觉得,嗯,差点意思,哎,但你想过没有,如果 ai 能变成你的专属数据分析师呢? 你来想象一下这个场景啊,你只要把那一堆乱糟糟的 excel 直接往他脸上一扔,然后呢,就简单的跟他说一句话,就一句,他就能刷刷刷自动帮你搞定数据分析图标格式化,最后还给你生成一份漂漂亮亮的报告。怎么样?听起来是不是跟变魔术似的?别急,今天啊,咱们就来亲手打造这么一根魔法棒! 好嘞,那在我们开始之前,先来看看今天的冒险地图。咱们就分四步走,很简单,第一步叫整装待发,先把环境准备好,然后呢,是核心配置,给他接上 ai 的 大脑。第三步,也是最酷的一步,铸造灵魂, 亲手定义咱们的智能助手。最后当然就是见证奇迹的时刻了,都准备好了吗?那我们马上出发! ok, 我 们来到了第一张,整装待发。俗话说的好,公寓善其事必先利其器嘛。所以啊,在咱们开始这场创造之旅之前,第一件事就是得先搭好我们的大本营,也就是把开发环境给准备好。 那我们大本营或者说我们的 ai 工作台是啥呢?就是它, cherry studio, 你 别看名字挺可爱的,它可是一款功能非常强大的本地 ai 应用开发工具,基本上我们后面所有的操作都是在这个大本营里完成的。而且啊,它的安装过程我跟你说超级简单,就两步,你先去它的官网 cherry 金融 ai 点 com, 然后根据你的电脑系统是 windows 还是 mac, 下载对应的版本,下载下来之后点两下安装搞定,就这么简单。好,现在进入咱们的第二张核心配置, 大本营已经建好了,建在就到了最关键的阶段了,我们要开始给咱们这个入手注入智,目前呢,还得给他装备上一些超级厉害的工具,让他变得强大起来。 你看,任何一个智能体,他的核心肯定得有一个强大的大脑,对吧?我们这次选用的呢,是阿里云百联平台提供的官三模型, 为啥选它?因为它的逻辑推理和代码生成这块表现真的非常出色,特别适合干咱们今天要干的活。那么问题来了,怎么让我们的工作台跟远在云端的这个 ai 大 脑连接起来呢?很简单,我们需要一把专属的钥匙,也就是我们程序员常说的 api key。 那 这把通往 ai 大 脑的钥匙难不难搞到呢?一点也不难,就三步,你跟着我来。第一,先登录到百练平台,第二步呢,在左边的菜单栏里找到 api 管理点进去。 第三步呢,创建一个新的 k, 然后把它复制下来。看,就是这么简单直接,一点弯路都没有。好了,要是咱们拿到手了,下一步就该让我们的工作台和那个 ai 大 脑接上头了。 回到 cherry studio 里面,操作同样是简单粗暴,还是三步走,第一步,找到模型服务。第二步,把咱们刚才复制的那串 a pad 直接粘贴进去。第三步,添加一下模型的 id, 顺便给他起个你自己喜欢的名字,方便识别。好了,搞定。你看,这不就连接上了吗?哎,等一下光有个聪明大脑还不够。如果他只会聊天,那对我们处理 excel 也没啥用啊,对吧?所以我们得给他赋予真正的超能力。这时候 m c p 服务就要闪亮登场了, 你可以把 m c p 简单理解成一个给 ai 用的插件工具箱,里面装满了各种工具。有了这个工具箱, ai 才能干活,比如说读取文件啊,画个图标啊这些具体的任务。你只要记住, m c p 全称是模型上下文协议,它就是 ai 的 那个插件工具包。那咱们这次需要用到哪些关键插件呢?你看啊,第一个是 files 工具, 这就相当于给了 ai 一 双能读写文件的手。第二个 quickchat server, 这就是他的绘图大师技能,话筒就靠他了。第三个也是最重要的 excel 插件,这个插件能让他瞬间变成一个 excel 解析专家, 有了这些他才能真正的处理 excel。 他 配置这些工具会不会很复杂啊?要不要写代码?我告诉你,完全不用, 我们根本不需要写一行代码,我们只需要用一段非常简单的 jason 配置来告诉 cherry studio 这些工具要怎么用。这玩意就像是给 ai 一 份工具使用说明书,或者说一本菜谱,告诉他你手上有这几样厨具可以怎么用。 ok, 工具说明书也给他了。那最后一步就是把这些工具的电源打开,我们手动把这四个 m c、 p 服务都给启动起来,这就好比按下了电源总开关一样,确保所有工具都处于待命状态,随时听候我们 ai 助手的调遣。万事俱备 好,欢迎来到我们最核心的第三章,铸造灵魂。你看啊,现在硬件,也就是我们的大脑模型和软件,也就是各种工具都准备好了,接下来就是整个过程中最激动人心的部分了,我们要亲手创造一个专属于我们自己的智能助手,并为它注入灵魂来。让我们回到 cherry studio。 看到这个大大的创建智能体按钮了吗?对,就是他,直接点下去,从现在开始,咱们就要扮演造物主的角色了,亲自来定义这个 ai 的 人格,他的职责,他到底是个什么样子的存在?要让 ai 听话,最关键的一点就是指令要给的特别清晰, 我们需要用提示词,也就是 prompt 来精确的告诉他,你是谁,你能干嘛?你的最终目标是什么?比如说,我们就可以直接这么告诉他。听好了,你现在是一位经验丰富的数据可化分析专家,你特别精通于解读、处理和分析 excel 数据,你的核心任务就是根据我给你的要求,自动生成一份特别漂亮的 html 报告。 你看,把角色和任务都定义的死死的,光告诉他你是谁还不够,我们还得给他立点规矩,也设定一些约束条件。 德,明确告诉他什么能做,什么不能做,最后将来的作业德是什么样子的,这样才能确保 ai 不 会自己在那自由发挥,搞出一些我们不想要的东西,比如说我们就得规定好,数据源必须是我上传的 excel 文件,不能自己瞎找,最终产品必须是 html 格式的报告,别给我弄个 word 或者 ppt 出来 哇!终于,我们来到了最后一张,见证奇迹到现在,所有的准备工作都已经搞定了,现在就是检验咱们成果的最终时刻了。来,让我们把这个新鲜出炉的 ai 助手拉出来溜一溜,看看它到底行不行。实际用起来的步骤我跟你说,简直不要太简单,就三步看好了。 第一步,在左边选中咱们刚刚创建的那个数据分析格式化助手,第二步,确认一下所有的 m c p 服务 是不是都打上钩了,都启动了。第三步,也是最后一步,在对话框里输入你的指令,就跟聊天一样,比如告诉他,请帮我对地盘某个路径下的那个销售数据 做个格式化分析,然后把报告保存在地盘的某个文件里,然后敲下回车。就在你按下回车键的那一瞬间,一个全自动的魔法流程就启动了,你看啊,他背后是怎么工作的?首先你的指令发出去,咱们的智能助手立刻就接到了任务,然后 q n 三这个大模型大脑就开始高速运转, 思考、拆解任务。接着他就会指挥那些 m c p 工具箱里的工具开始干活,最后把所有结果整合到一起,端进一份完美的 html 报告就生成了,整个过程简直是行云流水,一气呵成。当当当,见证奇迹的时刻, 这就是我们最终的成果,一份专业级别的数据洞察报告,大家快看,这里面不仅有关键洞察的文字总结,还有条形图、饼图、雷达图,各种各样的可设画图表,他都给你安排的明明白白的,最关键的是什么?所有一切从头到尾都是 ai 全自动生成的, 我们可没插手啊!好了,让我们来盘点一下,通过借此冒险,我们到底解锁了哪些新能力。首先,全自动分析流程,以后 跟那些繁琐的手动操作说拜拜了。其次,智能数据格式化,你再也不用纠结用什么图了, ai 会帮你选最合适的。还有深度业务洞察,他给你的不只是冷冰冰的数据,而是数据背后的故事。当然,最最最酷的是什么?这一切我们都是零代码光速实现的。好了,朋友们,现在你的专属数据分析师已经准备就绪 整装待发了,那么现在该轮到你了,你准备交给他的第一个挑战会是什么呢?别犹豫了,赶紧扫描屏幕上的二维码,现在就去开启属于你自己的 ai 助手创造之旅吧!

来在这个知识库里面找到相关的词,再把这些词统一的给到模型,模型和这些词一并去加工啊,最最后来返回信息, 这就是解锁增强。那所以解锁增强这个环节里面要涉及到几个部分,第一个是第一个知识库准备,就是你有哪些语料库,有哪些知识库,你要先把它准备好。这些知识库有很多类型啊,比如说你本身是 excel, 你 本身是 excel 还是 word 文档还是非输文档?对啊,非输文档也可以,非输文档也没问题。 好,这是知识库的准备。然后呢?知识库准备好之后,那么就涉及到知识库的文档的解析,那比如说 excel 解析,你就要需要有 excel note 来去解析它。那如果是 word 文档呢?你就需要有 word node 来去解析它。如果是非输文档呢?也需要有对应的这个 nark, 比如说 node 来解析它。好,这是知识库的文档解析。当文档内容解析完以后,第三步做什么?分片? 因为文档太大了,我举个例子啊,朋友们看我进的课间,我这个课间不少于一万字,应该是在一万五千字左右,我这个课间啊,这个课间有一万五千多字,那如果说我直接把这个课间内容全部给到大模型, 非常吓人的事情出现什么呢?为什么要分篇?因为它会撑爆。就是如果说你是大量的啊,大量的知识库里面的文档内容会撑爆,上下文撑爆, 因为大家知道模型回复的上下文,它是有一个范围的啊,你不能够超过,超过了就无法回复,超过了就无法回复,或者说甚至会出现一些幻觉,导致呢,最终的 这个输出不符合要求啊,之所以为什么要为分片分片,其实就是为了解决上下文的问题,解决上下这个幻觉问题,解决噪音问题,这是分片好分片,那有不同的分片的策略, 比如说向量分片的,分片的这个呃字母数,然后呢,还有呢分片的一个依据等等啊,这都是你要需要考虑的。分片的一般呢就是选择, 比如说向量数据库来存,但是啊,我告诉大家,因为今天给大家讲的是 reg, 所以 我们重点来去聊向量库的存储, 但是同你有没有发现像 codex 和 cloud code 的 这类的厉害的智能体,他压根不跟你聊什么 reg 向量库啊这东西,那他聊什么?他聊 记忆,什么记忆啊?比如说有用户记忆,还有呢,你当前的项目级的记忆,短期记忆记忆才是后续。如果同学们要学习通用型智能体的话, memory 是 另外一个大的课题,它既不就是我们同学们可能现在看到市面上很多文章说多了什么 rag, rag, 就 会认为 rag 是 应用在任何场景,并不是 reg 只是适合在当前很多企业产品里面,比如说我要做智能客服,做智能销售啊,做这些它可以作为一个语料库或者文档库 存在里面,需要的时候呢去解锁就行了。但是如果本身你的本地就有这样的一个智能体,类似于 codex 或者 cloud code, 那 你如果说还聊什么 reg, 到时候出去给面试官一说,如果面试官懂的话, 他就会笑掉大牙了,那为什么呢?因为 reg 他 并不是一个非常好的,或者说非常在任何场景下都能用的方案 啊,如果真正在通用型智能体里面,你应该用记忆来去解决,用记忆来解决,我举个例子啊,一个例子大家能够听懂,比如说用,我们,比如说妙马的,呃,或者我举举个其他的例子吧,比如说有一个电商公司的 销售情况,这个我们是不是可以把它作为一个 rag 啊?对吧?可以作为 rag, 但是同学们要想你把它作为 rag 了,那怎么存?比如说我来看它每日的营业额, 那这个每日它是一个动态的呀,它有可能今天又不是明天,又不是昨天,有可能是四月份的某一天,对吧?这个时候就会涉及到你需要复写前面的,或者说要去合并前面的营业额,这个时候你用 rag 来做,就算你加了快照也不一定能实现, 这种就必须要用记忆来做,新的记忆可能覆盖老的记忆,对吧?或者新的记忆去更新老的记忆。所以说呢,我跟很多同学在讲智能体开发的时候呢,我就说了一句话,就是朋友们对待智能体呢,你就像对待自己学习一样, 他怎么样去接受新的事物,怎么样去理解,怎么样去变成他自己的。这个内在的一些知识存储 其实跟人是一样,你今天接触了一个概念,明天你接触一个新的概念之后,你发现之前接触这个概念是错的,或者说他是不符合当下你的一个认知判断的,那你就需要把它覆盖掉,或者你去把它更新掉, 这就是通用型智能体记忆的设计架构的一个思路啊。好,那这里存储完了之后,我们还是以向量库为例啊,那向量库我们可以选择用 p g, vector 或者呢,你可以用 q c t 啊,你还可以,比如说用,呃, melvis 都可以啊, melvis 都可以。 好,这是存储,存储完之后,接下来就是查询,我们把它称之为召回,召回这个时候呢,你要看怎么样让它查得更精准,怎么样查得更精准,查得更精准有几个层面,第一个是你可以用基于向量的查询 啊,向量查询基于向量检测吧,还可以呢,基于权威检测还可以呢,基于混合检测啊,混合检测,这就是你在做召回的时候可以去考虑的 精准啊,通过召回,然后呢,第六步就是交给模型来去回复啊,交给模型去回复 科普科啊,是是实战啊,实战内容就实现了这样一个项目,这里因为需要补充补充这个前置的知识,很多同学呢,可能没有这方面的经验啊,比如说你要去做这个 rag 的 话,每一步怎么去实现,怎么做的? 实战的话不可能一个小时给大家讲完的啊,不可能。所以呢,从概念,从架构,从这几个方面呢去理解。然后后面如果说大家加入进来了,加入到我们这个训练营之后呢,完整的关于那个 飞书文档的项目啊,先以它学习完之后,再去基于这个飞书文档的项目来去看 ai 部分的实现怎么来做。好吧,云深处同学啊,如果说你比较进阶,或者说想系统的去学习的话,可以去找咨询老师去了解。还有,呃,开心娃娃同学啊, 好。呃,然后呢?那对应到模型回复之后就能够得到结果?这是完整的链路啊,从知识库准备到文档解析到。


前端每日一题,请详细说明 ragu 解锁增强生成前端列录中如何处理文档上传切片与向量化的交互流程 核心分工边界,前端开发必须牢记,这是流程设计的基础。前端仅负责交互层文件传输进度同步状态管理、异常反馈,不执行文档切片向量化计算,还未计算格式解析由服务端完成, 服务端负责文档解析文本切片称 i bing 向量化向量库入库 rock 核心逻辑,整个流程是一步任务流,上传是同步,每分片一步切片加相量化是后台一步任务。 前端核心价值是透明化,进度稳定,传输友好。交互分阶段详细交互阶段一,文件采集与客户端前置较验阶段二,大文件分片上传 核心环节必选阶段三,触发服务端异步处理任务切片加向量化阶段四,前端实时监听处理进度核心交互阶段五, 处理完成失败,前端状态收尾阶段六,异常处理与任务控制完整前端链路持续图,用户选择文件,前端叫验 n。 第五格式,前端分片上传合并文件,获取 file 意义, 前端发起处理请求,获取 taskd c 连接,建立实时接收。解析,切片向量化入库处理成功,更新 ui 文档,可用于 rock 剪索处理失败,展示错误,支持重视前端核心职责,在瑞文档处理炼录中, 前端不参与任何计算逻辑,只做三件事,稳定传输,分片上传大文件,保证文件不丢失,不断传,进度透明。通过 c 实时展示切片向量化进度 状态,可控管理全流程状态,支持取消重视异常反馈,这是生产级爱给用叉 p d off 知识库的标准前端实现方案。

分片的存储到召回到回复,好,那我们来看具体的代码啊,就同学说的实战这一部分怎么实现从代码层面啊?所以呢,很多同学现在其实还是停留在一个 概念上面,就是太注重于技术的实现,而不去关注整体架构和流程上面的事情啊,因为其实现在写写代码这件事情已经变得越来越廉价了,如果说你还只是关注于代码的实现的话,往后其实这个 职业发展啊,对于自己在 ai 时代下的这个职业发展其实不利的。好对应到切片存储,然后呢完整的这个链度,我们一步步来看一下具体的实现怎么做。在 api 层,那么既然有这个文档解析和文档的查询, 文档的这个知识库的剪索我们可以看到。先来看到分片啊,分片包括呢存储分片这一块,当,因为我们不需要加载哈,为什么呢?因为我们整个文档的数据它都已经是结构化数据了, 结构化数据我们直接拿过来来进行切片就可以了,不需要去再做那个 node 处理啊。通过 changer 来做分片,把现有的文档,比如说我这个 type sheet 课程,然后呢还有其他的这些 type script 描述,全部拿过来之后通过 changer 来分片。分片完之后,接下来来存储加载向量数据库, 把向量数据库加载下来,我们因为我们现在用的是那个 qugent, qugent 向量数据库啊,用的它 qugent, 通过 qugent 来把我们切片完的数据做存储。 从这一步可以看到得到这个 qq 创建一个 collection name 啊,我们把 topk 设置,比如说就是这个零点五吧,设这个零点五 topk, 然后呢这个 qq 启动,当然这里这部分呢,前面有一个前置的通过 docker 编排出来的 qq 跑在了六三三端口。 u 三三啊,那我们所以呢在这里去连接,连接六三三端口,连接六三三端口以后,大家从这里可以看到啊,连接六三三端口以后,得到这个 qiong 的 客户端,通过 qiong 的 客户端来去建立向量存储, 到最后一步呐, offset 这里去插入项链,插入这个项链,那这个项链我们是怎么获得呢? trunk rows, 就是 我们通过 trunks 获得的这个内容,我们可以打印来看一下这个 trunk rows 啊,当我再去,呃,我在这边打开控制台吧。好,我再来到这边刷新一下这个解锁 入库啊,我刷一下这个入库的操作,那我们从这是不是可以看到,我一旦点一个入库, 现在就会被切片切成这个样子,当然这个规则你还可以自己去定义啊,你可以把它切得更细,可以基于杠 n 来切,或者说基于这个标点符号来切,都可以啊,这样切完之后,那么接下来呢,存储,存储到哪?存储到 qian, qian 呢?就是我们的 do 通过 docker 跑起来的向量数据库,好把这个数据库呢打开给大家看一下, 在这里 queueint 啊,就在这个里面跑起来的,那么现在呢,整个向量的存储都在这个里面, queueint, queueint 啊,那么这是存储,那接下来我们要查询 怎么做呢?查询那是一样的,通过 query, 通过 query 来获得到我要查的内容,然后呢再基于 service 层找到 query, query 这个层呢通过 search 方法从你的那这这个 in bind query 查询啊,通过这个 in bind query 向量查询来搜索基于 qq 来获取到你的结果,得到这个 result, 结果以后转化。最后呢 别忘了最后一步要去把这个结果给到最终的模型加工,然后呢返回最终的结论,这他整个链路啊,所以说呢,完全的实现分为解锁阶段, 生成阶段两步。但是在解锁和生成之前,你需要有个入库的操作啊,比如说我们这有这么多文档,我们可以看到吧,非是文档,有这么多文档,这些文档呢,他先要做入库的操作,要提取存文本,然后呢分块做向量化存储 等等啊,进做完之后用户再去解锁的话,就从用户提问,然后呢到 quarry inviting, 一 直往后啊,最后到生成阶段去实现最终的代码,那个内容生成这个链度统一下来之后再去看, 一定要从文本分片啊,再到模型的 inviting, 再到解锁完整的实现,一步一步推进自己啊。 好,那这一步呢,我们呃实现层从刚才给大家介绍的啊,从呃分片,然后呢到像量的生成,到像量存储,做完做完之后再到查询,查询的话通过 inviting 在 这里去查询 search invite query 查询到像量,再通过像量去查询结果啊,这就叫像量查询。如果你要去做权威检测的话, 那你可能需要用其他的一些呃数据库啊,你比如说你可以考虑用呃 es, 对 吧, elastic research 等等来做全文绞索,我们这里呢做的是基于向量绞索,也可以基于权威绞索 得到最终结论。结果之后呢,拿到给到模型,再去加工回复,返回给前端,这是它整个 rag 知识库分片向量化剪索回答的整个流程 啊。这就说我们就给大家演示一下,比如说我们现在把这里全部清空掉,或者我全部刷新一下啊,那么这个时候,我假设现在 type script 肯定只有我这一个文档里面有,我现在创建一个新的,比如说叫做 妙码学院,好保存,然后呢,在这里面开始写作了,妙码学院专注于这个前端进阶,加 ai, 对 吧?加 ai 的 落地,好,接下来我不写了,然后自动去帮我补全, 那不全了,对吧?比如说技术融合培养啊,然后呢,什么突破瓶颈?好,我直接 type 就 完成了。就是呢,我再不写了,我来问 妙码学员做什么的?点击解锁,这个解锁的过程同学们可以看到,其实我这一步呢,它解锁不到,为什么?因为我这个文档它现在还没有入库,也就是没有入到我的 那个解锁库里面,你看现在回答没有啊,现有资料中没有关于妙马学院业务的相关介绍,无法回答该回该问题。那怎么办呢?我把它入库准备好,我现在点入库 空文档,无法加入知识库,点击保存,点击入库,好,现在已入库,我再点解锁。 这个入库的操作其实就是做了文档的分片,文档的向量化,文档的向量存储啊,你看现在是不是有了,现在你再去解锁,它就会告诉你 专注于什么,什么双重进阶,这就帮你回答上来啊,回答了,那这里呢是育华学院的,那这个里面呢,也有也有其他相关的,也会被解锁出来。 向量呢是基于相似度,文卷索是基于语义啊,向量是基于相似度,文卷索是基于语义。这里我就给大家也备注一下嘛,向量卷索是相似度, 比如说猫啊,狗啊,他其实有相似的地方,对吧?你甚至人跟狗他也能够产生关系,所以这个向量检测,他是看向量相似度或者匹配啊,或者基于向量的匹配匹配度。然后呢,权威检测是基于语义, 语义啊语义,这个大家能不能懂?就比如说我聊的是妙玛学院,那我就要看我之前的文档里面到底有没有跟妙玛学院相关的介绍,这个叫语义。那混合剪索呢?就可以是向量剪索加全文剪索, 混合解锁可以向量加原文向量,它能够得到匹配度更高的。权威解锁呢,它能够得到更符合你的语义环境的,所以我们经常时候会用混合解锁来做 混合解锁。好,那大家如果说不知道这部分内容的话呢,其实在我们的妙码 ai 引擎里面有这一部分的实战内容,我登录一下啊,那在这个知识库里面, 妙码,比如说妙码话术库啊,这个里面你再去做召回测试的时候,他就有向量检索,有权文检索,还有呢,混合检索这知识点啊,这个知识。

好,我们接下来看一下 rek 实践部分的文件解析部分。嗯,首先是看 excel 这种类型的文件解析,但是在文件解析之前, 就是包括 excel, 像后面的 word、 pdf 这些文档解析之前可以先思考一个问题,就是解析的目的是什么?嗯,我之前想了一下,我觉得解析它最终目的就是为了提取文档里边的文字信息。 本来我还觉得可能图片是一种特例,但是在知识库或者说这些解析方面,其实我们去识别图片,然后也是主要是为了他的里边的文字信息。 真正的纯图片,可能动画太模型里边可能会去考虑他的图片本身包含的信息,但是在知识库文档解析这里面,我们关注图片更多的可能还是在关注图片上的文字信息。所以 像 excel、 pdf、 word 这些各种类型的文档解析,它的就是像表格也好,各种组织形式都好,可能我们最终关注的目的是提取它背后的文字, 这是解析的一个,我个人觉得是一个根本的目的。那么文字 最简单的那个 txt 文件就是纯文字版,但是像 excel, 嗯, word、 pdf 这些,它都是把文字以各种形式组织在了一起, 然后可以加一些属性,比如说颜色啊、分段等这些各种不同的属性,然后会有不同的组织结构。 所以,嗯,这些我们在看文章解析的时候,首先就要关注他的这种组织结构,当然他的属性我们其实是不怎么关注的,像他的颜色、字体大小这些我们都是 不怎么关注的,我们现在主要关注的就是这些文字以什么样的形式组织在一起, 然后通过它的这种组织形式去层层的提取出来这些文字。嗯,首先我们看一下 excel 吧, excel, 嗯,它的一个组织形式,一个架构是什么样子的呢?嗯,核心分为下面几个,几个那个, 嗯,结构吧。第一个就是工作簿,工作簿就是整个 excel 文件的本身,我们随便存储一个 excel 文件,它就是一个工作簿,加载出来这个文件就是一个工作簿,它工作簿里边会有很多工作表, 然后工作表里面有各种数据,然后,哦,对,这里面再说一句,文字,我现在也要包括数字啊,就是文字是一种统一的称法,嗯, 包括数据了,还有一些那种,嗯,字母,像英文字母这些东西都属于文字的一种。嗯,第二个结构,工作簿里边就刚说有很多工作表, 一个工作表就是一个 sheet, 然后可以看一下工作簿英文名字叫 workbook, 然后一般在解析代码的时候提取工作簿,或者说加载工作簿的时候,一般也用这个 wb 来去制裁它,然后 work, sheet 就是 工作表,就是一个 sheet 页,一个 sheet 就是 一个工作簿,里面可能会有很多个工作表,用 sheet 一, sheet 二,嗯,这个就是用 ws 一 般去表示 工作表里边,里边记的内容就是行列它的一个,嗯, 二维的一个结构了。行就是 u 横向排列一行数字编号,嗯,在解析的时候一般是用 u 来去指代这个行, 行完之后就是列,列就是纵向排列的。哦,一般是用英文字母去表示, 比如 a 列, b 列, c 列,然后一般解析的时候用 color、 c、 o、 l 这个去指代一个列, 然后具体的或者说基本的一个单位就是单元格 style, 它就是行列交叉的最小数据单位 style, 嗯,它里边是会包含着具体的内容的, 像文本主要就是我们说的这个文本文字。所以 excel 的 提取的解析的关键就是怎么去找到单元格, 这是最核心的一个步骤。嗯,当然了,因为我们在人工处理的时候,经常会做一些比如说单元格合并的一些操作,所以会有一个单元格区域, 就是会把两个多个单元格组合在一起,和平单元格,嗯,这种也是在解析过程中经常碰到的问题,或者说一个小的难点,就是单元格里边会组合在一起,那么他的 解析一般情况下你需要先给他还原还原成每一个单元格, 然后这部分是 excel 文档的一个整体的结构。那么刚刚也说了, 我们最核心的目的就是怎么去获取到这个单元格,然后去获取里面的这个文字信息。嗯,像后面的一些解析的库和方法。