周末在家用 lion chin 加 milos 搭建了一个 rng 智库 ai 助手,好用到飞起。二零二六开年, agent 热度不降反增,但是很多小伙伴也只是听说过,不懂如何搭建自己的 agent。 今天我就带大家从零开始,用 lion chin 加 milos 搭建一个生产级的 rng 智库 ai 助手, 包含架构设计、核心组建、开发、性能优化到企业落地的完整流程。所有步骤我都整理了文字版教程了,还整理了一份大模型,从入门到进阶教程,留下学习双手奉上。
粉丝2860获赞1.3万

挑战,每天讲透一个 ai 知识点,今天是 tree id 搭建 skill, 如果大家 啊觉得这个 cloud 扣的太麻烦了,搭建太麻烦了,不好弄,你可以下载这个 tree 啊,就我第二个这个 tree, 这个是国产的,免费的,也比较好用啊,并且是有中文版的,大家可以用这个啊,也比较好用。呃,它的用的过程也比较简单啊, 就是改一下规范就可以了。那,那比如说在这个里面啊,打开这个管理器,就是大家用 tree 的 话, 在 cloud code 下面,你要建一个点 cloud 目录,如果你用 tree 的 话,你就建一个点 tree, 点 tree 啊,点 tree 的 一个目录就可以了,然后这里面的规范一模一样,没有任何区别啊,大家直接把这个 scale 复制过来,粘贴到这个点 tree 这个目录就可以了啊, 来看,就这样就可以了。然后你直接打开 tree 的 这个聊天聊天窗口啊,打开这个 tree 的 聊天窗口,看一下 skill, 我 把这关一下。 呃,我们这里打开,我看一下怎么打开这个窗口啊?侧边的, 呃,有一个元代码操作 tree 的 话,这边应该有一个聊天窗口,我看一下啊, god code i d e solo 模式,它有两个模式啊,一个是这个 solo 模式,还有普通的 i d e 模式啊。啊,开侧边打开 来,大家看一看。打开了啊,在这里面有个 tree 啊,有一个在侧边打开吧,在这里面啊,打开这个 tree 的 这个窗口啊,就是一个对话窗口嘛,就是我们用 ide 这种 ai 编程工具,一般有一个聊天窗口嘛,就你直接问他啊,比如说 你有哪些 skill, 你 就直接问他啊,就跟用 cloud code 是 一样的啊,你就直接给他提问,他默认的话也会去扫这个 tree 下面的啊,扫 tree 下面, 当然它也会扫这个 cloud code 啊,但是扫 cloud code 的 话会比较慢一些啊,它要分析,因为它也兼容了 scale 这个 cloud code 的 一个规范啊, 但是啊,它你如果用 tree 的 话,它会更快一些啊,就是因为这是 tree 的 规范嘛,所以你用 tree 它这里马上就能识别出来,你看这个会议助手是吧?然后 scale 这里是不是马上就给你识别出来了?这两块内容 就是你们在吹里面写的这些规范啊,所以这里面马上就能识别出来,所以在吹里面使用也很简单啊,就我整个的刚刚的一个使用过程,跟在 cloud code 没有任何区别啊,我给大家来跑一下,随便找一个例子,比如说我们跑一个完整的吧, 就是在这个里面跟用 cloud code 是 没什么区别的,我们依旧用这个 scale 是 吧?然后使用把这个复制一下,在 tree 里面去执行一下啊,复制一下。 哎,它这里粘贴过来是这么一段内容啊,看一下能不能执行 好,大家看,你看它是不是在调用这个 meeting scale 了,是吧?没问题吧?你看它是不是,你看也在读取这个公司财务手册了,然后调用 upload 的 拍摄脚本去上传了,是吧?没问题吧? 这个调用细节跟那个 cloud code 是 一样的啊,只是说大家看到的日制输出可能不太一样啊,因为这个它的是一个窗口嘛,是吧,这个它会更加的这个日制会更加详细一些,然后流程也会更加清楚一些,然后你看执行 python 脚本也需要你去同意啊,点运行 其实是一样的啊,所以,呃,大家根据自己的一个情况啊,用 cloud code 或者 tree, 或者用 cooser, 是 吧?或者用这个。呃,阿里的这个 cooder 或者是 code body 啊,腾讯的 code body 也可以啊,它们都有免费额度,都可以去用啊,没什么问题 啊,你看结果其实是一样的啊,大差不差没什么区别,因为它用的模型。呃,因为我们做了一个要求的限定嘛,所以它的格式应该都是一样的啊,没什么太大区别,只是可能会多一些描述出来啊。啊?这个就是 tree 它的一个使用啊,搭建方式跟 cloud code 一 模一样,就是建文件就可以了,把这个 scales。

ok, 好, 那说这么多,我相信大家对这个拉玛 index 的 整个框架呢,应该是有些自己了解了,那么接下来我们就上手来进行实操,那么整个实操的这个部分呢,哎,我们会先啊带大家快速的来围绕拉玛 index 的 来进行一些这个运行啊,来上手来进行使用。然后呢,我们 在第二部分啊,就会跟大家介绍介绍这个黑科技,哈哈,看看怎么样啊来进行一些啊,在既定流程上的这样的一个优化。 那首先啊, mark index 呢,我们需要先部署的基本环境,对不对啊?那么都是一样的,我们在 python 环境里面来进行运行,这里面我们创建一个虚拟环境啊,然后呢来进行 mark index 的 这样的一个这个安装啊,然后呢这里创建虚拟环境,由于我们之后是要在 jupiter 里面来去运行对应的代码的,所以呢,这里是需要 在对应的虚拟环境里面进一步安装 jupiter 的 啊,这个呢是需要一步一步啊来进行安装啊,这个呢是在呃这个命令行里边来进行运行啊,不是运行当前 jupiter 里面这个 sale 哈, 然后呢,我们现在的 python 版本是三点一二啊,选择一个比较高的这个版本,以保障更好的兼容性。然后接下来啊开始安装拉玛 ingax 啊,安装拉玛 ingax 其实非常简单,你只需要安装这个包就行了,然后呢,这个包里边其实包含很多个这个入门级的捆绑包的啊,当然入门级捆绑包里面其实它各自是有不同的这个 功能,但是呢,前期我们在进行使用的时候,基本上你只需要去安装好一个 mark index 就 可以了,然后呢,对于 mark index 来说,它能够匹配的这样的个模型其实很多,目前市面上所有的主流的模型基本上都是能够来进行匹配的。 mark index 其实接口非常非常丰富, 它去匹配这些呃对话模型啊,或者 embedding 模型啊,或者些词向量数据库啊,都是呃,基本上市面上所有这些呃大家看到主流这工具哈都是匹配的啊,都是没有问题啊。那我们公开课呢,为了简辩起见,我们实际上是使用 openai 的 api key 来进行运行, 但这里面 openai 的 api key 呢,你也可以把替换成就比如说 deepsea 的 api key 来进行对话啊,然后呢,使用 dashboard 啊, sorry, sorry, 使用这个阿里百联平台上的这个 embedding 模型,然后呢来进行这 embedding 的 词向量化,这样操作也是可以的。 只不过大家需要知道的是,在我们搭建 rap 系统的时候啊,实际上是涉及到两方面的模型的,这个调用一个呢是 chat 模型啊,就对话类这样的个模型啊,负责啊,生成啊,回复啊这样的东西。 第二个呢,还有 embedding 模型啊,负责把你的啊输入这样的一个文本,对不对?转化成词向量啊。所以呢,一般来说是要有两个模型啊,只不过呢,现在目前来说呃两种模型,如果你想用一个公司的这个产品的话,那么 openai 其实提供了非常好的对话模型和 embedding 模型, 目前 ingame 模型,可以说 open i 的 这个第三代的 ingame 模型仍然还是全球名列前茅的啊,这个 ingame 模型现在非常好啊,所以呢,一般来说我们在讲 reg 的 课程里边,可能默认都是使用这个 open i 这样的模型啊,但确实你也可以替换成别的模型了,好,没有任何问题。 那么使用 open i 这个模型呢,对在国内的使用方法,要不然你可以去注册 openroot, 我 们之前就有讲到过,对不对?好那样的一个中转平台,要不然的话,你可以 直接去某宝上啊,买一个这个 open i 的 官方的 a p i t。 然后呢,我们的课间里边实际上是给他提供了一个叫 base url 的 一个这个东西啊,那这个 base url 呢,是一个我们专门给大家准备的一个国内返乡代理地址啊,这个之前听过公开课同学应该知道,我们其实是 专门给我们的公开课还有付费课程,学院是搭建了一条国内可以直连 oppo 爱服务器的这样的一个专线的啊,也是没有任何的网络门槛。然后呢,只要你说 apikey, 就 可以直连访问 oppo 爱的官方的这样的一些,这个官方的服务器也可以调用它的官方的模型来进行运行啊。这个呢,都在我们的课间里面有啊,大家这个还如果还没领到课间的话啊,可以直接扫描屏幕当中二维码啊,添加助教老师 就可以领取。然后呢,在咱们的大模型进入社区里面也有非常详细的啊,就是去讲解关于国内的这个反向代理地址如何来进行使用的这样的问题。 总之就是你现在啊,有了 apikey, 有 了这个 base url 啊,就是国内返向代理地址之后呢,你需要创建一个点 e n v 文件,然后把它写进去啊,然后就可以了,方便我们后面呢在代码环境里面影视的去调用啊,这样的一些这个比较敏感的 apikey 的 这个信息 好,这个呢啊是第二步,然后紧接着就进入到 j b t 里面来啊,大家就可以在 j b t 里面来进行运行了啊,看看你现在有没有安装成功啊,对不对啊?你的这个拉马 index 有 没有安装成功?目前最新版呢是应该是零点幺四点幺零。 然后紧接着啊,我们就可以尝试着来进行一些模型测试的调用了啊,当然首先上面这段模型测试调用呢,是从我们当前的 e n v 啊,就是点 e n v 那 环境变量里边去读取我们啊这个给大家单独准备的国内的返现代理地址啊, base ur l 和 这个 open ai 的 api key 来进行一个读取,读取完了之后呢,创建一个 open ai 的 client。 然后呢通过输入 model list 看一下你当前能调用哪些模型啊,熟悉一下哈有哪些模型可以来进行调用。 那么这里其实对于 open i 来说啊,它其实呃有很多很多不同类型的这样的模型,那我们在进行普通的对话测试的时候,你可以使用 g p t 四五呃, g p t 五点一啊,或者是一,或者是这个 g p t 四 o 啊,都可以。 然后呢比较需要注意的是,对于 open i 的 模型来说,它目前的两个最呃最核心的 embedding 这个模型呢,实际上是 text embedding 三 small 啊跟三 large 啊这两个模型。 那么这两个模型呢,它其实是一个模型啊,只不过,呃,它其实是一个这个架构,只不过呢,它这两个模型输出的磁限量的长度不一样啊。然后呢,当然这个 large 它输出的磁限量长度会更长,也代表着它对于很多精细的这个语义的这个分辨会更加清楚一些哈,这么来理解, 然后 small 呢,运行速度更快啊。然后呢,呃,它的这个精度呢,肯定不如这个 large 这个模型这么强啊,是这么一回事儿。当然其实还有一个模型啊,对于 open i 来说,还有一个叫做,呃 text inviting ada 零零二啊,这其实是上一代的 inviting 模型了啊,当然这个模型也是可以来进行使用的啊,也是没有任何问题。 ok, 这个呢,是我们先先需要啊,大家看一下 open i 有 哪一些这样的一个模型?当然除了啊,这些在线模型之外呢, laplace 也支持一些开源模型啊,这个其实完全没有任何问题。 然后呢,像啊,如果你要接入像这个千问系列的 in bidding 模型啊,使用阿里云百链平台的 apikey 也是完全没有问题的啊,只不过我们公开课呢,可能,呃没有时间展开讨论啊,我们就赶紧推进后面的这个内容。 好,那么紧接着啊,对 lma index 来说,哎,它有一个非常有趣的功能啊,大家可以简单看一下啊,但是,呃,选学啊,就它的这 agent 的 功能啊,它这 agent 的 功能呢? 呃,这怎么说呢啊,他因为他在官方的这个文档里面会很多的地方都会推荐这样的 agent 的 功能啊,也是怕大家之后如果去读这个拉玛,呃,如果去读拉玛 index 的 这官网这文档的话,可能会呃遇到他这个 agent 的 这个代码可能会有点迷糊,这样的情况啊,所以我们就大概快速的给大家看一下他的这个 agent 的 功能怎么实现的啊,总之呢,先导入一些库啊,然后呢创建一个外部函数,对不对啊?这一样的哈,也是一个 react agent 的 这样架构, 然后呢读取本地的啊, a p i k 跟 bashur, 然后呢创建一个大圆模型,然后呢创建一个这个 agent 啊,它的 agent 创建的这个语法叫做 function agent, 那 么也是一样的,这个 tools 工具搭模型跟 system prompt 给它封装到一块,然后它就是一个 react agent 啊,就这么回事,然后呢你只需要一步的啊,让一下,然后就可以运行得到结果啊,就能看到它最终反馈结果,就这么一回事。 但是那么 index 它的这个 agent 的 开发功能呢?其实大家了解一下就行啊,这个没有必要进行非常深入的这个学习跟掌握,因为它 整个 ag 呢开发的 a p i 确实呃不太够,哈哈,然后呢,性能也不太够啊,这个丰富程度也不太够啊,这么样的情况,当然它还有啊,什么历史对话管理的这样的功能啊,实力化一个什么 context 啊,然后接下来就可以来进行运行了,它就会直接呢记住你每一次啊运行的这个历史这个对话啊,就这么一回事啊,这个大家简单了了解一下就行了, ok, 好, 那么重点的是关于是 lama index 的 rack 功能如何来进行实现啊,那这个精彩的就来了,那么我们都知道啊,要实现一个 rack 功能,如果大家使用别的框架的话,哎,非常之复杂啊,你先要读取文档, 然后呢读完了之后就来进行切片,对不对啊?切片完了之后呢,接下来你需要把它 embedding 这个操作啊,然后 embedding 操作完了之后呢,接下来你还需要来进行存储啊,存储完了之后呢,还需要来进行回答啊,需要有非常长的这样的一系列这个环节,但是你发现如果你使用 lama index 的 话, 在默认情况下啊,只需要五行代码就可以完成一整个啊,这个 rek 这样的一个流程啊,这个其实是老马 index 他 们的这个呃,工具,怎么说呢啊,一个开发开发方面的一个巧思吧,啊,就是入门的门槛非常非常低,什么意思?比如说我们现在啊,有一个 名叫科技创新公司员工手册的这样的 txt 文档,然后呢是保存在本地的一个叫 data 文件里边啊,文件夹里边, ok, 然后这个文档在我们的可见网盘里面会有啊,大家可以自己去下一下。 然后呢这个文档啊,他就是个员工员工手册嘛,对不对啊?总共呢是四五千字的一个员工手册,然后里面呢非常多的啊,关于呃,公司的一些规章制度啊,这个什么人事制度啊,请假制度啊,这个薪酬策略啊,等等等等啊,这个激励的这些方法,等等等等啊,就是一个公司员工手册啊,大家这么样的一个这么样的一个状况, 然后呢注意哈,需要需要先准备好这样的文档哈,但是这个文档是个比较简单的一个 txt 格式这样的这个文档,然后接下来啊,我们就看看 lma index 它是如何来进行这个解锁的,总共呢就这么五行代码,还包括一行导入的这个代码,哈哈,就这么回事儿, 首先我们需要从浪漫 index 的 core 里面导入啊,这个 vector store index 和 simple directory reader 啊,这两个库,这两个库,其实啊,为什么刚刚念出来啊,是因为这两个库非常重要啊。首先第一个这个 vector store index 啊,它呢是专门用于啊来进行构建锁影的一个东西,所谓构建锁影,就指的是 它会把文档片段注意好,一步到位的来进行切分, embedding 词向量化啊,或者是它会把文档片段注意好,一步到位的来进行切分功能合在一块的啊,这样的一个库。 然后呢这个啊, simple directory reader 啊,它的本质上呢是一个 reader 啊,那么在 lama fact lama index 的 这个体系里面, reader 是 个什么东西啊?它呢实际上是一个叫做数据提取器的一个东西,然后其中呢,这个 simple directory reader 呢,就是目前用的最多的,然后同时也是一个极大成者的一个数据提取器。 我们这里面啊,在最简单的事例里边是让它读 txt 文档,但实际上它的能力非常非常强,它不仅可以读 txt, 它还还还还可以读这个 markdown jackson, pdf, word, html 哈,和一些视频文件都可以读啊,所以呢,它实际上是一个非常强的一个这个啊,数据读取的一个这个器,然后它里面其实包含了非常多的一些功能啊,这里面大家需要记住啊,你之后还会用到 好,那么这两个核心功能啊,给大家读进来,然后接下来呢,首先第一步,数据导入,对不对啊? reader 哈,这个 loading, 哈,这个读取下我们的这个数据, 同样啊,使用我们的 simple directory reader, 然后呢 data 这个文件夹啊,点 load data 来进行一个数据的读取,那么当我们执行完这一步之后呢,那么接下来我们就会把啊,你现在这个 txt 格式的文档数据呢,给它读进来,并且保存是一个,保存成是一个这个 document 这样的一个对象。当然如果你有一个文档 进来的,这个就是列表里面包含一个元素啊,如果你是两个文档进来,就是两个元素啊,就这么一回事。好,紧接着接下来第二步,构建锁影,对不对?非常简单,我们直接呢把刚才已经导进来的这样的 documents 这样的个文档呢,哎,来进行一个这个 ingaxing 啊,锁影的构建这样的这个流程, 那么这个锁影构建的流程呢,其实它就包含了很多个小的步骤哈,包括说,哎,把你的这个原始的长文档来进行切的啊,总之就是把它切成短文档。 那么在切分成短文档的过程当中,哈拉玛 index, 它其实有一个非常核心的一个概念,叫做把原来的 documents 变成现在的 notes 哈,就是变成一个一个节点, n, o, d, s 啊,变成一个又一个的这个节点啊,所以呢,现在啊,我们整个的这个 indexing 的 过程当中,第一步就是把长文档切分成短文档啊,就是把 documents 变成 notes 的 这样的过程,这第一步, 第二步还需要把短文档来进行词向量化啊,就是你现在短文档之后,你需要把转换成一个又一个的词向量啊,是这么一回事,总之呢,它就是要构建缩影的过程。好,那么第三步来配置这个, 呃,来配置这个,呃回答的这样的个引擎,它,它的这个名字叫 curry engine, 哈哈,然后呢,其实它就是配置一个回答的啊这样的个回答器,你也可以这么来进行理解。那么什么叫做回答的这个引擎啊? 它呢是要指的是接下来用户提的这个问题诶,会带入到我们刚才的这个 indexing 啊缩影里面去,然后呢来进行一个相同的词向量化的这样的操作,和围绕着我们刚才已经切换好等等来进行匹配啊,来构建一个叫 query engine 啊,这样的一个呃,回答的这个引擎啊,是这么一回事,好, 那现在核心的就全部都结束了啊,这配置完了,那么接下来我们就可以直接呢围绕这个配置好的回答这个引擎来输入一些用户的问题了哈,比如说问他,请问我们公司有病假政策吗?啊,对不对?然后呢来进行回答,回答完了之后呢,他 就会把最后回答的这个结果放在啊这个 response 这样的对象里边, ok, 我 们就可以看到啊, response 点 response 啊,里面的一个属性,对不对?能看到他说啊,现在公司呢是有病假策略的啊,员工可以享受最长六个月的这个病假啊,具体待薪比例 根据工龄来进行计算啊,就是它,它相当于是围绕我们现在这个文档呢来进行个解锁,解锁完成之后呢, ok 来进行回复啊,就是这么样的一个情况。好, 那总的来说,我们说对于现在这个代码我觉得非常有意思的一点地方就在于说,对于初学者来说,仿佛感觉好像他是可以接受的啊,对不对啊?导入文件嘛, 构建锁影嘛?啊,然后配置这个解锁引擎嘛?然后呢?来啊,配置这个问答引擎嘛?然后呢?来进行一个 query 就 结束了,感觉好像它这个流程和 graphrek 是 一样的,对不对? graphrek 也是啊, indexing, 然后 query 啊,然后就结束了,但是我相信如果对这些有基础同学啊,看到这段代码可能头都大了, 这很多技术细节里面都没有啊,对不对?那正常来说,我们使用比如说 longchain 啊,使用 agent 的 scoop 来搭建 rack 系统的话,那我好歹得确定一下你 怎么切分的对不对?你切分的文档片段 talking 是 多少啊?然后呢,如果你是滑动切分的话,你这个重叠的窗口又是多少?然后你是使用什么 inviting 模型在进行的 inviting, 你 又是使用了什么模型在进行的?这个 回答对不对?这里面有一系列的问题它都没有解决,包括呢,你现在 inviting 这个词条量是保存在内存里呢?还是保存在本地呢?还是保存在词条数据库里面呢?啊?这属于一头雾水,哈哈。 ok, 好, 那么接下来我们再来看看啊,那么 index 再往下一层,它是怎么解决这些问题的? 对于呃 lama index 来说哈,其实我们刚刚说这问题呢,其实都是问题啊,都是作为每一个 rank 的 这个流程,我们都需要考虑清楚这样的问题。 只不过啊,对于 lama index 来说,刚才这些流程呢,它都隐藏起来了,它有一个默认的一个取值啊,对于开发者来说,我们可能不需要了解那么多,然后你立马就可以完成这样的所有的操作的话,那么刚才很多忽略的细节都是需要抓出来一点点来看的。 首先啊,我们需要知道的是第一步它来进行数据导入的时候,导入的这个结果啊,当然就是这个 documents, 对 不对? 那么对于任何一个这个 documents 来说呢,其实它这里面内容你会发现啊,导入读取这样这样的文档啊,当然是一个一个文档来进读取哈,读取这个文档之后呢,它里面是包含了这个 text 啊,就包含了你完整的这个文档的字不串这样的信息。 然后同时呢上面还有很多的一些原数据的这样的一个信息,然后同时呢上面还有很多的一些原数据的这样的信息,然后呢这个文档的 什么这个 type 啊, size 啊,这个 file name 啊等等等等啊一系列的这个源信息。那么这源信息呢,其实也是非常重要的一些这个信息哈,在我们之后去讨论啊,比如说这个路由解锁的时候,其实就需要用到它的这样的源信息啊,这个呢是它第一步啊,读取进来 documents 哈,然后呢现在只有一个文档啊,所以它 documents 的 这个 list 就 只有一个元素。 然后呢你这里面呢也能通过啊, documents 一 些属性呢,能够看到。说啊,现在它的很多的一些这个基本信息啊,源信源数据啊,是个什么样这个情况? 然后接下来比较重要的啊?是它就是 indexing 的 这样的过程,那么 indexing 这个过程呢,它其实有很多默认的一些这个参数啊,那比如说它默认呢,实际上是来进行滑动窗口切分,然后呢它的这个窗口的这个 size 呢?是两百啊,这里这里写错了啊,这个不是二十,这应该是两百。 然后呢所谓滑动窗口切分,指的是它的第一刀哈是零到两百个 top 啊, sorry, 零到一零二四个 top, 然后呢第二刀是八 八零二四,然后再往后加一零二四个 token 啊,是这么一回事啊,它是这样的一个这个切分的这个策略啊,它所谓的滑动窗口就指的是它这个一边滑动一边来进行切分,然后呢每两个切分的这个片段中间,它存在一个重叠的这样的区域,以保障它的核心信息呢,不会被切分到两段里面去 啊,是这样的一个这个切分的这个策略,哎,对不对?大家都知道了啊,他原来是这么来进行切的,当然他怎么切的呢?你也可以通过下面这代码来进行一个查看啊,他跟你说现在总共呢切分成五十八个节点啊,在这节点就切分成五十八个片段,就是五十八个 node, 然后呢你可以看每一个切分的片段分别是什么啊?都可以通过上面这个代码呢来进行个查看,然后同时接下来呢我们的 query engine, 对 不对啊?问答这样的引擎, 这里面呢有两个非常非常核心的啊,也是会直接影响我们最终它 rap 效果的。这两个参数一个呢是解锁策略,是 top 几啊,这个相对来说还比较简单一些,就是根据你的词条量的这个相似度,然后呢就找到呃最相关那么几个文档片段,然后除此之外呢,它还有一个叫做合成策略啊,这个就很有意思了,什么叫做合成策略? ok, 所以 很多策略就指的是,我现在假设解锁出了两个文档片段,我是怎么样带入到模型里面来进行回答呢?啊,那默认情况下是大家都能理解的啊,将康叫 compact 的 这样的策略,就把两个文档片段呢合到一块,然后带到文堂里面来进行回答, 然后但是如果你解锁的文档片段太长了,没有办法带到一次模型的回复里面去的话,那么他的这 compact 的 执行模式呢,就会变成,我先带入一部分文档片段,让模型先回复一次, 然后呢再把后面文章片段再带入到下一次的回答当中,再让模型回复一次,然后呢把这两次模型回复内容再把它封装成啊,是一个 system message, 再带入到第三次的模型回答里面去,让它再总结一次,然后再来进行回答。 啊,是这么样的这个情况,所以呢,对于像浪漫 index 来说,它其实规定的很细哈,很多的一些这个 api 啊,有非常多的一些功能啊,我们这就再大概带大家去看一下, 然后最后再再进行查询的时候,对不对啊?它就是我们刚刚所说的啊,转,把用户的这个问题转换词向量,然后呢啊去计算它的相似度,找找出最相似的这个 top 二,然后呢带入到啊它对应的这个提示词模板里边啊,来生成回复,然后最后呢?对不对啊?有一个这个 response, 大 概就这样的一个这个过程, ok, 好, 那下面啊,就这个具体的关于刚才这个回答啊,然后它到底是找到了哪一些对应的这个 nodes 啊?然后它的相似度呢?分别是多少啊?比如说现在我们是 top 二,默认情况 top 二,然后它现在就找到了这么两个文档片段,对不对?上面这文档片段的相似度呢?是, 呃,零点八三啊,下面的文档片段也是零,也是零点八三啊,找到两个这个相似度结果差不多的啊,这两这两个文档片段,然后来进行回答啊,就这么一回事。 ok, 好, 那这个呢,就是关于我们 lama index 的 一个最基本的这样的一个使用的过程啊,当然下面还有一个这个 lama index 的 这个 erotic 的 啊啊啊, erotic rag 的 这个使用过程啊,这个大家就可以自己去看一下啊,总之呢,我们也是可以把 这个拉玛 index 呢给它封装成是一个这个外部工具啊,然后呢把这外部工具呢直接带入到这个 agent 这里面去,然后呢 agent 呢就会根据现在用户提的这个问题,然后呢灵活的事实的来进行回答啊,就这么一回事啊,这个呢是所谓的拉玛 index 的 这个 agenterrag 的 这样的一个流程啊, 稍等,我们搞搞,刚刚重载了一下,再给大家看一下啊,把它先呢封装成是一个外部工具,对不对?然后呢把它放到啊 tools 这列表里边去,接下来它就会根据用户提的问题啊,灵活的来进解锁啊,就这么一回事, 当然到这我们还没有结束,比较重要的是我们需要知道他现在的啊,这个我们刚刚所看的这些参数是他是这样的参数,但是这些参数到底是怎么设置的呢? 对不对啊?这个会非常非常重要啊,因为我相信大家肯定都是这个,肯定是需要知道这些参数该怎么设置,然后才能够比较好的去完成啊这个呃灵活的设置各式各样不同的参数,然后呢完成最终的这个解锁的过程。 那么这个参数设置其实非常简单,首先对于 lma index 来说,它有一个这个 settings 的 这样的一个这个 api, 然后呢在这个 api 里边我们就能看到它的 chunk size 啊,它的这个每个切分的文档大小, 然后呢还有啊这个 chunk overlap 啊,就是每次在进行切分的时候呢,它的这文档片段的重合的这样大小,然后呢还能看到它的这个默认的 embedding 这样的模型, 当然在这里面其实就可以自由的来进行修改了哈,通过它的这个 settings 的 这个全局变量,你就可以直接比如说 settings 点 chunk size 直接修改这个属性。那么接下来呢,它在进行切分的时候啊,可能就会换不不同的这么个切分的这样的个策略, 然后呢它有啊这个默认的这个存储的这样的一个机制,它呢是保包含在这个 vector store index 这样的一个对象里边的一个属性,就比如说我们现在默认情况下是保存在内存里边儿,那么除此之外呢,你可以把它保存在本地也是可以的, 这里面它可以不借助任何的这个磁枪量的数据库,然后就可以来进行存储,也是没有什么问题的啊,当然它你也可以这里面去指定任意不同类型的这样的这个磁枪量数据库啊,可以来进行本地的保存,保存完了之后呢,也是可以来进行读取来进行的使用, 然后同时它的默认的这个 topk 啊,是怎么样来进行设置的?默认 topk 呢?是在它的这个 s engine 啊啊 siracure engine 啊里边来进行设置啊,就是这里面你可以设置 topg, 对 不对啊?作为最相关的这个文档 来进行解锁,然后同时它还有啊关于回答的过程当中,它有个系统默认这个提示词,那系统默认这个提示词呢,就长这个样子 啊,但是这个提示模板看着比较复杂啊,实际上它是专门用于我们进行回复的时候,怎么样把解锁出来的文档片段来进行个拼接啊,然后呢来进行回答。这个提示模板大家也是可以自己来去修改,比如说你想把它改成纯中文的也可以啊,就改成这个样子,然后它就会始终使用这个纯中文来进行回答啊,这个呢都是可以的, 然后同时呢它还有啊,什么这个合成响应的这样的策略,那默认情况下呢,是把所有的啊这个文档片段塞到一块来进行一个回复。除此之外呢,你还可以分层来进行回答,就比如说一个文档片段先 让模型回答一次,然后呢逐层来,呃,然后呢?最后呢?把模型回答总结这内容,再来进行一层回复啊,也是可以的啊,这样的话它就可以吸收更多的更广泛的一些文档片段这样的信息啊,这是所谓的合成的这样的一个策略, 当然这里啊可能害同学问到,比如说更多的切分策略有没有啊?我要不同类型的数据格式的切分有没有啊?能不能够进入不同不同不同类型的这个数据集啊?当然是可以的啊,下面有一段就是,呃具体的每个环节的这样的个拓展 啊,比如说数据集,那你可以去拉玛哈这个拉玛哈普上去看一看,有很多很多各式各样不同类型的数据源啊,都可以来进行一个读取啊,包括什么 ppt 呀, word 呀,甚至视频啊,都可以啊,来进行个读取, 然后呢在进行缩影的时候呢啊,他也有很多的这样的个缩影的这样的方法跟缩影还有切分的这样的方法啊,比如下面啊,有很多各种不同类型的切分方法,你都是可以 来进行一个这个选择啊,来甚至是来进行个自定义也都是 ok 的, 然后呢在查询的时候呢,你也可以,对吧?我们刚刚所说的啊,去设置一些这个提示模板啊,自由的来进行不同类型的啊,你可以自定义这个提示模板,和他 实际响应合成的这样一些关键环节,都是可以人工来进行影响的。当然像这一些东西哈,实际上是给大家先看一看啊,他在这三个环节里边呢,哎,其实是有很多可以操作的这样的个地方的, 然后,哎,咱们在下一小节就会看看拓展一下我们刚才所说的这样的一个比较普通的这个流程,对不对? 从我们最一开始的普通的这个 rack 流程基础之上,哎,来找一找啊,有没有一些进阶的这样的一个这个策略,就比如说啊,这个 small to big retrieval, 对 不对啊?这样的一个进阶的策略,怎么样来进行实现啊?比如说混合解锁啊,如何来进行,如何来进行实现,以及智能路由解锁如何来进行实现。 而当我们学会了这些东西怎么样进行实现之后呢?就可以进入到下一个更复杂更深刻的这个选择题里边去了啊,就比如说像 c s v 的 文件啊,怎么样进行,怎么样来进行剪啊?像动态文档如何来进行剪啊?像这个比如说视频的数据如何来进行剪等等等等。 好,那么到这我们这一小节内容呢,就全部结束了啊,我们这小节呢,相当于是给大家做了一个非常详细的深入系统,并且是零基础的关于拉玛 index 这样的框架上手的一个 基本的使用流程,那么下个小节我们还会有更多的实操的这样的内容。当然在我们这小节结束之前,还是一样的打一波广告啊,又到了这个激动人心的广告时刻了,对不对? 哈哈哈,那现在看到的我们在讲解的关于拉玛 index 相关这样的内容呢,实际上是节选自我们的二点五大模型 a g 的 智能体开发实战课这样的一门付费课程,这门课程是由我和暮雨老师共同来主讲的一门一百个小时以上的完整体 系大课,那么这门课程啊,当然我们刚也说了,对于像 reg 方面这个技术,实际上是所有大模型开发工程师必不可少的啊,一项这个基本的这个技能啊,然后呢在我们的课程里面,其实从第一期开始就有非常丰富的关于 reg 方面技术的内容这样讲解, 然后也是伴随着现在啊大家使用 reg 逐渐进入了深水区,所以呢我们在我们的十二月班里边实际上是新增了啊拉玛 index 相关的非常系统的这个内容的讲解跟介绍, 那么 index 呢,作为目前最强的啊这样的一个 rek 解锁这样的 api, 那 么在刚刚啊咱们这部分内容讲解过程当中呢,相信大家是大概看到了一些啊,对不对,它的这个功能和它的这样的一个潜力啊,当然之后呢还会有更多的这方面的啊,它实战效果这样的演示, 但是大家如果想要深入的系统的学习关于啊所所有的这个 rec 系统的这个技术的话,那么也欢迎大家啊报名我们现在正在开设的这门付费课程啊,这门课程呢是可以帮大家零基础入门,然后直达目前顶尖大厂的中高级的岗位能力要求的。 我们这这本课程里面有非常多的关于一些 rex 系统的定制化开发的相关的这样的一个内容。那么这本课程总共呢是六大模块啊,第一个模块呢是关于如何零基础接入全球最顶尖的大别模型,然后第二个模块呢是在重点介绍啊,关于 微调和蒸馏相关的内容啊,当然所谓微调和蒸馏,实际上就是围绕大表模型呢,来进行一个后训练哈,来围绕它的某一部分参数呢来进行修改,然后呢永久的去修改它的这样能力啊,用可以用于去提升大模型的,比如说角色扮演啊,比如说知识贯注,比如说代码能力的这样提升,或者 a 帧的性能的提升等等等等各方面这样的能力。 然后同时我们在微调领域里面也会啊,在十二月班里面也重点新增了叫 ag 的 性能啊,用于去提升模型整体的 ag 的 性能, 然后同时第三个模块就是我们的大模型的 rack 系统啊这部分这个内容了,然后在我们的课程里面会来讲解关于 rack 系统的搭建, rack 系统的性能的评估和优化,以及基于制图谱的 graph rack 企业级的落地应用。然后同时也包括啊,我们刚刚所说的像多模态的 rack 系统啊,包括像这个 啊,来我要表格来进行的啊,这个解锁的这个 rack 系统啊,甚至是原生的这个图片进图片出的这样的讲解,甚至我们系统里面啊,沐雨老师还围绕着 graphreg 啊,基于知识图谱的解锁增强的这样的一个微软官方的 graphreg 这个库号来进行了二次开发啊,使得它能够围绕着一些多模态的这个信息来进行解锁。 ok, 那 这个我也相信是我们课程里面啊,但这个是我们课程里面独家给大家提供的这样一些这个方法哈,当然也是业内啊,可以说去解决目前的 graph 性能瓶颈的非常前沿的一些技术方案。 好,紧接着第四个模块啊,是关于 m c p 的 全体系技术实战啊, m c p 我 们上上公开课才讲过啊,对不对?包括啊,零代码就是 m c p 工具啊,包括三大类的 m c p server 的 开发呀,包括 m c p 的 a 阵的开发等等等等。 那么第五个模块啊,是关于十个主流的 agent 开发工具的这样的实战,包括啊,低代码开发框架啊,像 kose, defy 和阿玛尼。也包括主流的代码开发框架啊,像 longchen, long graph, 还有 auto gen。 当然也包括我们新兴的一些代码开发框架啊,像 open i 的 agent sdk, 谷歌的 adk, 还有这个阿里同意发布的这个 agent 的 scoop 等等等等。 当然我们课程里面还有四大项,十万行代码级别的企企业级项目实战啊,分别是 forkchat, 对 不对?第一个项目就是企业级定制化的 rack, 自助库解锁引擎的开发啊,这其实我们课程里面的 第一个大型的这个项目啊,也是,呃,可以说目前来说市面上复杂度非常高的啊,这样的一个 rack 系统。那么同时第二个项目呢,是一比一还原 minus 通用智能体 a 智能项目开发实战。第四个呢是 mate 政啊,企业级的 ai 编程跟数据分析智能体啊,项目开发实战。 那么所有的这些内容,我们在十二月班呢,我们的课程还进行了这个全新的改版和升级,新增了更多的这个内容,包括啊, longchain, 一 点一的 这么三个模块啊,这个 long graph 啊, longchain 啊,还有这个 deep agents 啊,相关内容这样讲解和全套的 longchain 应该是一点一哈,全套的这个实战案例的实操教学,以及我们现有的所有的案例呢,全部都升级和匹配到了啊,这个 longchain 一 点一 同时呢还新增了啊, jameson 的 智能开发实战和 nintendo pro 啊,这样的纹身图的项目应用开发实战, 然后同时我们还新增了啊,这个 agent 二幺,对不对啊?这个 agent 自适应啊,这个,呃,强化学习后训练的啊,这样的一个这个模型训练的完整的这个流程,然后同时最重要的是我们还新增了十四项啊 agent 实战的开发的实操案例, 能够覆盖啊,目前各个主流的大魔性技术应用的啊,非常核心的热门的场景,包括像多模态的这个 pdf 检测啊,光是多模态 pdf 检测,我们课程里面大概做了四套 这个教程适用于不同的这个情况啊,因为多模态 pdf 检测,呃,怎么样,怎么说呢啊,这个情况其实很多啊,然后我们课程里面实际上是有很多套不同的这个检测的这个方案,然后对应不同的场景啊,比如说这 这个多媒体 pdf 扫描呀,啊,比如说多媒体 pdf 羽翼扫描呀,对不对?比如说这个图片到图片的这样的个解锁呀,啊,甚至还有这个音频的这个解锁等等等啊,这样的一些解锁的这样的一个内容, 然后同时还有非常多的啊,包括 ai g c 的 这个场景的实操案例啊,纹身图啊,纹身视频啊,包括这个纹身 ppt 啊,对不对?还有实时语音啊这样的一些这 agent, 然后同时啊还有非常多的啊,关于 ai 数据分析的这样的一个实战,包括 n l to circle, n l to python, 对 不对啊?还有像这个 chat data 相关的一些这个应用,当然同时也包括文本类生成和审核的这样的一些这应用啊,包括什么小说报告公文的编辑呀,包括 这个文档啊,是否合规的这样的审查呀等等等相关的一些 agent 的 这样的一个这个开发。那么现在我们的十二月班啊,是已经正式发布了,并且呢啊,我们现在呢是在双十二的这个 活动特惠的期间,那么在我们所有直播间里面啊,大家可以享受我们整个的啊双十二的这个活动特惠的啊,这样的一个特殊的折扣优惠, 当然啊,我们直播间里的这个五折特价呢,呃,也是全年最低的这样的一个价格啊,是双十二的同价的这个秒杀的特价是可以承诺保价一整年的啊,因为现在这个双十二的这个活动期间,我们的直播间呢也是呃, 可以啊,这个给到大家的这个双十二秒杀的这特殊的特惠价格,并且同时呢我们直播间前十名下单啊,还有额外的超值的啊特惠的福利,包括赠赠送全年三百六十五天星星的 技术技啊,新技,新技术持续追根的啊,这个特殊的福利和一次机会免费升级到下一期啊的特殊福利,以及一对一学习路径规划和三十个小时速通的就业路径学习规划,以及一对一简历精修和最新的一百道面试高频问答模板等特殊的啊,这个特惠福利,当然这个福利呢, 是指在我们直播间报名同学啊,前十名能够享受的到。那么大家现在如果对我们课程感兴趣啊,欢迎大家扫描现在屏幕上二维码,添加我们的助教老师,然后呢 大模型就能看到这门课程完整的课程介绍和现在正在进行的特惠活动了啊。当然其实对我们的课程来说呢, 现在啊,大家如果是在我们小通的这个直播间里边,也能看到我们现在弹出的啊,这个五折特价的这优惠券啊,大家点进去之后呢,就能看到这门课程完整的课程介绍。 但之前也有同学会问到啊,说我们的课程啊,这一百个小时是怎么算的啊?是不是包括就比如说我们现在正在讲的这样的公开课的这个内容其实不算啊,我们公开课内容其实只是作为我们正课的一个啊,加餐啊或者辅助 不学习的这样的一个定位啊,所以我们公开课呢,一般来说要不然是入门啊,要不然是一些比如说比较新的这个前沿的技术的这样的一个讲解和加餐啊这样的一个定位。然后呢我们课程里面的一百个小时是不包括,那我们现在比如大家看到的这样的一些直播啊,或者 b 站上的一些视频,也不包括我们赠送的啊,我们继续给大家赠送这个 入门教程跟深度学习的这个入门教程哈,也都是不包括的啊,是纯硬核的这个干货的一百个小时独立的这样的一个内容。当然同时啊,我们在双十二的活动期间呢啊,这个其实是今天晚上单独给大家申请的额外的一个这个福利哈, 我们之前啊说双十二的活动期间呢,我们老师是给大家准备了十五套原创的热门 a 证的项目的原码,那么有哪一些 a 证呢?大家可以看看啊,大家就这些 a 证啊,这个名字都写在这名字都打印在这个屏幕上, 然后呢,这十五套项目原码呢?原来啊,是我们啊参与到我们每天晚上的这个答疑的活动当中来,如果有三次被老师选中了你的问题的话,那么就可以来进行一个这个赠送啊,然后呢,但是老师们每天晚上的回答的这个问题的时间确实也是有限啊,因为,呃主要还是在这个讲课嘛,所以很多同学可能不一定能够拿到这么 多的十五项的这个完整的这个项目模板。然后现在呢,是我们所有今天晚上报名我们课程同学也都会全部来进行一个赠送啊,所以大家如果是呃报了名我们课程之后啊,也是可以找我们的助教老师来来去领取这十五套项目的项目模板。 然后这十五套项目啊,其实,呃,跟我们刚刚所说的十二月班新增的什么项目啊,还有我们公开课讲的这个项目啊,都不一样啊,它是额外的十五个实操的这个 demo 机的这样的个项目啊,大家可以自己呢来进行下安装部署使用,然后来进行个调试,那么我们课程里面所有项目也都是 后代分离的啊,这样的个独立的这个开发项目啊,其实尽管我们今天的课程实际上是属于一个 lama index 的 一个入门的啊,完完全全零基础入门的这样的课程啊,但实际上呢,在我们的付费课程里面,其实啊,当然入门的课程肯定有,对不对啊,因为我们本身的课程就是一个完全零基础可以来进行学习的这样的课程。 那么除此之外,我们课程里面从今年的第三季度开始,也是不断不断不断的在给大家增加很多的一些前沿实操类这样的内容,其实也是因为大模型的 agent 的 技术呢,也是逐渐趋于落地啊,所以呢,在我们的课程里面, 其实会更多的围绕着不同类型的场景,给大家提供一个可以拆包即用的解决方案啊,包括像多模态这个解锁,对不对?我们刚刚已经说了什么 啊,动态 pdf 剪辑呀,什么动态的这个羽翼剪辑呀,什么这个图片到图片这个剪辑啊,还有动态的这个呃语音的这个剪辑等等等等。我们课程里面其实每一个不同的场景都会有一个不同的这个案例啊,能够帮大家直接呢来进行拆包即用。然后同时呢,这里面大家看到的赠送的这十五套的这个内容啊,十五套的这个 a 证的项目原码也是 应该算是我们课程里面给大家来进行课后练习的这样的一些这个案例啊,所以呢,在我们课程里面总共啊算下来的话,应该是有这么几十项啊,三四十项的这个实操的这样的一个项目啊,前后段分离的这个实操的这样的项目,所以这么课程确实啊,我觉得一方面呢是能帮大家完整的啊,从零到一呢去学习跟掌握大模型的这样的个 体系的技术,然后同时也是能够啊给大家提供很多的啊企业及落地的这个解决方案啊,能够帮大家做到啊,这个拆包即用。

手把手教你搭建一个 ai 智能体,一天就可以学会 ai 智能体的开发,本教程全部免费学习, let's go! 大家好,我是程序员小梦,最近有很多小伙伴找我做智能体开发,或者 ai 开发的,或者一些大模型开发的,然后我也整理了详细的教程。 嗯,本期的话就给大家讲如何做一个开发一个 ai 智能体。嗯,这个本期都是免费学习的, 我整理了详细的文档,包括用什么技术,用 reg pro 去开发,还有需要的软件硬件条件,还有这个详细的文状文档安装的步骤,我都给大家整理好了。 大家如果想学习 ai 智能体开发的话,呃,都可以看这个文档,大家只要是善联啊,善联都可以获取文档的学习啊, 大家对这个 ai 自媒体开发感兴趣的小伙伴啊,都可以看一下本视频。呃,跟着这个文章的教程,我也开发了一个详细的项目开发了,有包括很多的项目都是用本文章的教程去开发的 啊。下面的话我就给大家演示一下我开发的这个 a ai 智能体开发的这个项目,大家有想开发的话也都可以来找我,或者想学习的话也都可以看到本文章去学习,项目的话包括系统的开发,还有 ai 的 开发。首先我们看一下 ai 大 模型的这个开发就是 ai 智能体开发, ai 智能体开发的话,我们就是首先要准备一个知识库,知识库的文档我们可以给我们的这个 ai 智能体输入很多的这种,呃,内容啊,我们这里给他把我们刚才准备的这个 ai, 呃,智能库啊,可以去给他拖进来,我们可以把我们输的内容啊这个弄成,呃这个 word 的 形式, word 形式我们直接拖入进来,拖入进来之后,呃这个就可以当做我们的一个智能库啊,知识库, 然后这个是我们开发的平台,我们开发平台之后,我们里边有我们相关的一些内容,我们在这个里边的话我们就可以去提问。 呃,我们这个呃知识库的内容,他就可以从我们的嗯知识库里边那个知识库里边去读取相关的这种内容,如果有的话就可以智能的去回复,主要是相关的问题都是可以回复的 啊。当然如果你的问题这次没有搜索,没有搜索到,那么你就可以在知识库中去完善我们这个文档,那么随着这个知识库的完善,你这个内容话会越来越完善,越来越完善,所以你这个智能体就非常的智能,不管问任何的问题都是可以回答出来的,非常的智能。 呃,第一个我们可以调用这个 ai 智能体去呃,呃智能的回答我们本身的一些内容,当然我们可以也可以调用一些 ai 大 模型去呃输出 ai 大 模型的一些内容,这样通过 ai 大 模型和我们智能体可以输出基本上所有的内容,非常的智能。 呃,例如我们这是一个非遗文化平台的一个系统,那么我们就可以呃询问一些 ai 字这个非遗文化的相关的内容,那么我们这个平台就就会读取我们的知识库,就会给我们输出 非遗文化相关的内容,当然你可以丰富很多的这种知识库,只要我们去丰富我们的后台的知识库就行了。 下面我们看一下后台的功能,我们登录后台的用户名、密码、验证码,我们就可以直接登录到后台,这个信息在数据库里面可以找,登录之后呢我们就进来了,进来之后我们在左侧的话,我们可以看到系统的菜单栏, 包括非遗的各种信息,一些查询的页面,呃分类的查看,还有一些呃文化创品管理,一些评论管理,系统的监控, 呃系统管理等等。然后我们可以在这里边进行各种信息的管理,包括添加非遗项目,进行非遗项目的信息管理。 呃,我们可以这个在里边添加相关的信息,管理的话都是呃多种信息相互关联的。 呃这些数据的话我们可以嗯,这个去百度上搜索一下图片,然后内容的话也可以去百度上或者 ai 去搜索一下里边相关的内容,然后我们直接把呃搜索的文字或者图片我们添加进来,当然我在这里边已经添加了很多的这种信息啊。 这个我们天开发任何的系统都是这样的。呃内容的话我们在后台可以去添加,但在后面的话可以再开发一个批量添加的功能,批量添加的话就会把这个信息添加的更加完善,呃就是开发的效率也更快一些。 然后这个项目的话大家可以可以二次开发,毕竟现在已经有了一个 ai 智能体开发,大家如果想开发其他项目的话也都可以来找小梦,都是包售后的。 呃,可以添加这个非遗相关的各种信息,包括分类信息什么的都是可以的。 嗯,这个信息的这个系统的话大家可以直接用,可以二次开发,大家有需要开发的话都可以来找小梦。呃,包括我们信息的话,也可以进行信息的各种解锁啊什么的都是可以的。 呃,这个系统的亮点的话就是用了 ai 智能体,大家也可以加其他的一些算法,包括推荐算法,神经网络什么的都是可以的。 系统的开发的话,前端的话就是用的 v o e, 后端的话就是用的 spring boot 数据库用的这个 bioshell。 然后 ai 智能体开发的话采用的是 log flow, 大家有需要学习 log flow 的 话,完全可以看我那个文章,我那个文章也是非常详细的。呃。其他的功能都是一般非常的。呃。一般的功能主要还是用的一个 ai 智能体开发的。 呃,现在大家还是要多加一些创新点,例如一些神经网络大模型, ai 智能体,大数据。呃,深入学习一些算法之类的,这样比较容易出创新点,比较容易一次通过。 我们再看一下客户端的演示,也就是用户端的演示。呃,这一段主要是用户来进行登录的,我们依然输入,呃,用户名,密码还有验证码。呃,这个信息也是从数据库里边就可以拿到的, 当然这个地方的这个信息管理员也是可以去添加的,管理员都是可以进行管理的。呃,如果你没有账号的话,也可以去直接去注册一个, 点击这个登录下面的这个立即注册,就可以直接去注册一个,我们注册完之后我们就可以去登了,登录之后呢我们就可以看到我们这个用户的一个界面,在用户里边的话我们可以看到我们自己的一个信息, 然后我们在这里边的话可以进行各种用户的相关的操作,我们可以点击呃这个退出登录。我们来看一下这个我们相关的用户的一个信息啊, 这些信息在数据库里边都是操作的同一个数据库,然后我们这个这个主要是用户界面了,然后我们可以看到非常多的这个非遗文化相关的页面。 呃,然后有一些分页功能了,包括一些展示功能了,还有一些页面的功能,这些都是可以的,然后我们在这里边的话都是可以进行评论的。呃,这些数据的话都是在管理员端进行管理的,包括一些收藏一些,呃右侧都有一些相关信息的推荐, 我们都可以进行评论啊,当然你如果是这种恶意恶意评论的话,呃管理员是可以进行管理的,直接给你去 删除了。呃,这个地方的评论的话是可以加情感分析算法的,就是我们可以呃添加一些敏感的关键词啊,呃,如果呃 用户恶意去发布一些不健康的这种文字的话,就会被系统屏蔽掉。我们右下右下角的这个客服的话可以联系客服啊。这个地方的话就是我们一个 ai 智能体开发的,这是我们一个项目的亮点,当然这个项目的话,嗯 是给一个小伙伴定制开发的,大家有不同的需求都可以来找小木兰进行开发。 嗯,这个地方的话还可以再去加一下一叉的图啊,一叉的图显得,呃,这个数据的话更加生动形象。然后数据的话我们这里可以不断的去添加数据的话可以添加一些这种比较高清的, 高清的去百度一下,百度一下直接去搜一下就行了,这个图片是非常多的,或者去找 ai 去设计一下。 呃,我们尽量用一些高清的图片和一些真实的数据,这样我们就显得这个系统比较真实啊,当然,嗯,还可以再加其他的一些更多创新点的一些功能。

本教程共耗时两千六百九十五秒,将手把手教你 r a g 基础概念及工具使用,看不完可以收藏,点个关注不迷路。 这回啊,咱们来梳理一下整个 agent 和大摩羯当中最重要的一个模块,叫做 r a g, 听起来好像挺抽象的一个词,解锁、增强、生成,那它到底能帮我们解决哪些个问题啊?我给大家举个例子,比如现在啊,就是你去考试了,考试的时候啊,你看到了某一道题, 但是恰巧这道题你就不会啊,然后你一想,哎呀,这道题好像书上是哪个地方讲过,然后呢,你就把你的小抄拿出来了,哎呀一找,小抄当中不就在书上这一块答案吗?我就照着小抄啊,把他的一些答案在结合着我对这个问题的理解一综合,这样我就把这道题答出来了。 其实这个就是整个 ig 啊,在生命流程过程当中,他要去完成的一件事。哎,那我先来说一说啊,就是他能帮我解决啥问题?刚才我说这个场景,就说你要去考试,那不就是说你现在要让这个大魔精帮你回答一个问题吗?但这个问题大魔精不会, 那比如说你问他啊,我们厂子当当年发生些什么事,那大魔精知道你们厂子是干啥的吗?我在问他,我说我们董事长咋地咋地,他知道你是哪一个呀? 所以说这个 ig 啊,本身来说就是一句话解释啊,就是我们要外挂一个数据库,外挂一个数据库啊,就是说我们让这个大魔蝎啊,在回答问题的同时,我们给他加进来一些提示,咱可以这么去理解啊,就是以前, 以前啊,比如说我现在有一个问题啊,就问我们的董事长是谁,那我说这件事他肯定是不知道的,那有这个 ig 之后呢?哎,我们说可以这样,我说我现在这个问题啊,就给他啊做了一个改变, 我说呀,请参考我们公司的一些啊组织机构文档来回答我们的董事长是谁。 那这回你挑一件事,你们公司的什么时候文档?那是不是说,哎,这个大模型首先得去看一看你公司的文档当中有哪些个东西,再结合你公司的文档来去一起回答这个问题啊。 所以说,说白了, ig 就是 让大模型在回答你问题的同时,我们在你本地的或者是你自己私有的一个数据库当中找到一些相关的提示,找到一些相关匹 配问题的一些文档,或者说明,把这些文档说明一起呢,作为一个提示再去问就完事了。 幻觉来说,我给大家总结一下啊,就是没有 i g 的 时候啊,没有,我先写第一个吧,没有 i g 的 时候我们董事长是谁?那大魔九你自己产生幻觉吧,瞎编去吧,董事长爱谁谁的。第二个就有了 i g 之后,他就要去把你本地啊文件当中解锁到的。 比如说我提到董事长,那你本地文件当中可能有很多很多的数据啊,我们可能有上千万个文档,上千万个文档, 他是不是得在这一百万文档当中找到一些哪些跟我董事长是相关的?那我是不是说把这些文档给他拿出来,比如说现在啊,这个三号文档,哎,他说了一下啊,我们董事长什么张某某,某天干了一件什么事啊?然后他又说,哎呀,那现在问题变成什么, 请问我们董事长是谁?参考以下说明文档,然后说明文档当中,你再附上三号当中他的一些啊,具体的内容。那是不是这回我们的提示就做的更完整了?所以说,说白了就是 ig 啊,是让你外挂一个数据库,让我们形成什么,从而形成 更完整的输入提示,也就是输入当中我们的提示不仅仅是我们可以自己去指定的,也可以让我们这个大模型在你本地数据当中找到一些相关知识,这些相关知识呢,都可以做我们的输入,一起来进行输入就完事了, 为大家看一个啊,就是这一块啊,我们借用一个完整流程图为大家捋一捋啊,就是 ig 当中啊,咱们需要去做哪些个事? 第一步呢,看我们说到了咱们要干什么,是不是我们得有一些数据啊?大家可能会问,就是,哎,我这个数据长什么样子,是不是一定得是一个什么 word 文档,或者是一定是数据库当中呢? 其实你的数据啊,现在来说啥格式都行,不代表说咱不要处理啊,而是说就是你在准备数据的时候啊,你不用再自己精心的去选了啊,不用自己做这个结构化数据的一个操作了。 现在呢,有很多工具,包括一些浪秤,这些工具它可以干什么?自动的帮我们把这些数据做一些整理。那比如说我给他一个视频,让他去把这个视频整理一下,给他个 pdf, 给他个 word, 给他个 c r s, 甚至 t i t jason 这些文具,甚至是我本地数据库 都可以的,就在数据处理当数据准备当中啊,大家咱不用自己费这个事了,现有的工具,它结合着现有的大模型,已经能把你这些私有数据做一个结构化的过程,这件事你别自己操心了,所以说我们先总结一下啊,就是我边总结边给大家去说啊, ig 当中啊,就是比较核心的一件事啊,这里咱外观数据库当中啊,第一件事就是我们要做一些数据准备, 数据准备啊,就是你不用太担心你的数据各种格式,各种格式都行,为什么?因为在这里边我们可以使用一些工具啊,比如说现在比较火的这些个晾晒的工具可就可以,哎,把你这些个数据自动化的做一个结构化的过程。 呃,你可以这么理解吧,就以前啊,我没有这大模型之前,你要做这些结构化,你要把这些数据作业整理,那要不然就是人工去做,那要不然就是啊自己选点模型去做。现在都不用了,咱们有这些大模型调一些 api 接口,比如说你调 opi 的 接口,它可以自动的帮你去整理这些数据啊,就是相当于 组织和分割你的数据吧。啥叫组织呢?就比如说啊,你的数据当中杂乱无章的,他可以帮你提取一些重点,那分割呢?你的数据一摞子一摞子那么多,我说你到时候作为提示,你不能这么长一大串子都做一个提示吧。 比如说咱们在任务当中,我把这个数据啊,比如说每隔一千字,每隔两千字做一个分隔一千字再一千字再一个分段数据,他们之间有一些交集也是可以的啊,就是第一步, 往往呢我们是需要用一些现实的工具帮我们做一些组织的分割,这些工具太多了啊,就是类似浪差的工具,我看开源的可能不下有大几十个了,都是可以去帮你去啊,整理这些数据。 然后大家可能说啊,就是视频数据啥也能整理吗? pdf 啥的都行,现在这些工具啊,就是功能是比较强大的啊,咱们在任务当中,你想 去整理这些数据先,以前可能觉着不太不太容易,但是现在都能去做了啊,都是用现成的工具调人 api, 我 们不用自己操这个心了。 而且这一步啊,就是啊,大部分情况下,咱们都是很快就能把它的一些结果整理出来的啊,但是如果说你数据特别多,那就可能比较慢。慢在哪呢?其实慢在的是我们第二步叫做一个 embed 的 过程, embed 啊,叫做一个向量化, 你可以这么理解,到时候我们就是把这些数据啊,做好计划之后剔出来一些信息啊,整理好之后,我们到时候肯定要去做一些剪索,是不是? 那你说怎么做一个剪索呢?每个啊文本,或者说我们刚才说的每一条记录吧,咱都得给它做成一种特征的形式,然后到时候我们可能要匹配特征之间的一个相似度。所以说第二步呢,我们叫做一个 embedd 引摆顶,这一步啊,相对来说就是咱会比较贵的一个过程啊,给大家解释一下啊,就是为什么说这个引摆顶相对来说他会比较贵, 因为这一块啊,就是你想把引摆顶这个东西啊,给他做的比较好,一般全是咱们用什么,我给大家写几个,就常见的,就最常见用那个 opi 的 一个引摆顶,是吧?但这玩意它是花钱的。还有呢,就是大家可以退而求其次啊,退而求其次,我建议大家推荐这个就 m 三 e 这个东西,嗯,这个 从我用起来的角度啊,以及有问过很多相关的做这个方向的同学啊,以及他们公司在做的时候的,大家 给我的感觉就是云白领这个东西啊,肯定是需要的,一定是我们需要做这个项链化,但是你说这个项链化啊,它做的好一点和做差一点,就是我的感觉好像是应该差异很大的, 但是也很奇怪的一件事,就很多人都觉着这东西吧,你用一些国产的和用一些 o p i 的 可能差异并不大, 因为这个东西啊,可能我们再出也都是中文数据,中文数据可用专门的中文模型,甚至要比 open i 会更好一点啊,就这两个你任选 open i 的, 你白顶和 m 三 e, m 三 e 这个东西我觉得是都可以的,效果是都还不错的一件事啊。 然后接下来接下面就是用我们的工具啊,帮我们把这些个项链叫入库的一个感觉,因为一会啊,你要在这里做一个搜索,做一个匹配,其实这些都是现实的工具,每一步呢都不需要我们自己人为来进行操作。然后下面呢,什么叫做一个剪索呢? 比如说在这个任务当中这一块啊,你看当用户啊,问到了一个问题啊,比如说他问了什么,什么产品的参数是多少?那显然这个产品的参数在互联网上找不到答案的,这是我们本地啊,自己有的一个数据。 好了,把这个问题我们是不是说抛出一个问题,哎,我要看一看,我本地文件数据那么多,那他应该是参考哪一条,记录哪几个数据啊?那是不是说,哎,我要把这个问题也做成一个文本,你的问题要做成一个向量化 问题,向量化完之后呢?那我这问题有了向量,我是不是可以到我的啊向量数据库当中啊,跟之前的我那些数据做一个匹配,来看看谁跟我的相似度是最高的,把它们作为知识取出来。 那好比说原始你有十万条数据在这块里匹配,我取个 top 十啊,就取取前十条跟我相似度最高那个数据,那这些知识又来了,这些知识可能就是啊,第一篇文档,比如说你们董事长咋地的啊?第二篇文档说你们董事长又干啥了啊?都是跟你们董事长相关的。比如说问题,就是说啊, 你们董事长是谁,他就会找到相关的东西,帮我把这个知识啊找出来了,找出来这个知识之后呢,接来 这个知识用来干什么的?是为了让你能把这个问题给他回答的更好的。所以说在下一步的时候啊,我们还有什么,就是你的一个有什么叫基座吧?就是你的一个基础模型是什么?你在做这个基础模型的时候,咱们这里边呢,就要把你的知识再加上你的一个问题,一起形成这样一个提示, 什么叫比如说啊?我说啊,请根据我解锁到的问题产品猜测是什么 知识啊?我们产品当中有哪些个指标大的的?这就是你找那些知识一起作为一个输入交给大模型,最终大模型会生成这个结果,然后返回给我们的用户就完事了。最后这一块啊,给大家去梳理了一下,咱们整个的一个 r a g 过程当中啊,啊,就是流程上我们是怎么去做的? 然后这一块啊,再给大家梳理一个,就是现在还有一些向量数据库,是不是向量数据库当中啊?咱们要做些剪辑,其实这个剪辑我觉着就跟那个 人脸识别其实蛮像的,我们一直我比较喜欢用这个,因为我觉着他速度先来说是比较快的,到时候大家如果说你们有啥其他的都可以啊,我们一直用的是这个跟人脸识别啊,跟你一些,我们之前给一些工厂做一些什么宠物识别项目,反正一直都爱都爱用这个酷,我是觉得效率也挺好,挺实用的啊。 好了,这是给大家先梳理梳理啊,就是我们 ig 啊,从流程上来说,我们要去做什么,然后呢,我们再给大家去说一说啊,就是为什么要做这个东西? 为什么要做?为什么要做啊?其实我估计大家可能呃会有两种想法,第一个啊,我估计很多同学可能都会去想到一件事, 就是,哎,我们干嘛不去?我写这个吧,咱们干嘛不去微调一个大模型啊?让我们大模型学学我本地数据就得了,我为啥非要外挂个数据库,你外挂数据库最大的问题是啥?来来我给大家再说啊,就是这块可能 存在的问题,问题呢?就是啊,就仨字吧,特别贵啊。贵,贵贵。为啥呢?就是你这么想,你现在比如说你要调 o p i 这个接口, 你在这个外加数据用户当中找出来了一些个啊相关文档,是不是要把你这些个文档做成你的提示,那你的提示会很大的,他按投给你收费的,你输入的越多,你每次啊问都输入这么多东西,那是不是每次我的花费都会比较高啊? 所以说现在啊,就是有一道越不过的山,就是 o p i 啊,他的 key 给我们卡这了,这玩意比较贵,你外挂数据库,你外挂东西越多,那你的成本肯定是越高的。 那我们来说,大家其实很想就干什么?我们去做这个微调,但是我给大家去说一说啊,就是当我们在做微调,就是拿这个大模型或者一个基础模型,但是可能就不是拿这个 o p i 了啊,肯定就是拿什么叉的 g r m 啊,或者是一些其他的开源的模型。我们去做微调, 微调的时候大家觉得最大的问题是什么呢?就是能力不足,我觉得就是没能力去把这个模型给它微调好, 你的数据也做不好,你的数据质量也不高,而且呢,你的算力还不够,这就是比较麻烦的一件事,你能力也不够,算力也不够,哎,那其实还有一件事,就是微调的时候更麻烦的问题是什么?就比如说你们企业,你今天问董事长是谁,明天董事长进去了呢?换董事长了咋办? 那,那再重击微调一遍吧,你再问他,他不还是说原来董事长吗?那人事总变化,那参数总更新怎么办? 所以说这个东西啊,他就解决不了实时的问题。实时的问题啊,也是现在比较难去呃,考虑的一件事吧,就微调完之后,他解决不了这个问题,还得在微挖数据库。那你不行啊,又折腾一遍吗? 所以这一块啊,就是先给大家说了一下微调当中啊,先给大家说吧,就是为什么用 i g 啊,就微调当中肯定是有一些问题的,还有呢,就是有些事啊, 他不是说,嗯,他不是说从技术上能解决的,就是原则上的一些问题。什么叫原则上的问题?我 给大家举个例子,就是想想你们公司啊,允不允许使用这种 o p o p i, 让不让你们用这个 g b 四啊?大概率是不让的,尤其是啊,一些 啊,一些啥呢,一些国企之类的,他肯定是原则上不允许接触这个东西的,为什么?从数据的安全性考虑,他说不会收集你数据的,你知道他收没收集吗?原则上肯定不允许的,所以说 我们咋办呢?就是呃,你得去考虑考虑让他自己做一个外挂才行,因为这个情况下你微调,虽然说 gpt 也可以做这个微调,但是呢,他微调完之后说不准你数据是不知道的一件事。第一个啊,就安全性,我本地数据库啊,我做成项链完之后啊,到时候你直接解锁我这些项链就完事了。 第二件事呢,就是啊,从我们的一些啊,幻觉的一个问题,幻觉的问题。啥叫幻觉的问题?就是现在啊,这些大模型无论你怎么做这个微调,其实都解决不了这样一件事,包括人家 oppo 还做的这么好,他还是没有解决幻觉的问题。 比如说我问他啊,一些具体的数值上的一些事,那数值指标他要是说错了怎么办?我问他一些日期的东西,他对日期这个东西不敏感怎么办? 所以说这一块啊,都会涉及到一些问题,就是安全性还有幻觉的问题,可能还有一些局限,就是他这个大模型啊,相对来说是比较通用的,但是很多企业在做这样一个私有化的过程当中,我们希望是一个专业的, 而不是说他在我们专业当中只会一点点啊,他通用能力很强,那不是我们要的。所以说更多的时候啊,咱们最优先解决方式是什么?就是去我们去啊外挂这样一个数据库,来去帮我们回答一些问题。 然后下面呢,我还要给大家去说一说啊,就是现在,虽然啊我们这 ig 大家可能觉着啊,做起来也挺容易的,然后工具也挺多的, 那代不代表说这个东西他就做的很好了呢?其实我想更重点给大家去说一说。而这个 ig 这个东西啊,现在存在的最大的问题是什么?就流程上其实很简单,所有工具呢,都能帮我们做这个事。 你看之前我们说那 agent 的 当中, agent 里边人家不也是自动的去帮我们啊,做解锁,自动的帮我们去生成,帮我们去补全这个提示了吗?但是很大的问题,很大的问题,我给大家来说一说吧,这些东西啊,估计都是以后大家可能会面临到的一件事,最大的问题是什么?就是召回的问题。 什么叫召回呢?我写召回率低吧,召回率低是这种,这是这种感觉,就是现在啊,我问他一个问题,他在我的本地数据库当中啊,做一个剪所,在剪索的时候, 大家想一想,如果他找不到相关的问题怎么办?他找不到相关答案,而且匹配的是错误的答案,那不就是错上加错了吗? 这就是说的我可能要的东西,他给的并不是。这就是现在整个 ig 啊,在工业上我觉着最难落地的一个问题,大家可能说现在 ig 大 概能做到水平多少?我看过很多的,就是啊,包括 oki, 他 们也在去说,基本上能解决百分之七十是准的, 但是还有百分之三十是不准的,那这种情况下还是用不了的。我一般说这个东西啊,你得达到个百分之三十是不准的,那这种情况下还是用不了的。我一般说这个东西啊,你 ig 得到的结果是要 当做一个提示传给大模型的,本来大模型都有幻觉,你再给他不太准的东西,那是不是就更有问题了?那我们来说一说吧,召回率当中,哎,那我问问大家,哎,你说召回率低啊, 他到底是谁导致的?为什么说咱就找不到相关的这个东西呢?谁导致这个东西啊?其实现在很多问题啊,就是我给大家说一下吧,就是第一点啊,就是你本地数据 质量问题,你问你董事长是谁,你这今天他比如姓陈,他有这个陈,有那个陈,那那姓错了,你拼错了咋办?质量问题是很关键的。第二个就是通病,通病来说就是我们现在解决的是具体行业的问题, 具体行业的问题相当于专门到某一个领域,专门到某一个领域的时候,你会发现一件事,这个数据呢都极其的相似, 我给大家写一写啊,就是我也看过很多啊,做这个场景的,什么叫数据极其相似啊?比如说你到工厂我想问他一些什么参数相关的东西,大家可能说,哎呀,那咱们解锁参数这个关键词不就行了吗?螺丝有参数,螺丝帽有参数,每一个 每一个就是小零件上都有参数,而且他们的指标又都极其相似,可能就是他们差了一个字母,差了一个单词。 那你说我在找的时候,我通过相相能相度一匹配,匹配跟参数相关呢?还是跟螺丝相关的?那螺丝有几百种,那参数有几千种,是不是肯肯定能找到一些不相关的或者说较为相似的东西啊?但是本质上他们又没什么关系, 这就是最大的一个问题。因为我们外挂数据库就是要解决专业场景的问题,但是专业场景的问题,它里边的数据又极其相似, 这就是很烦的一件事,他就不好解决。所以说现在导致啊,就是通常来说这个召回率也就是个百分之七八十,你想要达到百分之九十九是不是很难达到的一件事? 那下面呢,我们就要来去说一说啊,就是有这些个问题之后,我们可以怎么去解决这些个事?我给大家说一些场景啊,可能就是我们遇到的以及我看过我们做过的一些解决方案吧。其实这些解决方案我给大家这么说,嗯,市面来说啊,有没有一些通用的技术来去解决 ig 的 问题呢? 我估计这个技术是没有的。为什么?因为每个场景要做的事是不同的,每个业务场景他面临的数据的质量和数据的样子也是完全不一样的。所以说这些解决方案是从什么上去解决?我觉得从技术上 你去找一些通用解决方案这条路是行不通的。因为我看过太多的开源项目都是要从技术上去找到一些通用的方案, 但是在一些开个项目,大家都都后来发现不好使、不好用,解决不了的问题,所以我更觉着就是要做这些解决的东西啊,应该是从业务场景上 去做一些尝试,而不是技术角度。什么叫场景?我们的任务当中我们要解锁的数据,我们要解锁的都有什么特点?在业务上去做这些个问题呢?我们来一个梳理。梳理啊,就是第一个最常见的一件事, 最常见就是说我们来去提高召回的时候,咱们数据要干什么?我们要数据做这个切片,是吧?咱们在数据切片的时候,是不是要根据你的业务场景当中想一想? 哎?我们的一些具体参数,你切片的一个长度,你重合的一个比例是有多少?你是要细致一点还是要粗糙一点?什么要细致?切分的 更细更多,还是啊切分的比较多而散呢?其实这个东西吧,没有具体的说法,结合你的数据特点来去设计啊,我们该怎么样去构建一个合适的数据切片?但这只是其中之一,更关键的一件事是什么?就是你看啊,当我们找到了很多相关的数据, 很多相关的一些数据来了之后,我到底用哪个呀?哎,我说我不知道这个东西到底哪个合适啊?那到底什么能做我的提示呢?这一块我们可以继续干什么?继续接住, 继续接住这个大模型,比如现在,哎,我说啊,我给你十啊,就是找到了十篇啊,但这十篇当中我我加这样一个提示,我说请在下列十篇文章当中 找出来最相关的内容,并且把他们组合成合适的一些提示的输入,是不就是说我们可以继续借助一些大圆模型,帮我们去重新的整合一下咱们找到的一个数据啊? 因为你找到的一个数据说白了就是,呃,我不确定他是好不好用的,以及我也不知道他哪一个可能跟我们当前问题是更相关的。所以这块呢,我们可不可以借助一些大模型帮我生成一些得分? 什么叫生成得分啊?就是排个,就是排个名呗,你那个引掰定排名我觉得不靠谱,我让大模型根据他对他的一个知识的储备,让你帮我去排排名,其实也可以吧,我们可以生成一些得分, 再根据你生成得分,他这个权重,我们说咱们再去生成合适的提示,就是相当于生成一个合适的,接下来这个输入是不是也可以的?这就是说我们在任务当中,你看现在的一些 a 诊断,大部分不都是这么做的吗? 他不能说你找到了一些切片人之后,他就拉倒了,就把这东西都做一个输入了,肯定要把你这些数据当中这些个切片重新的组合组合成一个更结构化的形式啊,就是你可以当做把就是这个东西我们做成更结构化, 更结构化相当于更标准的一个体系。我,我别写结构化了,写更标准化了,因为大家这么想,就是你的提示,你说的越标准,接下来模型答案才能会越精准。 所以说我们需要的是更结构化、更标准的这些东西呢,还得需要再借助大魔镜帮我们进行重新的一些组合啊,这也是一个解决方案,也是现在基本上所有的 agent 都在去做的一件事。 第二件事就是啊,多分支结构,多分支结构,我觉得这个应该是现在啊业界当中做的,就实际在落地的时候基本上都是这种结构。啥意思呢?比如说我现在问一个问题,这个问题可能是啊比较专业的,比如说我说我今天要吃药啊,我要吃这个什么什么阿司匹林,我问你具体吃多少片? 这玩意你不能让大魔婴生成吧?给你生成幻觉,吃一百片,那成吃死你吧。是不是?当你问到一些,比如这块, 当你问到一些就是,呃,咋说呢?就是必须精确回答的问题,必须精确回答的问题,咱们干什么?直接啊,就不做,生成了就没有下一步了,直接就是匹配答案, 就是做一个就是 q 啊, q a 的 一个匹配,匹配完答案没有再有提示,没有再有大魔性,生成答案了,直接就匹配一个完美的答案,就是我们在分支的时候第一步啊,就是如果说判断出来了你这个问题他必须要 做一个精确的回答,或者说其实说白了就是我可以把咱们的一个问题再交给大模型问问,大模型啊,这个问题它是适合一个精确答案,还是适合在我们 r t 当中外挂数据库当中做一个检测? 如果大明说,哎,这个东西它需要一个精确答案。好了,那直接在本地数据库当中匹配到唯一的一个或者是一个精准的答案就可以了。就是第一个分支啊,就是我们可以直接得到一个合适的一个答案。 然后呢接下来,接下来,比如说现在啊,他还有一些呃不敏感的数据,就是比如说什么叫不敏感的信息。 呃,如果说呀,这个问题当中提到一个病态信息,比如日期,比如说什么什么代词,他我啊?你那谁知道他我你是谁啊?或者董事长,或者是咱们技术总监或者程序员, 那说到这些个我不知道到底是干啥东西的时候怎么办?这些个词啊,就是有两方面,第一方面来说啊,就是呃,在我们任务当中我们可以把它做一些啊,叫做一个钱处理。什么叫做一个钱处理呢? 钱处理大概这样一件事,能不能去在你的数据当中啊?或者是结合你的一个上下文,我们先看一看这个什么你我他这个董事长到底指代的是谁? 从而我们在匹配的时候匹配到你合适的一个答案,就相当于我们要去结合,呃,结合一些记忆来进行一个匹配,这也是多分支当中,我们常见的就是并不是直接做 i g, 而是先通过你的一个记忆, 把你要去匹配的一个问题重新的做一个整合,整合成一个新的答案,这样我们用这样一个新的答案去匹配的时候,它会匹配的会更精准一些啊。 然后呢,就是多分支当中啊,其实我们可以说就是数据库啊,或者说我们的数据表其实也是分级的,你要问的问题是不同的,我们肯定访问的库,访问的表他也是不一样的。 比如说你问一些员工的信息,好,那你就上员工数据库上去找,你要问一些什么企业文化信息,你要问不同的信息,咱可以到不同东西去找,而不是统一的就到一个大库里边去找 这东西吧,你说多分之要做的多复杂吗?我觉得这个东西真的会做的很复杂,因为你想一想啊,你 ig 是 要得到一些精准的答案,咱们在得到精准答案的时候,其实你分级如果说越精细化,你最终匹配到的结果相对来说也会更精准一点啊,这也是比较常见的多分之。 然后呢,下面还有一些啊,就是大家现在在用的,比如说一些呃,跟关键词相关的关键词是这样,就比如说啊,现在我们再去解锁关键词的时候,怎么让你的召回是比较高的?其实我们该说召回低,召回低的原因有有几点,一个是找不到,一个是找,找的可能不对,那关键词可以让你找的更全。 什么叫找的更全呢?我给大家举个例子啊,就比如说咱们现在可以做一些呃地归的一些查询, 现在这个问题当中,现在这个问题当中啊,他提到了一些关键词,哎,我说我能通过这个关键词啊找到一些文本,是不是?那我说找到这些个文本,我能不能再筛选这些文本的关键词,从而再找到跟这些文本也比较相关呢? 也就相当于以前啊,比如说我现在啊,说一个句子,我只能找到十篇比较呃相关的文档,但是我说能不能找出来一些跟这十篇也比较相关呢?那我可能找到了一百篇,是不是接下来我可以把这个提示做更丰富,哎,我说这个大圆模型啊,你根据我的一个问题, 然后啊以及在就相当于你先这样吧,如果找一百篇太多了,先对每一篇做一个摘要,这样会少一点,每一篇做完摘要再把它们摘要做一个合并,然后再把我们的提示和这些个一百篇的一个摘要一起,再说这个大圆魔像当中,再让他去回答这个答案, 就像做这个地归的目的啊,其实是让我们啊找的东西会更全,这也是比较常见的关于关键词啊,我们去找到匹配相关的,再根据匹配相关的,找跟他也相关的,把这些一起作为 我们接下来咱们这个输入,再整体的去做一些摘药,再去我们做咱们的一个输出,其实这也是可以的一件事。然后呢,还有啊,就是,呃,比如说 在我们这个任务当中啊,咱可以就是融入更多的信息,融入我这个,这个怎么说呢?有没有啥专业词?我就我就按照我的土话来吧,融入更多的信息。啥叫融入更多更多的信息?比如现在啊,就是啊,他问到一个东西,比如说什么你我,他,或者是小明、张三阿四之类的,或或或者说,哎,董事长, 比如说你问到了一个什么,懂不?是这个董事长,比如说你现在问到了一个董事长,那我说这个董事长啊,他是不是得是一个人?那你说你能找到报道啊?就是就是报导你们董事长每天参加什么会议,然后他主持召开了什么东西,做什么讲话, 但是少什么?是不是少了他很多的一些个人信息相关的呀?我们现在相当于就是你可以让这个大模型当中再去匹配一些个人信息相关的文档, 还要把这个人他个人的一些信息,他的一些什么组织机构啊,他所处的一个部门,以及如果说甚至你们公司还有一些什么图谱结构,一些组织分析结构,他的下属是谁,他汇报的上级是谁?是不是这些东西咱们都是咋说呢?就是相当于一个关系网络吧,你要给他组织的更全, 你要问人的,我就给你提供这个人的一些社交的关系的、组织的网络啊,然后让大名总结一下啊,看能总结出来些什么信息。比如说你董事长可能跟谁有仇,比如哪天他被干掉了,那大概率就是那个人干的。 就这里边啊,就是融入更多信息,相当于也是在我们做 ig 的 同时,就是要把我们拆出来的关键词,你给他拆分的更细, 其实这些东西是谁做的?这些东西目前来说啊,还没有一个自动化的一个流程,因为我看过好多公司啊,他们在设计就是他们 r g 的 解决方案,其实每个公司设计的都不一样,但是有个共的共同的特点 就是他们会设计的比较全,根据他们业务场景,他们会更更尽可能啊,更全的把这些东西帮我们匹配到啊,就像说的,你挑个人,那我们可能拿到更多的信息,是吧?然后再常见的就是现在大部分公司啊,其实是都有啥都有成,我们那种知识图谱相关的, 都是有一些自己的一些知识图谱,是不是知识图谱大概率大概是这样一件事,就比如说现在我, 我们把啊,呃,这个东西就就挺烦的,挺费劲的。就是他首先呢,需要你先把你的呃一些,比如说你本地的数据处理成一些 q a, 对 啊,就什么问题,然后匹配什么样答案,就像个图谱似的,都给你做好了一些结构化的东西,然后到时候我们再去问的时候,这样可以直接做一个匹配, 但是这样做的一个麻烦事是什么?就是你要先生成一个图谱,但是生成成图谱吧,也不太费劲了,就是大语言模型啊,可以生成这个 knowledge graph, 这个 k g 这个东西 啊,你也可以用大模,大模型不是生成和 k g, 你 可以预先用大模型先帮你把你的数据啊,做一个结构化抽取。咱们现在做结构化抽取,没人再自己去研究模型,没人再标注了吧?那标哪年去了?都是让现在,比如说用这个 g b 三点五, g b 四, 我先把你的本地数据做一个结构化,我需要哪些个字段?然后结构化完之后,然后我们自动生成图谱,在图谱当中我们抽取出来很多很多 q a, 对, 那以后你再来这些问题之后啊,如果说有这个 q a 对 相关的,我们先走 q a 对 的,若是没有 q a 相关的,我们再去做其他方面的匹配。 所以说整体的解决方案,我是觉得现在来说是没有通的技术能能从一条龙或者是充当一个, 一个就是解决所有东西都通用这个 agent 或者通用这个技术来去做这个事的。这件事吧,是不太可能的啊,所以说先给大家列了列,就是啊,我看过的啊,或者说我觉着的现在目前可以的一些解决方案是有哪些的? 然后呢,我们再回来给大家说一说啊,就是现在这里面还有关于那个大模型这些基座,是不是啊?就是大家总说啊,就是现在你这块,这块借助个大模型,那一块借助个大模型,这大模型一般用什么呀?我是觉着就现在来说,嗯,基本上没有太多的可替代的方案, 基本上来说,如果说你想做的好,那肯定就 open i 去做。如果说,呃,你想退而求其次,用咱们国内的,你可能觉着国内它处理中文比较好,但实验段也发现了,国内这玩意处理中文其实也是不如不如人家 open i 的, 那你要硬要选一个怎么样? 我觉得就是我们用来说啊,那个,呃,千问啊,千问的就是十几倍的模型和几十倍的,我们再去测试的时候 都还是效果还可以的,可以说是在国内当中,我觉着技术上啊实现的还比较好的,所以说大家当你们选的时候,你们还可以这样,就是你有条件啊,就有有这个钱,然后你们也能用 o p i 的, 就用 o p i 的, 那 肯定是啊,最佳解决方案,如果说用不了 o p i 的, 那你就用那个啊,千问这些模型,我估计也是能解决一些事的啊。 好了,这块给大家去梳理了一下,就是咱们从整体上来说,这个 r i g 啊,是什么?它要解决的问题都有啥?而但是最关键的一件事啊,就是 r i g, 现在来说啊,你不能说它是多成熟的一个方案, 我们确实是知道这条路是可行的,以及你要做接来很多任务是必须要走这条路的。但是具体怎么去做,这里边问题实在太多了, 更多就是你的业务场景上该怎么去设计,怎么去分级,怎么能匹配到更多有价值的信息,从而形成一个合理的接下来输入的提示。 这个就是你接下来解决所有问题当中最关键的一件事了,怎么能用,怎么去设计你的结构,能把你的召回提升到百分之九十多,甚至百分之九十九,这就是怎么让你的结果更精确啊,核心的解决方案了。 刚才啊,咱们说一说,就是 ig 当中啊,他的一些基本概念,还有我们可能遇到的一些问题,那下面大家可能就会说,就是啊,我们现在啊公司当中设计了一套 agent, 或者是设计了一些流程,以及我们自己定义了很多,就是在 ig 当中,哎,我们怎么做分级,怎么做事,但是,哎,你说我们做完这个东西之后啊, 怎么去评估啊?我做这个东西是不是好的,或者说他有没有用的?一般情况下我看到的怎么评估? 目前来说,评估的时候他是很少说单独去评估你这个 ig 的, 因为没人去关心你中间做的怎么样,更多的时候你的领导层,你的决策层是看你的结果输出怎么样, 但是这里面其实是包含了多个模块的,咱们也这么想,在我们整体任务当中啊,一般小孩或者是最少,咱们是不是得有这种 ig 的 模块, ig 又帮助东东包括了你很多流程的模块,然后还有呢,你的一些大语言模块, 一般来说我们说最少它俩结合在一起才能得到你的一个输出。但是现在有个问题,现在你的输出结果你们觉着不好, 到底是 ig 它不够好,还是你这个大模型它能力不够强呢?可能你用的大模型是你们本地私有化,本地部署的,它不是 open i 的, 那我们也不知道到底是哪个事,那该怎么办?这回大家也参考一下,就是我先给大家打开这个界面, 他叫做一个 i g s, 也是刚出没多久的,大家也看出来他也刚出没多久。然后呢,他是一个也比较经典的吧,就是能帮你去自动化做一个评估。完了,我一说自动化, 估计大家就不信啊,其实说白了我也不太信哈,但是呢,他是确实啊,现在业界上也是有很多人在去用的一个模块,这个所谓的自动化,就是说你中间啊,没有一些人工的参与,他能帮我们得出来一个可以参考的分数,但是你说这个分数他准不准? 我觉得这个东西吧,嗯,够呛,能多准,为啥?因为他不理解你的业务到底什么样的,他只是一个通用的框架。 所以说啊,就是啊,大家如果说你比较一些通用的性能,可以用它来去做,但是呢,他可能对你本身的一个业务,是啊,不太相关的。如果说你的业务他并不是一些通用的场景,比如说你要医疗上,你要做到精准, 或者说你哪个什么公司的厂子上有一些什么特殊要求,那他可能是结果不太靠谱的。但是我觉得作为一个我们第一眼啊,可以直观看到的一个形式也是可以的啊。这块我们先来看一看,就是啊,这个 i g s 啊,他能帮我们做哪些个事? 咱们先不看安装啊,然后主要,哎,主要是我看一下,主要是这里边他是有这么四个指标的啊,我给大家来说一下,其实大家简单看一下流程,流程来说我觉得这东西吧,嗯,我给大家选的东西一般情况下都是比较简单的,开箱即用的,并不需要你有什么太多的学习成本。 在这里边,咱们只需要把这个刀包倒进来,然后这个这个 size 是 他这块举了个例子,后续呢,你需要把你自己的数据集啊,给他做成相同,就是跟他一样的一个格式,做格式我就给大家看一下,做格式很简单,然后这块呢,需要你去准备一个,呃, opi 的 一个 key 啊,或者说如果说你有其他的,我们也可以做的替换。 然后接下来大家来看这块,他会帮我们分析出来有这么四项值啊,我们先说它会帮我们分析出来有这么四项,你需要准备好你的宽审,就是啊,你现在用户的一个问题, 然后这个 context 就是 说,呃,基于这个问题,你不有 i g 那 个模块吗? i g 解锁完之后返回了哪些个上下文的信息,这个 context 就是 你一解锁器得到这个结果,然后这个 answer 就是 你接下来啊,接下来你这个大模型啊,就根据你的 context 和 question 回答这个结果,然后这个框框处死,就是你人工写的, 就是比如说这个问题,我希望啊,或者我们人类认为它的真实答案是什么?这个比较麻烦啊,就是你得再把你希望的答案写进去,因为评估嘛,它必须得有预测这些真实值。 好了,那大概你准备几百条这样的数据啊,或者几十条应该也能出结果啊,让我们来看下它的结果。第一个,第一个就是整体这个指标,整体指标来说肯定越高越好的啊,就是看你整体的这个 ig 啊,就整体的一个,你的 ig 加你的大模型,现在的一个得分多少,就看其实说白了就跟你这个真实值它有多大的相关性。 然后呢?接下来第二个,第二个就是说啊,它表示的是就是你现在用的这个 i g 返回上下文,那你 i g 这个玩意儿好不好用?说白了你 i g 这玩意儿它的得分是有多少? i g 的 一个精度是什么样的?这你 i g 相关的。 然后呢?第三个,第三个就是你回答这玩意,你回答这玩意是不是一个幻觉,是不是一个瞎编呢?你这个 answer 啊,就你这个大模型结合你的 contest, 它回答是怎么样的啊?就回答的一个就是问题的一个精度吧。 然后第四个就是你回答这玩意他是不是跟你问题是相关的,你可能说的很像很是那么回事,但是你所问非所答了,你问的是,问的是可能是我们其他想回答的一个问题,那也是不相关的。就这里边他是从这四个维度啊,都给你产生了一些评估指标,就 这玩意他也看出来有这四个指标之后啊,其实我可以看分别干什么,我有这个指标我就可以去看,哎,你 ig 这个模块他做的合不合适, 有下面两个指标,我就可以看你这个大语言模型他回答的东西合不合适。然后当然第一个他也是我们整体这个评估指标,好了,这块呢,会帮我们自动生成出来这四个。 然后呢我们来看这东西怎么去用啊,就用这个东西啊,我觉得真的我我就不给大家演示了,这个东西到时候大家你们直接 p i p 四二就完事了,一行代码就直接装上了。装完之后呢,这块有一个 我先给大家反馈一下,这一块他是有一个呃,中有一个英文的一个链接啊,然后到时候大家可以看下这个,我当时就是看了这一篇文档,哎,我觉着写的挺好的,大家也搜一下啊,就就就这个名字, 这个这个文档我当时看了之后觉得挺有意思的,而且也没见过其他相关的包能做这个,呃,评估贴测试的,所以说我就拿他啊给大家做一个推荐,然后呢为了大家方便,我先给他翻译成中文啊, 大家做完之后咱们来看一看,这就是用那个 i g s 啊,来去评估咱们这个 i g 的 应用。然后下面他也说了,就是你评估的过程当中啊,咱们主要就是,呃,两个组建,一个就是你的解锁器,你自己 i g 流程啊,你的整个 a 帧怎么设计的?第二就是生成器,你的大语言模型选的是啥东西啊?主要评估的是这两个事, 然后下面他给你介绍了一下,就是啊,我们的评估数据,到时候大家需要怎么准备四项,你的 question, 你 的 answer, 你 的 context, 你 的 gt groupon tools 啊,分别是啊,都需要啥东西?这个比较简单啊,我估计大家可以很快 你就可以啊。那啥就是啊把数据做出来了,然后这一块他给你准备了一些小例子,一些小工具,告诉你怎么去构建你的数据集,然后评估指标。先给大家说了,第一个就是整体的得分,然后上下文怎么样, 然后他说就你这玩意他那个精度怎么样?然后答案那个相关性是怎么样的?然后下面他跟你说,如果说咱们想去做这样一个评估,我们该怎么样用这个程序,你看他水法都很简单, 就是先扔好这个包,然后再设置好我们的 openid 个 key, 然后下面呢?就是啊,下面就是这一行,这行当中啊,他是导进来我们的一个数据,这个到时候大家自己准备吧,咱们准备自己的数据,然后可以去做就行了。然后下面他就是 啊,下面就是说把我们这个数据做一个存储,存储完之后,然后用我这个 lm, 然后通过我的 i g 去啊做出来这样一个提示,然后再去得到一个结果, 得完结果之后这块就是有你输出的一个结果了,有完结果之后咱就可以把这个数据集给它,呃,构建全了,构建全完之后咱就可以用这个东西来去得到你想要的这些个分数是等于多少了。然后这里边啊,就是他这块是有一个关于文档的,我给大家来看 这一块啊,大家到时候用的时候你可以点这个 documents 当中,点去之后啊,他这有个文档,这个文档当中啊,他有个指引,我一般就懒得看他这些个介绍了啊,我都喜欢上来试一试。 他这块呢,有就给你介绍。就是啊,这一块你看他是有怎么去准备你的一个数据的,然后比如说我们刚才说了 in binding 当中咱是有什么 msi, 或者你有什么 bgi 的 啊,你可以去比较你不同的一个 in binding 它的一个效果, 你还可以去比较你不同这个 l i m, 你 不同的一个大模型基座它的一个效果。这块呢,你点开之后就是我给大家点开这些,他都会跟你去详细的说我们准备数据长什么样子,并且他会给你个失利的数据,你把你数据格式做成这种失利数据是可以的,都是一个例子,有例子格式, 下面他给你说啊,就是啊,创建我们的一个数据集,然后建立你的一个 ig, 他 是用这个浪颤给大家举的一个例子啊,就是你用其他的工具也是可以的,其实都是一些包嘛,这些包用的工具的方法是差不多的,他可以评估啊,对方你看他有这个 b g、 e, 还有这个 open i 的 下面会得到一些啊,相关的一些分数是啥样的, 然后下面呢,就是这个是啥?这个我我看这个中文看不出来啊,这一块他是分析你不同大模型的一个基座,我这翻译的太下,分析你不同大模型,你用的啊,不同的一个基础模型是什么样的,然后他的指标也可以看出来这是七 b 的 一个结果,上面啥 上面反正也是个七 b 的, 不同的一个七 b 模型,咱评估这个结表结果,然后他自动的还能帮你去把这个图给画出来。 这块就给大家演示了一个啊,就是后续啊,如果大家想去做一个简单的评估啊,你可以参考这块的一些分数,但这只是作为其中之一,更主要的是还是人工,我估计少不了人工的啊,因为目前我现在看到的都是更多的人工。来去啊,看这个东西到底是怎么样的。好了,一个工具啊,给大家去简单介绍了一下, 接下来再给大家推荐一个啊,就是我们在用 ig 外挂尼本地数据集的时候,那肯定是你的数据啊,都存在一些库啊表啊当中,那我们在取的时候总觉得挺麻烦的,哎,我还自己去写一些初写脚本文件, 那有没有什么啊教程工具包能帮我们做这个事呢,他就真来了,这个呢叫做 super db 啊。也是啊,我觉得现在来说啊挺好的一个新开源工具啊,新开源的刚出这个零点一版本, 这里边主要来说啊,就是他支持数据库格式相对会比较全面,我估计大家常用的啊,像这个猫 db 啊, mac circle 这个呢,人家是都支持的,咱们可就可以一键来进行调用。然后这块我们来看一看啊,就是他的一个特点是什么?最大的特点啊,就相当于就是啊,直接就跟你这个数据库相连了, 你想拿你数据库里边这些东西啊,直接去微调一个模型是可以的,甚至呢还能可以自动的去做一些啊,生成和解锁相关的东西, 就相当于啊,无论你是要做一些模型也好,还是要做一些外挂啊,外挂一些本地支也好,它是都适合的。并且我觉着啊,就是这些工具包啊,现在来说对我们都是用起来挺简变挺简洁的,安装呢也不麻烦,就是这里边 只需要一行代码,一会给大家看啊,只需要一行代码下面有,咱们就可以把这个东西装起来很简单,就是通过 p i p 搜索方式就完事了。 然后这里边呢,他是啊可以那啥支持我们这些框架的,比如说你想用派套式啊,杰克亨利费斯做一些啊,自己的模型列微调是可以的。 然后呢,如果说你想在这里边去啊添加一些模型的训练和推理,以及呢,我们想要这个模型跟其他的一些第三方模型也集成在一起,这都是帮我们实现好了。而且你外挂数据库啊,也比较简单,一行代码就可以实现 下面的这块啊,他还有一个呃,桌面 live, 在 这个桌面 live 当中啊,给我们提供了一些简单的小例子啊,大家可以简单看一看,比如现在啊,就是啊,我们直接做一个外挂,就相当于啊,用你的本地数据库帮我去回答一些问题。 我是用起来,我觉得这玩意蛮简单的啊,就是看你的本地数据库,他是啊,用什么,然后呢,咱第一步啊,先把他跟你的本地数据库给他连上,然后少不了的一件事啊,就是 还能说这玩意是不是啊,外挂完之后就离不开这 o p i 了?肯定不是的,我们肯定得有 o p i 帮我们去做引白顶,做一些解锁相关的事,所以这个你还要准备好你的一个 key, 然后下面写个例子,就是说啊,在任务当中,哎,怎么去啊?外挂你的本地数据库,那人家给你写好了现成的一些提示,然后呢告诉一下,哎,咱们的流程,该怎么去做,怎么用我们的 gpt 帮我们去外挂完之后再生成一些答案,然后最后呢把这个结果返回去 左边啊,这个人家官方列表当中还给我们准备的挺多,不仅来说啊,就是你可以去外挂数据库,然后你拿你的本地数据结合拍 touch, 结合哼哼 face, 再做一些训练 也是可以的啊,在做一些文档的解锁呀,甚至一些多模态的事,不仅是文本数据,包括了一些图像数据和其他格式的,他也是可以的。这里我是觉着就是官方例子给他写的还算比较全面,而且这玩意啊,他本身来说也不难啊,就是挺简单,咱们就得用起来几行代码就可以解决我们自己的事。 所以往后余大家如果说,呃,咱们有这个需要啊,去外挂一些数据库可以参考参考。我是觉得这个工具还蛮简单蛮实用的啊,到时候大家可以自己来选择进行使用。

老板让你给公司做个 ai, 做好了就给你加薪,该从哪里开始呢?我建议使用智能体加数据库的方式, 智能体强大的认知和交互能力,结合数据库海量且精准的知识,完全可以做到一加一大于二的效果。今天我将通过这期视频,手把手教你如何搭建企业级智能体,帮你自动执行任务,以及如何使用本地部署的 ai 模型来搭建一个知识库。 话不多说,我们马上进入正题。经过超长时间的精心打磨,今天我终于带来了全网最详细的 r g flow 本地部署教程。 从多克的安装到 r g flow 的 部署,再到千问三模型的本地部署,最后教你如何构建一个个人的知识库,每一步都非常详细,绝不漏掉任何一个细节,跟着我一起就能轻松搞定整个流程,我的目标就是让你少走弯路。 话不多说,我们直接开始吧。在传统的 r g 框架基础上,市面上出现了很多结合 r g 工作流以及 ai 智能体的实现方式, 例如我们了解的具有代表性的就有 define、 fast gpt, 网上已经有了不少的技术爱好者,很多大神啊都对这些工具进行了横向的对比评测。当然这些评测可能会带有一定的主观性, 不过也能给我们一个很好的参考。其中 r g flow 它在深度文档理解方面做得非常非常出色,给用户带来了一个极大的灵活性。 作为一款开源的 r g 引擎, r g flow 专门为不同规模的企业和个人而设计,简化了 r g 的 工作流程,它可以让复杂的文档处理变得简单又高效, 不管你是处理结构化数据也好,还是处理非结构化数据,比如说 pdf、 word、 ppt 文件, rg flow 都能够提供精准而且有理有据的回答,确保答案可靠可信。 总之, rg flow 不 仅仅是一个文档处理的工具,它更是一种全新的知识管理和智能问答方式,能够帮助企业更加智能地去管理企业内部的知识库, 也能够让个人更加高效地去利用信息资源。那对于想要提升工作效率的人来说, rg flow 绝对是个强大的帮手。 好,下面这张图它就展示了 rg flow 的 系统架构,直观地展示了整个系统是如何运作的,我们就简单来介绍一下。 首先在最左边有两个方框,一个是 question, 一个是 documents, 它们就代表了用户的输入,用户可以在这里,嗯,输入它们的问题,或者是上传文档文件。接下来这里有一个长一点的模块,这是一个常见的网络服务器,用来接收用户的请求。 他就像是个快递员,可以把用户的问题或者是文档送到系统的后端去处理好,处理完了以后,他再把结果送回来给用户。然后我们再看到这个底下有一个任务调度和查询分析的模块,当有把文档进来以后, 这个任务调度的模块它就会分配相应的任务。要是来了问题呢?那这个查询分析模块它就会开始工作了,它会分析用户的问题,并且提取关键词,并生成切入向量,为后续的信息解锁而做准备。 那接着我们就到了最中间的这一块儿,拨录召回的部分,这里是什么作用呢?它会根据之前查询分析的结果,通过数据库里面的关键词和切入向量进行一个信息的剪索,从中找出相关的信息。 那找到了相关信息之后,又会被送到一个 re rank 重排序模块里面,这里就会对搜索的结果进行优化排序,确保最重要的信息是排在最前面的, 最后这些信息又会被传递到。嗯,生成答案的这一部分,再结合大模型生成最终的一个答案。我们再看到最右侧,这里是几个跟文档处理相关的模块, 包括了 documents, parcel、 文档解析器、 ocr 等等,他们就负责对上传的文档进行分析和处理,提取有用的信息,并且把文档转换为系统可以理解和使用的格式。 所以我来总结一下整个流程,就是从用户提出问题或者是上传文档开始,经过一系列的处理步骤,最后会生成针对这个问题的一个答案。希望我这样解释能够让大家大致了解一下 party flow 它是怎么工作的。 ok, 那 既然我们已经了解了 rgb flow 的 系统架构,那接下来我们就要正式开始干活了,因为 rgb flow 的 源代码里面并不包含它运行起来需要的所有环境和依赖,所以我们要让这个系统在我们自己电脑上跑起来,所以我们就是用 dock 来部署 rgb flow, 通过配置 dock 镜像,就相当于是在你自己电脑上配了一台小电脑,我们就不需要手动去设置复杂的本地开发环境了,那么我们就来安装一下 dock desktop, 这是官方推荐的多可的解决方案,提供了一个图形化的界面和完整的多可功能支持。 那在安装之前我们有几个准备工作要做。首先是检查你的系统版本是否满足要求, 配置要求,我就以 windows 为例,系统版本的最低要求是 windows 十或者是十一二十四位的家庭版、专业版、企业版或者是教育版,版本号要在幺九零四五以上, cpu 要大于四核,内存至少是要嗯,十六 gb。 如果你的系统不满足这些条件的话,可能就需要考虑换系统或者是使用虚拟机了,但是我觉得大多数的小伙伴电脑应该没有问题。 第二步是起用 hyperv。 为啥要用 hyperv 呢?我也来简单的解释一下, dock 其实是在一个隔离的环境里面运行的, 那为了让容器在 windows 跑起来更加稳定, windows 就 自带了一个虚拟机管理工具,也就是 hyperv, 它能够让 dock 拥有自己的独立环境,不会和你的系统产生冲突。那我们起用 hyperv 的 具体做法就是搜索控制面板程序,然后程序的功能 点击左边的启用或关闭 windows 功能。这里我就已经起用了 hyperv, 看到没有好点击确定。 当然也可以通过命令来起用 hyperv, 我 们要以管理员身份打开 power shell, 我 们也在这里搜索 power shell, 然后右键选择以管理员身份运行,再执行下面这行命令。启动了之后记得要重启一下你的电脑哦。 ok, 我 们进入到下一步,因为我自己在安装多可之后还出现了关于 wsl 的 爆破,所以我也讲一讲如何来起用 wsl 来提高 linux 应用的兼容性和性能,优化多可的使用体验。 具体步骤是这样的,我们也是以管理员身份打开 power shell, 输入这一行命令,起用 wsl 这个命令,它会自动安装 wsl, 并且设置默认的 linux 发行版,完成之后你也需要重启下电脑。 接下来就是下载最新版本的 wsl 二内核更新包,我们直接点击下这个链接就可以进行下载了,直接按照提示来完成这个安装过程。接着我们需要执行下面这一行命令,来确保在新安装的发行版会默认使用 wsl 二。 那么几个准备工作我们都做完了之后,我们就可以安心的安装多可了。我们点击这个链接,进入到多可的官网, 找到适用于 windows 的 docker desktop 记一下啊,选择最常用的版本叉八六六十四位,这个版本适用于大多数的六十四位的 windows 系统。 那下载完成之后,就进入到了一个可以说是傻瓜式的下一步安装过程,这个过程可能会要求你启动 hiv 和 wsl 二的功能,按提示操作,一直点击下一步就 ok 了, 但是 vlog 整个安装下来需要十到二十 g 的 空间,或者是安装在 c 盘的,而且安装过程中没有办法去更改一个安装的路径,所以官方也提供了从命令行安装的方法, 我们找一下,好在这里如果你的 c 盘空间不够,可以通过命令行来启动安装程序。这里我们就需要以管理员身份打开命令提示符 cmd, 注意是 cmd, 不是 power shell 哦,然后执行这一行命令,不过执行这一行命令,它的默认地址还是不变,还是在 c 盘, 那在后面就可以加上安装的路径,大家可以自己去设置一下。最后我们打开命令行 cmd, 输入 dock version, 查看一下它的版本号,如果显示了 dock 的 版本号,就说明已经安装成功了。那安装完了以后,我们的 dock 是 这样子的一个界面,它会提醒你要注册一个账号,当然你也可以不注册,直接跳过就可以使用 dock 了。 然后跳过以后就是这样一个界面,是展示容器的地方。 ok, 那 下一步我们需要配置 dock 镜像源及储存的位置。因为在默认情况下, 多可是从国外的服务来下载镜像的,网络不稳定或者是距离远,就导致了多可下载镜像的速度有时候特别慢,会甚至会超时。那我们就可以通过设置镜像源来加速下载。 我这里呢就提供了几个可可用性比较高的镜像源,都提供了稳定的多可镜像加速服务,特别适合我们国内用户使用。我们把它给复制下来,进入到多可 desktop 的 设置页面, 好设置,然后找到 docker engine, 在 这个 json 配置里面给它粘贴上去。不过我建议大家把这一个嗯配置给备份一下之后,你再拉取镜像的时候就不需要去翻墙了,可以直接从国内的镜像站点去下载,速度会快很多。 然后我们还需要更改储存的位置,因为多可默认会把所有的镜像容器、卷等数据都储存在 这个路径也是在 c 盘里面,但是之后如果你下载的镜像越来越多了,会非常非常占磁盘空间,所以建议就把高可的数据统一放在一个大容量的磁盘里,一是你的磁盘不会爆炸,二是后续如果你想备份或者是迁移也很方便了, 你就得先提前创建一个目录,然后改一下设置里面的 resource, 它的路径更改完成之后也要记得重启一下,那这就是多可安装的全过程。接下来我们就来部署一下 r g flow。 首先我们需要下载 r g flow 的 源码,我们点击这个链接,进入到 r g flow 的 github 页面里面,我们往下翻,根据 readme 的 指引去操作,我们看第一步要干嘛好,首先需要克隆一下仓库,直接复制这一行命令到 cmd 命令行去执行, 但是如果你的电脑里面没有 get me 的 话,也可以回到最前面,点击 code, 然后下载一下这个压缩包,再解压就可以了。接着继续看一下 readme 的 内容, r g flow 它会默认下载清亮的版本,但是你们看一下这张表, 清亮版本也就是后面加了 slim 这个后缀的,它是没有 embedded 模型的,所以为了方便我们不用本地部署 embedded 模型,就可以选择下载自带 embedded 模型的完整版本的 r g flow, 也就是没有 slim 后缀的, 那么我们就需要改一下相关的配置,那我们进入到 r g flow 源码的下载位置,我的在第一盘。然后进入到 r g flow 源码的下载位置,我的在第一排,然后进入到 r g flow 里面。好,这里面有个多坑目录, 其中点 e n v 文件是存放基本的系统环境变量的,我们就需要在这个点 e n v 文件里面去修改部分的配置。我们双击选择打开方式记事本 大概是在八十四和八十七行的样子。好,在这里我们要把清亮版这一行注视掉,然后把完整版给解除注视。另外如果你的机器内存小于十六 gb 的 话,建议把最前面的 elastic search 改成 infinity。 我给大家简单的写一下 infinite 这样做的目的就是为了防止因为内存不足而导致的服务崩溃。那如果你的内存大于十六 gb, 就 可以不用管保存默认的设置就行了,然后点,然后保存一下, 接下来我们就可以启动 docker 了。但是因为我之前部署过 def, 占用了八零和四四三端口, 所以为了和 define 项目共存呢,我需要修改一下端口映设,也是在这个文件夹里面找到 docker compose, 点压某文件,在端口号这里,我把八零端口改成了幺八零四三端口改成了幺四三。我们还可以更改容器名和其他的配置,大家有需要的话可以自己去搜索改一下。 好了,那接着我们就需要在 r g flow 的 docker 目录下打开命令行窗口,我们输入 cmd 好 运行哪一个命令呢?我们接着看一下文档,需要运行这一行命令来启动 docker 的 容器, 但是如果你没有出现端口冲突,也没有改容器的名的话,就直接运行上面这一行默认的命令就行了,它会自动下载 r g flow 的 端口镜像,并且启动服务,我们就来运行一下好。因为我之前运行过这个命令,所以它的速度很快, 到这一步 r g flow 就 已经成功地启动了。那么我们环境准备的工作已经全部完成了,我们就可以在浏览器里面访问 r g flow 了。 我们输入 local host, 然后加上你的端口号,我这里是幺八零。成功进入到这个页面,就说明你的 r g flow 已经部署成功了。我们需要先注册一个账号,登录一下, 然后需要像我一样把语言改成简体中文,然后我们点击这个头像,进入到模型提供商这里。默认添加的模型是不可用的,我们可以直接把它删掉。 这个 alama 是 我之前已经添加好的,在这下面有各种各样的模型提供商,我们可以在线使用模型,也可以使用本地的模型,那我们就选择本地部署一个模型吧。 首先我们需要下载 alama, 它是一个用于本地运行和管理大元模型的工具,可以说是开源 ai 的 宝藏。 有了它,像我们的 gpt 四, deepsafe 通,一千万这些厉害的模型都可以在我们自己电脑上跑起来。安装也很简单,直接进入到 alama 的 官网,根据你的电脑系统去下载对应的版本,然后一直点击下一步就好了。 安装完成之后,我们可以通过查看它版本号来验证是否安装成功。输入 alama version。 ok, 我 的版本是零点六点八,所以就是安装成功了。 那完了以后一定要记得配置环境变量,因为我们是通过多尔克来部署的 r g flow, 默认情况下 alama 只允许本机访问,也就是说它接听到的是本地的幺幺四三四端口,其他设备呢是无法连接 alama 服务的。那么我们这里的第一个环境变量 alama host, 它的作用就是让虚拟机里面运行的 r g flow 能够顺利访问到你本机上运行的 alama。 那 我们通过把这个环境变量设为零点零点,零点零幺四三四,就可以让 alama 监听所有的可用的 ip 地址,从而这是外部设备的访问。第二个环境变量 alama models, 它是用来配置模型下载的位置的,一般来说模型的文件体积会非常的庞大,所以建议大家还是要更改一下默认的存储位置。 我们打开电脑的设置,点击系统,然后到系统信息高级系统设置,就可以在这里设置环境变量。下面是系统载的环境变量,上面是用户来自己自定义的,那我就在这里面添加了两个环境变量,一个是 alamo house, 一个是 alamo models, 好,然后点击确定。大家注意,配置完这两个环境变量以后要重启电脑才会生效,但是如果你配置了环境变量以后还是无法访问的话,可能就是你本地的防火墙拦截了端口幺幺四三四,那在这种情况下就需要手动去放行一下这个端口。 接着我们就要通过 alama 把千万三模型下载到本地。首先我们同样也是进入到 alama, 点击 models 找到千万三, 在这里可以按需选择不同参数量的模型版本,可以看到最大的参数量是二百三十五 b, 这就是完整版的纤维三模型,它的模型大小呢是一百四十二 gb, 当然这在个人的电脑上可能肯定是带不动的,所以我就给大家演示一下,下载最小的模型零点六这个版本,这对于个人电脑还是比较易管理的,当然如果你有外界 gpu 的 话,可以考虑更大的模型,像四 b 啊,八 b 啊,十四 b 啊,三十 b 啊都可以。 那我就先下一个零点六 b 了,我点进去,然后复制它对应的这一行命令到 c m d 来执行粘贴,然后回车。好, 因为我已经下载过这个模型了,所以就直接运行了起来,出现了 send a message 这个提示,那我们就可以来发消息试试看,我问他你是谁?好,他现在正在进行深度思考。 ok, 他 即使给出了回复,就说明模型已经成功地下载了,那么本地部署千问三零点六 b 的 模型也已经实现了。 那我们就回到 r g flow 里面,在模型提供商里面添加我们刚刚部署的千问三零点六 b 的 模型。模型类型选择 chat 对 话模型, 模型名称的话一定要正确的填写,因为它是没有一个下拉选项供我们选择的,所以为了确保名名称是准确误的,那我们就进入到命令行,输入 alarm list 来复制一下完整的这个模型名称。我们刚下的是纤维三零点六 b 模型,把它给复制下来,粘贴上去, 然后要填写基础的 url, 因为我们是使用的 http 协议,所以就先输入一个 http, 再加上你本地的 ip 地址,获取本地 ip 地址的方式同样也是通过 cmd 命令行 输入 ip config, 我 们找到 ipv 四这个地址,把它给复制下来粘贴上去,然后最后还要加上呃端口号,也就是阿拉玛默认监听的端口号幺幺四三四。 因为我们是本地部署的模型,所以就不需要填写 api key 最大头可数,我们就随便填一个九九九九九吧, 然后点击确定,那关于聊天模型,所有的配置就基本完成了,这样一来在多口里面运行的 r g flow 就 可以访问到我们本地部署的千问三零点六倍的模型了。接下来我们要点击设置默认模型, 聊天模型,这里我们就选择刚刚我们添加的前文三这种模型,就直接选择 r g flow 完整版本自带的这个模型就可以了,然后点击确定,那么接下来我们就可以创建知识库了, 进入到知识库这个页面,然后点击创建知识库,出一个名称,随便出一个测试,这里可以更新你的知识库详细信息,尤其是切片方法,那我们就来进行知识库的配置。 切入模型就是我们刚刚添加的那个自带的切入模型,切片方法,这里可以根据你的需求去选择。 大家看右边都有一些的废话事例啊,像 q and a 针对的是问答文档,还有 resume, 针对的就是简历的模板, 还有下面这个 manual 手册或指南, table 就 和表格相关, law 就 涉及到了法律文件, 那如果没有特殊的要求,就选择默认的 java 就 行了。其他配置我也就先不设置了,就直接保存, 保存一下可以完成知识库的创建,接下来我们就要新增文件,上传我们自己的知识库,选择本地文件,我就拖拽一个我用 ai 生成的爱猫无忧手册吧,然后点击确定。 上传了文件以后,一定要记得点击解析按钮,这一步很关键,如果你不进行解析的话,那模型是无法理解这些自然语言文件的。解析过程就会处理文档里面的各个片段,并且提取出来,然后进行深入处理,把它们印刷到高维的向量空间里面。 解析的过程可能需要一定的时间,请耐心等待一下。解析完了以后呢,我们的知识库就能准备好知识后续的操作了。 好了,今天的教程就到这里了,希望通过这个视频,大家已经掌握了如何在 windows 系统上顺利的安装 docker, 并且使用 docker 从零来开始部署 r g flow。 记住,虽然刚开始你会觉得有点复杂,但只要你跟着步骤一步一步的操作,我相信每个人都能够顺利的完成。如果你在过程中遇到了难题,或者是发现了什么特别有用的技巧,欢迎随时在评论区分享你的经历和见解。 当然,如果你对大模型学习感兴趣,我这里准备了一套最新的大模型技术学习视频和资料,如果你有需要请关注我,并在评论区留言,我可以分享给大家,相信对你们学习大模型技术会有很大的帮助。

每天讲透一个 ai 知识点儿,今天是探索 web coding 的 未来玩法,欢迎大家。今天呢,咱们来聊一个特别有意思的概念,叫 web coding, 说白了就是一种能让咱们普通人也能秒变创造者的神奇魔法。 那这是我们今天的探索地图,咱们会从一个叫灵光的小应用聊起,看看这 web coding 到底是个啥,然后一步步深入,看看 ai 是 怎么为我们普通人服务的,甚至怎么让我们每一个人都有机会当一把游戏制作人。当然,我们也会聊聊它的局限和未来,最后在一起拔高一下,思考思考技术背后那些更深层的东西。 好的,那咱们马上开始第一部分, web coding, 这到底是个什么玩意儿?呃,要说清楚这一个,还得从一个最近特别火的应用说起。 故事的主角就是这个叫灵光的应用,他基本上是横空出世,但一上线嚯那叫一个火。像这张图里看到的,他一下子就冲到了 app store 中国区免费榜的第六名。说实话,对一个小团队来说,这成绩简直就是个奇迹。 我呢,算是全网第一个评测这个应用的,所以当我看到他冲上第六名的时候,嘿,心里还真有点小骄傲啊,感觉自己也能跟着吹个牛了。 但你猜怎么着?更让我惊讶了,是评论区简直是好评如潮啊,我一开始还寻思这是不是刷的好评啊, 结果点进去一看,发现都是老粉丝,那热情真的完全超出了我的想象。也正是这份热情,让我意识到这事儿不简单,背后肯定有种更强大的力。没错,这种力量就是我们今天的主题, vibe coding 听着挺玄乎,其实说白了,它就是一种用大白话来创造应用和工具的方法,你完全不需要懂什么代码,也不用管什么服务器、技术细节这些头疼的东西, 你就跟聊天儿一样,把你的想法说出来, ai biu 一下就给你变出来了,是不是感觉跟哈利波特的魔法差不多?所以说,灵光这个应用的成功,让我第一次特别真切地感觉到, web coding 可能就是 ai 的 未来,一种让想法直接变成现实的魔法,而它最核心的一点就是为我们这些普通人服务。 肯定有很多人会说,嗨,用 ai 做这些小玩意儿,技术上好像也没那么复杂吧,有什么了不起的?毕竟咱们天天听到的 ai, 那 都是在搞什么自动驾驶啊,蛋白质折叠啊,都是些高大上的事儿。 但是我跟你说,我恰恰觉得最了不起的就是这简简单单的五个字,普通人能用 这事吧?让我想起了我家的那个扫地人,容其其人,在我心里,他绝对是所有高科技产品里最伟大的发明之一,不是因为他技术最顶尖,而是因为他实实在在的解决了我的生活问题。 你说用他的时候,你需要去了解他背后那个复杂的 slam 算法吗?需要知道他的激光雷达和陀螺仪是怎么配合的吗?完全不需要对吧? 你唯一需要知道的就是它每天能给你省出半个小时的宝贵时间,这才是技术服务于人的真正意义。而 vip code 呢,正在做同样的事情,只不过这一次它解放的是咱们的创造力。 这不,最近灵光又搞了个大动作,把手伸向了游戏制作,让咱们每一个人都有机会成为游戏开发者。 举个例子,我有个朋友是历史老师,他心里一直有个想法,想做对关于三国人物关系的小游戏,让学生们上课不那么无聊。搁在以前,这事就只能想想,但现在呢?他只需要用几句大白话把他的想法描述一下, 然后你猜怎么着,也就几十秒的功夫,一个真能玩的知识问答游戏就这么诞生了,一下就把枯燥的课本知识变得特别有意思。 你看,就这么简单,一个既能学知识,玩起来又紧张刺激的游戏就做好了,这就是 web 口令的魅力。当然了,话要说回来,他现在也不是十全十美的。目前这种闪游戏最大的局限说白了还是在美术素材这块。 你想想黑神话悟空那种三 a 大 作,那美术简直是封神级别的。这种小游戏肯定是没法比的,甚至很多独立的像素风游戏,人家也有自己独特的视觉风格。 但是咱们不妨畅想一下,如果未来 ai 也能一键生成我们需要的美术素材了呢?到那时候,我们每个人脑海里的画面就真的能变成现实了。这就引出了一个更深层次的思考。我觉得技术最大的谦卑就是把自己隐藏起来,让你感觉不到它的存在。 就像一个外地工作的父亲,他可能完全不懂技术,但他可以用这个东西给女儿做一个他最喜欢的卡通人物的找不同小游戏。这个游戏可能很简单,甚至有点笨拙,但他承载的那份真挚的情感真的是千金不换的。 他其实就像我们家里的电灯开关和手机里的相机,背后是多么复杂的技术啊。但展现在我们面前的就是一个简单的开关,一次简单的点击,他把复杂留给自己,把简单留给用户,让每个人都能轻松使用。 我们总是很容易被那些改变世界的宏大趋势所吸引,对吧?但这个世界其实是由我们无数普通人一个一个的日常生活组成的。所以说,我们当然需要仰望星辰,因为它指引着人类文明的未来。但我们其实更需要路灯,因为它照亮的是我们每一个普通人脚下那条回家的路。 这种能为你最爱的人创造一个小游戏,给他带来一下午欢笑的微小力量,在我看来同样是无价的。好了,说了这么多,现在问题来了,如果这个魔法工具就在你的手上,你又会创造出什么样的小小奇迹呢?


每天讲透一个 ai 知识点,今天是 r a g 质量评估,嘿,各位开发者朋友们,咱们辛辛苦苦搭了个 r a g 系统跑起来了,感觉好像还行,但这个感觉说实话,到底靠不靠谱啊? 你跟老板汇报工作的时候,总不能说我感觉效果挺好的吧?那肯定不行。所以今天啊,咱们就来聊点硬核的,怎么用一套系统的方法,把这个凭感觉的黑核变成一个用数据说话的白核,让你能理直气壮的说,我的 r a g 到底有多牛? 行,老规矩,先看一下咱们今天的路线图。第一步,咱们先画个评估的蓝图,把 r a 级这个东西给它拆开看看。然后呢,咱们再钻进去看看检测和生成这两个核心环节到底要评些啥。 接着聊点实在的,咱们从手工作坊升级到自动化流水线。最后,咱们来个深度总结,看看怎么搞一套能让系统自己不断变强的评估体系。咱们走着 好!第一部分,在动手评估之前呢,咱们得先搞清楚要评的到底是个啥,这道理很简单对吧?就跟修车一样,你总得先知道发动机变速箱在哪吧?评估 r a g 也是一个道理,得先把它拆开看。 你看啊,不管你的 r a g 系统吹得多么天花乱坠,扒开外壳,里头其实就是俩核心部件,第一个叫检修阶段,他的活就是去你的知识库里找资料。第二个呢,叫生成阶段,他的活就是根据找到的这些资料给你写答案。 咱们的评估啊,就跟着这两步走,一步一步来,是不是一下子就感觉思路清虚多了?先搞定解锁,再搞定生成,逐个击破。 ok, 咱们先看解锁这块,你可以把它想象成啥呢?就好像是你手底下的一个研读助理,你给他一个问题,他的首要任务就是跑到公司的资料库里,把最相关最关键的那几份文件给你找出来。你想想看,要是他第一步就找偏了,给你拿回来一堆不相干的东西,那你后面请再牛的专家来写报告也是白搭对不对? 所以说啊,源头很重要,一个好的答案一定是从好的材料开始的。那在解锁这个环节,咱们到底关心啥呢?说白了就两个最经典的问题, 第一个找的准不准,这就是咱们常说的 precision, 也就是精确率。第二个找的全不全,这个呢,就是 recall 招回率。搞懂了这俩解锁评估,你就算入门了。 咱们先说找的准,也就是精确率这事特别好理解,还是那个研究助理,他吭哧吭哧报回来一堆文件,你得看看他拿回来的这些玩意是不是都是你要的。如果他拿了十份文件,结果只有五份是相关的,另外五份纯属滥竽充数,那他的精确率就是百分之五十, 咱们肯定希望这个比例越高越好,对吧?别拿一堆没用的东西来浪费我们的时间。好说完了准再来说权,也就是召回率。这个问题是从另一个角度看的, 资料库里明明有十份相关文件,你这个助理把他们都找回来了吗?要是他只找到了八份,那对不起,有两份关键信息就被他给漏掉了,那招回率就是八十。怕 这也很要命啊,漏掉关键信息,可能整个决策就错了。哎,来看这张图,这个维恩图一下子就把事说清楚了。 你看啊,左边这个大红圈 a, 代表所有真正相关的知识,就是标准答案。右边这个蓝圈 b 呢,是咱们系统吭哧吭哧检测出来的所有结果,那中间重叠的这个紫色部分 c 才是我们最想要的,既相关又被我们成功找到了。 好,那精确率是啥?就是用 c 去除以 b, 看你捞回来的这一网鱼里,有多少是你想钓的。那招回率呢?就是用 c 去除以 a, 看池子里所有你想钓的鱼,你到底捞上来了多少?你看,这两者经常是矛盾的,你想捞的,全网砸的大,就可能捞上来一堆水草,精确率就低了,反之亦然。 行,解锁阶段,咱们算是盘明白了,现在假设咱们那个研究助理表现不错,高质量的材料都找来了,堆在你桌子上了,那接下来呢,就轮到第二阶段生成。这个阶段就像来了一位专家,他的任务就是读懂这些材料,然后用人话给你写一个清晰、准确、有用的答案出来。 这一步那可太关键了,因为它生成的这个答案,是用户唯一能看到的东西,是你整个系统价值的最终体现。所以这块的评估核心也变了,主要看两点,第一叫 faithfulness, 忠实度,说白了就是你写的答案是不是基于给你的材料,别在那瞎编乱造。 第二叫 answer relevance, 答案相关性,就是你回答的到底是不是用户问的那个问题。咱们看图说话,这俩例子特别直观,先看左边,忠实度就是专治幻觉的, 你看给的材料里白纸黑字写着公司 q 一 利润一百万美元,那一个忠实的答案就得老老实实说一百万。你要是张口就来,利润高达五百万美元,那就是胡说八道,不忠实。 再看右边答案,相关性这个就更直接了,用户问 q 一 利润多少,你就得回答一百万美元。你要是回答我们公司是个好公司,虽然话没错,但完全是答非所问,驴唇不对马嘴,这就是不相关 好理论。我们都到了最关键的一步了,到底咋评? 光说不练假把式,咱们从理论走向实战,看看怎么把这些指标给它落地。 ok, 到了这儿,咱们面前有两条路,一条是人工评估,找真人来打分。另一条是自动化,让机器来评,怎么选人工评估,那质量是杠杠的,绝对是黄金标准,最接近用户真实感受,但缺点明显,又贵又慢,搞不了大规模 自动化呢。正考反过来,快便宜还能七二四小时跑,但总感觉差了点人味。那咱们这些专业玩家怎么干?小孩子才做选择,成年人当然是全都要正确的姿势是两条腿走路,平时用自动化大规模的跑测试做回归,然后定期用人工抽样,再做深度分析,顺便校准一下咱们的自动化系统,这才是最高效的玩法。 你看这两种流程其实挺好懂的。左边的人工评估,说白了就是你找几个懂行的人组成一个评审团,你给他们一套评分标准,然后让他们挨个给答案打分。右边的自动化评估呢,咱们就是请了另一位专家,一个算法或者大模型,让他来当这个裁判,快速统一的给出分数。 那现在啊,日内最火最酷的玩法是啥?就是这个 l l m as a judge。 啥意思呢?用一个大模型,简直就是用魔法打败魔法。 具体怎么操作,咱们把用户的问题, r i g 系统找到的材料,还有它生成的答案这三样东西打包一下。为给一个更牛的裁判大模型,比如说 g p t 四,然后让这个裁判根据咱们定的规矩给个分数,还得写出评语。 我跟你说,这简直就是自动化评估里的核武器能能化那些很难搞的指标,比如忠实度、相关性,效率又高,质量又好。 当然了,这么好的东西,肯定有人帮你把轮子造好了,咱们没必要从零开始。现在开元社区里有很多成熟的评估框架,比如说做 luncheon 的 那个团队,他们搞了个 langsmith, 用来调试追踪你的应用链路,特别好用。还有像 rags 这个工具就更专注了,专门提供一套极差应用的 rags 评估指标, 用好这些工具,能帮你省下大把时间。好,终于到了咱们的最后一个环节,咱们把前面讲的所有零散的知识点全部串起来,看看怎么打造一个能让你 i g 系统持续进化的评估体系。 说一千道一万,不如来看个真实案例。大家看这张表,这是一个特别典型的 a b 测试,咱们想看看用一种新的羽翼分块策略,效果会不会比老掉牙的固定长度分块更好。你看这数据,简直是吊打啊, 实验组的招回率、精确率、生成答案的忠实度全线上升,最关键的是,最终用户满意度也从四点二分涨到了四点六分。数据都摆在这了,还用犹豫吗?决策就变得超级简单了,直接上线新策略,这就是数据驱动的力量,让你做的每个决定都有底气。 但最最关键的是什么评估绝对不是搞一次就完事了,它得是一个能持续转动的飞轮,这才是整个事情的精髓。你看这个循环,首先咱们在线下用一套黄金测试级来做评估,保证每次代码提交都不会把系统搞坏。然后系统上线了,我们开始做线上监控,收集真实的用户反馈,看看用户到底喜不喜欢。 最后也是最重要的一步,咱们把线上线下发现的所有失败案例都分析一遍,然后把它们加回到我们的黄金测试集里,这样就能指导我们下一轮的优化,你看这个轮子是不是就转起来了,每转一圈,你的 r a g 系统就会变得更强。 好,那咱们总结一下今天聊的这堆东西,核心思想其实就三点,第一,要系统化思考,把 r a g 评估当成一个系统工程,而不是头痛医头,绞痛医脚。第二,要学会拆解,把复杂问题拆成键锁和生成两个小问题,然后逐个击破。 第三,要拥抱自动化,用好那些评估框架和 l l m 裁判,让数据驱动成为你每天工作的习惯,而不是一年一次的汇报表演。 行,今天关于 r a g 评估,咱们就聊到这儿,希望这些东西能帮大家把手头的 r a g 系统做得更好。最后也留一个问题给大家思考一下,听完今天这些,你的那个 r a g 评估飞轮准备好开始转动了吗?

挑战,每天讲透一个 ai 知识点,今天是 scale 基础概念与工程定义。好,那就是第二块的话,我们要来聊一下关于这个 scales 基础概念与工程的一些定义啊。首先说一下什么是 scales, 那 这个其实很好理解啊,其实的话它就是一个这个翻译过来叫做技能是吧?就跟大家去玩游戏一样 啊,玩这个英雄联盟是吧?或者王者荣耀上面有很多技能,那么一个技能的话,哎,它可以,比如说可以打出什么效果是吧?打出什么伤害出来,那么这个技能 scale 的 话,其实也是一个意思啊,它就是要去实现某一个功能,某一个能力 啊。但是的话,我们之前用 agent 的 时候,大家会涉及到一个函数的一个调用逻辑,那么这个函数调用跟 scale 有 什么区别呢? 其实本质上还是有区别的啊,函数调用的话,它可能只是一个简单的 python 函数调用,或者说是一次 api 调用啊,这个叫 function calling, 那 么 scales 的 话,它不只是能够做函数调用, 它还可以帮你去做一些这个提示词的一些限定啊,它里面有几部分组成,首先的话就是一个核心的 scale 点 md 文件,这个相当于我们要用这个技能的一个说明书啊,这个很好理解, 就比如说大家去玩这个英雄联盟是吧?那这个技能它带来的一个效果是什么啊?比如说伤害是多少?然后这个,哎,这攻击范围是多少? 那么这个技能的话,它得有一个说明书啊,就描述它的一个场景步骤,注意事项是吧?这些最基本的东西咱们得先描述清楚啊,然后是这个 script 啊,叫脚本代码。 呃,我们这个技能的话,它除了可以调用大模型帮我们去做内容的一些生成,是吧?然后它还可以去执行一些脚本, 这个的话就相当于啊,我们 agent 啊,为什么叫 agent scales 呢?就是这个单一的这个 scales 的 话,它是没办法执行的啊,它是需要 agent 去驱动它去做一个执行的,比如说我想要调用本地的这个 python 那 个脚本,那我这个需要用到 scales, 是 吧?去做一个这个执行, 所以说它脚本这一块是它的一个非常重要的一个模块啊。当我们去完成一些复杂的一些任务的时候,我们往往需要用到 script 脚本啊,然后是这个 reference, 呃,这个是相当于一个参考文档啊,我举一个例子啊,就比如说大家,呃,你要做一个会议总结,是吧?然后会议总结, 那它总结的一些是按什么样一个规则去做一个会议总结的?比如说大家去开一个技术会议, 那么公司里面肯定会有一些技术的规范,是吧?那么整体的一个架构的一些规范,那我们如果开的是一个技术的会议的话,那相关的一些会议总结的话, 比如说提到这个开发规范,是吧?设计的一些规范,那肯定要参考公司的一些这个设计方面的一些规范文档,还有包括技术方面的一些文档。 比如说我们开的是一个财务相关的一些会议的话,那我们的这个参考文档的话,也应该有公司的一个财务的制度,是吧?所以说这个 reference 的 话,就是我们这个技能,它需要执行的时候, 它需要参考的一个文档啊,就跟我们人需要去完成一个任务的时候,哎,大家在公司里面干活,你得去参考公司的一个规章制度去工作,是吧?所以说这个参考资料就是用来给 agent 去引用这个文档的。 但是有同学这里可能会有一个疑问啊,就是我这个把这些个文档全部写到提示词里面不就行了吗?我还为什么需要用到这个 reference 这么个东西呢? 哎,这里就是 agent 啊, scales 它的一个非常大的一个优化啊,我们等下会讲到啊,它是一个渐近式加载机制,也就是说它在执行任务的时候,比如说你现在文档有一百多个,我不可能把这一百多个文档,比如说有一百多兆,我不可能把这一百个文档 全部一次性放到提示词里面去,是吧?这放不下呀,因为上下文窗口是吧?大模型的上下文窗口,比如说是四零九六啊,是四 k 或者是一百二十八 k 啊,总之是有限制的,不能无限去放,是吧?所以说文档如果很大的一个情况下的话,那一次性加载进来的话,耗费的 token 就 会非常多啊,这个直观的一个影响就是我们的调用成本就会非常高,所以 skills 就 解决了这个成本的一个问题啊,它不需要你一次性把所有的文档啊都加载到 token 里面去啊,就加载到整个上下文里面去,每次调用都要带上这些文档,它而是用到哪些文档的时候它就加载哪些文档,这样就避免它成本上面的一些消耗,是吧?就节省了我们的这个 token 嘛,对吧? 成本就给它省下来了,所以这个是它一个非常大的一个优化啊。好,这个就是 scales 它的一个非常核心的三部分组成啊,当然外面的话会有一个目录啊,一个 scales 的 一个目录文件夹,当然这个 scales 我 们可以放多个,是吧?比如说技能一、技能二、技能三,你可以建多个文件夹, 然后每个文件夹下面都有对应的这三个。呃,文件或者目录啊,当然不一定需要 reference, 不 一定需要 script, 但是 scales 点 md 文件是必须的啊,这个是说明书,另外两个的话是可选的啊,这个就是 agent scales 的 一个基本的一个组成啊,这个大家要清楚啊。 好,然后这个是一个文件结构的一个描述啊,大家要有一个印象啊,就是我刚刚提到的这几块是干嘛的, 我们再来做一个总结啊,这个 scale 点 md 的 话,就是这个技能的一个说明书啊,它主要就是用来描述整个我们技能是用来干嘛的,用在哪个场景,然后需要有一个什么步骤,需要有个什么注意事项啊?这个就类似到咱们大脑皮层的一个决策逻辑, 那么脚本的话就是一个可以被执行的一个逻辑啊,就是这个,比如说我们要跑一段 python 代码,是吧?我们要跑一段 js, 这个就相当于我们要做具体工作的时候要执行的一个脚本 啊。 reference 我 刚刚也讲到了啊,这个说白了就有点像这个知识库,是吧?我要去做一个参考啊,就 agent 干活的时候,我要去参考一些资料啊,那我这个资料里面我可以放 txt 文档,放 jason, 放这个,呃,一些 markdown 文件是吧? 一般建议是纯文本的啊,所以我们需要这些个知识库啊,存到这个目录里面,所以大家首先要做一个基本了解啊,那么 agent skills 的 话, 它不是一段简单的脚本啊,它是一套 sop 啊,标准作业程序加上工具,加上这个知识库啊,整个是一个组合的一个概念啊,所以大家首先要对这个概念的话要有一定的这个认知。 ok 啊,那为了方便大家理解的话,我这里举了一个例子啊,大家看一下这个图, 那么这个图的意思就是我们按照这个比较啊,首先的话,这个 commands 啊,就是我们这个命令,我们就举个例子啊,比如说我们现在 要去按一下,对吧?用一下这个微波炉啊,然后用这个一键解冻这个功能是吧?这个快捷指令, 然后对应到这个咱们的 m c p 工具里面的话,哎,这个就有点像厨房的这个刀具,是吧?然后切菜的一个工具,然后通用性强,需要人去指挥啊,就我们单一用指令去做的话, 就比较死板,比较单一啊,然后用了 m c p 这个工具之后的话,它的通用性比较强,但是还是需要人来指挥的啊。可能有同学不知道什么叫 m c p 啊? m c p 的 话是,呃,新出的一种啊,叫做模型上下文的一个协议,它解决什么问题呢?解决的是 大模型时代各种接口数据接入的一个问题啊,大家都知道 usb 吧, usb 接口解决什么问题?它解决的是电脑的各种设备接入的问题是吧?比如说我键盘、鼠标,各种各样,只要支持 usb 协议的话,都能连接到电脑被识别。 那么 m c p 解决什么问题呢?它解决的是我们大模型,我要去访问各种 api 工具,是吧?访问各种一些本地的一些文件啊,我都可以通过 m c p 协议去接入啊,因为它是一套标准的协议,只要你的 m c p 服务器实现这些功能,我都通过这个 m c p 客户端的方式可以接入进来。所以 m c p 就 相当于 电脑时代的这个 usb 接口啊,它可以接入各种各样的一些服务。 ok, 那 么 scales 对 比 m c p, 它又解决什么问题呢? 它解决的话就是类似于咱们的一个啊,我这举个例子,就是一个菜谱前面这个按钮啊,就这个快捷指令,它可能是一个按钮的功能, m c p 它就相当于厨房里面的刀具,那么 skills 的 话,它就相当于菜谱,它的功能就是要去解决 标准的 sop 的 一个问题啊。比如说大家要去做一道菜的话,你首先得知道这道菜的一个步骤吧,然后火候,包括用到的一些刀具,各种细节的一些这个 细节,是吧?你都要去注意好啊,它的一个特点就是流程化,然后自动化去做一个驱动。所以啊,大家理解这几个点的一个区别, m c p 的 话,它解决的只是一个工具的调用的一些问题,数据的一些连接问题。但是 scales 的 话,它是一套标准的流程啊, 这是有本质上的一个区别的,这是大家要搞清楚啊这个区别,因为,嗯,大家后面的话你可能也会用到 m、 c、 p, 也会用到 scale, 但是我们一般大家可以把它结合起来用 啊,所以说大家一定要知道这个区别。 ok, 然后下面这个文档的话啊,我就不念了啊,大家可以看一下,就是我刚刚讲到的啊,据说要搞清楚它的一个底层逻辑, scales 的 话,它解决的是一个复杂的业务逻辑闭环的一个问题。

挑战,每天讲透一个 ai 知识点,今天是 scale 工程实践指南,好,然后是 scale 它的一个工程的一个实践指南啊,就是什么是一个好的 scales, 然后什么是一个坏的 scales, 其实很好理解啊,就是我们怎么样把这个 scales 给写好, 最关键点的话就是大家一定要注意一个原则啊,叫做单一职责,就专注只做一个事情,一个技能,他只干一件事情,不要让他做很多事情,然后描述要非常清晰,要用自然语言明确输入输出,并且的话,哎,他是要可以组合的,那也就说我这个 skills 可以 跟其他 skills 搭配组合, 就跟大家玩游戏一样,我技能是可以用组合技能是吧?两个技能一起放的话,效果会更好。然后对应到这个基本的好的一个原则的话,那其他的就是坏的一个原则,比如说你让他做很多事情, 这明显就不是一个好的 skill, 是 吧?这个要避免,然后描述很不清楚啊,比如说你就让他去做一个什么数据处理工具啊,也不知道是处理什么数据,没有写的很清楚,描述也模糊,但这个也不行。然后参数也很混乱 啊,就是这个参数也没说清楚,也没有什么注示,那这样 agent 呢?他肯定也没法调用了啊,这个细节大家要搞清楚啊,所以这几个基本的原则, 所以大家一定要注意几点啊。首先是原则性啊,就是坚持单一原则,就是就做一个事情,不要写的太复杂了。然后的话最好是给一些势利啊,给一些清晰的势利,比如说我这个 scales 里面,大家看我去写一个会议总结助手的 scale, 我 要把很清晰的一个势利给他, 就是我输入是什么样的,那我输出是什么样的?这是我最终希望的一个会议总结的一个格式啊,我定义好的一个格式,所以我把这个说清楚的话,它最终输出也是按这个格式给我来说出的 啊,这就是我们给例子的一个好处哎,然后要定一个人设角色,是吧?比如说你是一个会议总结的一个专家啊,一个专员,一个专业人士啊,要比如说是个分析师,要把这个角色写清楚,然后这个里面还要定一些接口,比如说我要去调用一些这个 script 脚本,是吧?我要用 markdown 的 格式去写, 要把这个规范给它写好。哎,然后并且大家这个技能写完之后的话啊,你可以不断的去优化这个 skill 啊,如果你觉得它的效果不好的话,大家可以不断的去调整, 这个是我们可以优化的一个点啊,所以这几个原则大家一定要记清楚啊,这就相当于是一个 scales 的 一个啊,他的一个编写的一个最佳实践,大家按照这个规范去写,一般质量来说都不会很差。好,然后接下来啊,前面我们给大家讲了一堆这个理论,是吧?让大家有一个概念上的一个理。

每天讲透一个 a 知识点儿,今天是十七种 r a g 优化策略,哎,大家好啊,咱们聊 r a g, 也就是解锁增强生成。现在做个知识苦问答,这玩意儿基本就是标配了对吧?但问题是,很多人搭出来的基础版 r a g 效果呢,叫一个惨不忍睹,经常是问,傻傻不行。 所以啊,今天咱们就来个硬核的,好好盘一盘怎么给你的 r a g 系统来一次从能用到好用甚至精通的全方位大升级。 咱们这次的升级之路呢,分了几个度种?咱们先看核心的三大块。第一张叫基础构建,就是说在解锁开始前,先把咱的数据地基给打牢了。第二张呢,是引擎强化,把解锁这个发动机搞得更猛更准。第三张,系统之能,让 r e g 不 只是个工具,而是学会自己思考。 等咱们把这些招式都学完了,第四部分,我会给你一个超级实用的策略,决策决策,帮你对症下药。最后咱们再一起畅讲一下 r e g。 的 未来。好了,废话不多说,咱们的京东之旅现在开始! 好,第一章,基础构建。我跟你说,这块就跟打仗前整理军火库一样,你的弹药也就是数据,要是乱七八糟的,那上了战场肯定抓瞎。所以说,所有解锁开始之前的工作,都是在给整个 r a g 系统打地基,地基不牢,后面全白搭。 那么打地基的第一步干啥呢?文本分块就是 chunking, 最简单粗暴的法呢,就是你看左边这个叫基础切分,管它三七二十一,按字数或者换行符,咔咔就切了。好处是简单,坏处呢太明显了,一句话没说完,可能就被拦腰斩断了。 再看右边这个羽翼切分,这就高级了。他会用一些 n l p 的 工具去理解文本的意思,保证切出来的每一块意思都是完整的。虽然是麻烦了点,但你想想这信息的质量,那可不是一个谅解的提升啊。 ok, 切分问题搞定了,咱们来看下一个立竿见影的招数,上下文城墙剪索。这招啊,想法特别简单,但效果是真的好。 你想啊,咱们说话写东西一个意思,经常会跨好几个段落,所以当系统找到了一个相关的文本块,别急,顺手把他前后的邻居也一块拽过来。这样一来,给到大模型的信息就完整了,那个上下文断裂的问题一下就解决了。 诺,你看这张图就很直观了,中间那个深色的块是咱们找到的目标,但你看,我们把它左右两边的邻居也一起打包带走了上下文,这不就齐乎了吗?但等等,我们还能玩的更花来看,策略四,上下文块标题, 这个更有意思了,它等于是在打包之前,先给每个包裹贴上一个清晰的标签。具体来说,就让 l m 先读一遍每个数据库,然后给它生成一个精炼的小标题或者摘要。这样在解锁的时候,这个高度概括的标签就能提供一个更高维度的语义信息,大大提升命中率。 第五个策略叫文档增广。嗯,这个思路啊,我得说有点颠覆,咱们平时想的都是用问题去找答案,对吧?这招是反过来的,他是为答案提前准备好问题。啥意思呢?就是我们让大模型对着我们的每一段资料提前想出来,哎,这段话能回答哪些问题? 然后把这些预设的问题和原文一起存起来,这么一来,用户真正提问的时候,他的问题去匹配我们预设的问题,你想想是不是比去匹配一大段原文要精准的多?咱们来看这个流程图就更清楚了,你看一个文档块喂给大模型, 这个大模型这时候就像个出题老师,刷刷刷,围绕这段内容出了好几个可能的问题,然后这些问题和原文捆绑在一起,存进向量库。书 这么干,等于是在源头上就把信息密度给拉满了,匹配成功率自然也就上去了。好了,地级打牢了,咱们的军火库也整理好了, 现在进入第二张引擎强化。如果说第一张是准备弹药,那这一张就是要给咱们的武器系统来个大升级,把原来那个只能照亮一小块地方的普通手电筒,换成一套能三百六十度扫描的精密雷达系统,目标就是要看的更远,找的更准。 第六个,策略查询转换。咱们都懂,用户提的问题经常特别口语化,有时候还含含糊糊的,你直接拿这个去搜,效果能好才怪了。所以咱们可以请 l l m 当个翻译官,把用户那个模糊的问题给他改写,扩展成好几个更具体、更专业的版本。 你看这张图,一个原始问题进去出来一堆遍体,这不就等于撒了一张更大更密的网吗?补到大鱼的概率自然就高了。 网撒出去了,捞上来的东西可能有点多,得精挑细选一下,这时候就需要两个精准度助推器了。看左边,策略七叫重排序。 re, ranker, 它就像什么呢?就像是海选过后,请来一位专家评委进行复赛,向量减速捞回来一大堆东西, re, ranker, 用一个更牛的模型给它们重新打分排序,把最靠谱的往前放。再看右边,策略八相关片段提取 rse, 这个就更厉害了,它专门解决一个痛点,有时候答案不是一整块,而是散落在好几个段落里。 rse 就 像个侦探,能把这些零散的线索跟你拼起来,凑成一个完整的答案。 当然了,强化引擎的骚操作还有不少,咱们再快速过三个特别猛的。第一个,上下文压缩,你想啊,找回来的文档里肯都有好多水分,也就是废话,至少就像一个智能的脱水机,在把内容喂给大模型之前,先把无关信息全给你己干,只留下清华,这样既省偷更就提升准确度。 第二个, hide, 这思路简直绝了,它不是用问题去找答案,而是反过来,先让大模型根据问题凭空幻想出一个最完美的答案,然后拿着这个假想答案去数据库里找最像的真东西,这叫以答搜答,效果出奇的好。 最后一个混合检查,或者叫 fusion, 这个简单粗暴,就是把传统关键词搜索和向量搜索的优点捏一块儿,关键词搜索保证那些专有名词能精准匹配。向量搜索负责理解你话理的意思。强强联合效果能不好吗? ok, 经过前面两张的强化,咱们的 r i g 系统已经算是个高手了,但还不够。现在我们进入第三章,也是最让人兴奋的部分,系统,智能, 咱们的目标是要让 r i g。 从一个只会听指令的工具,进化成一个会思考、会学习、会自己做决定的智能体。 怎么才能让他有智能呢?来看左边,这里有两个思路,一个呢是搞个反馈循环,就是让用户来评价答案好不好,然后系统根据这些反馈不断的自我优化。 另一个更进一步叫自适应 r a g。 这就聪明了,系统会先判断一下你这个问题是简单还是复杂,简单问题就用简单的招数,复杂问题,它会自动开启一套组合拳。不过要说真正的智能,那还得看右边这个终极形态, self r a g 策链十一, self r a g 你 看这实现难度,直接拉满五颗星,绝对是这个领域的最终 boss。 它的核心思想就是给大模型松绑,给它决策权。 拿到一个问题,他会先自己琢磨一下,哎,这问题我需要查资料吗?还是我自己的知识库里就有?在生成答案的每一步,他都会反思和判断,这样一来,不仅避免了好多没必要的线索,更关键的是大大降低了因为搜到垃圾信息而产生幻觉的风险。 当然了,真实世界的数据不都是一段一段的文本,要是你的书具里充满了复杂的实体关系,那策略十二知识图谱就是你的菜,他能把这些关系理得清清楚楚, 那要是你面对的是一本几百页的书这种超长文本呢?策略十三层级化,所以就该上场了,他会先给整本书做个摘要,再给每个章节做摘要,最后才是具体内容,查找的时候就像用地图一样,先定位到城市,再找到街道,最后找到门牌号,效率非常高。 最后,也是特别重要的一点,咱得给系统装个安全带,或者说事实核查员,也就是 c r a g, 就是 干这个的。 他在拿到检测回来的资料后,会先评估一下这资料靠不靠谱,如果觉得资料质量很高, ok, 直接用。如果觉得有点可疑,他就会自己上网搜一下,做个交叉验证。要是发现资料完全是垃圾,那他就会直接去网上找正确答案。你看,这就是一个非常强大的自我纠错机制。 好了,到这咱们已经学了十几套武功秘籍了,现在最关键的问题来了,这么多招,我到底该用哪个?别慌,接下来咱们的角色要变一变,从一个学生变成一个运筹帷幄的策略师,我会给你一个特别简单的决策框架,帮你搞定这个问题。 看到这张密密麻麻的策略总览表,是不是感觉头都大了?没错,十七种策略,各有各的好,也各有各的坑,效果和实现难度都不一样,信息量确实有点爆炸,但别怕,咱们有办法把它变得一目了然。 强强,这就是你的决策小超,一个二维四象线的策略决策矩阵,你看,横轴是实现难度越往右越难,纵轴是效果越往上越好。这样以来,所有策略就分成了四类,左下角,基础优化区,实现简单,但效果提升有限,算是入门操作。 左上角,我管它叫性价比之王,投入不大,但效果立竿见影,比如上下文层墙。右上角就是战略投资区了,像 self a r g 这种效果顶尖,但需要你投入大量时间和资源。 最后右下角是特定场景专用,比如知识图谱,一般人用不上,但在特定领域是神器。有了这张图,你就可以根据自己的项目情况和预算,按图所记,找到最适合你的升级路线了。 最后啊,我想跟大家分享一个核心观点, r a g 的 未来一定是可组合的。咱们今天聊的这十七个策略,不应该把它们看成是一个个孤立的选项,而应该把它们看作是一个工具箱,或者说是一堆乐高积木。 这张图就完美的表达了这个意思,一个最牛的 r a g 架构,绝对不是把所有策略胡乱堆在一起,而是根据你自己的业务需求,像搭积木一样,把这些策略有选择的有机的组合起来, 从打好地基开始,然后逐步加上更高级的引擎和智能模块,最后再用一个反馈系统,不断的调整和优化你搭建的这个系统。 那么聊了这么多,最后把问题抛给你听完了这十几种武功招式,你准备搭建一个什么样的属于你自己的定制化 r a g 系统呢?希望今天的内容能给你一些启发,咱们下回再聊。

让我们来谈谈如何解决当前解锁增强生成系统中最大的一个问题。这些系统大多数都依赖于与异相似性,试图找出与你的查询最相似的文本片段。然而这会导致一些严重的问题, 分块处理基本上会丢失大局上下文,你无法进行跨文档引用和文档间的依赖。为了解决这个问题,我正在开发一个开源项目, 用人类在大型语料库中查找信息的方式来替代简单的语义相似性。我把这种方式称为探索,而不是简单的解锁。 让我给你展示一下这个系统是如何运作的。现在我有一个非常复杂的查询,对于这样的查询,普通的解锁增强生成系统很可能会失败,因为它没有足够的上下文,尤其是当你要找的信息分布在多个不同文件中时。 现在我来介绍一下在我们的系统中他是如何工作的。智能体首先阅读了结案清单文件,然后他指出结案清单表明禁止调查报告是一个关键文件。接着他开始阅读那份文件。于所有这些探索最后,我们得到了一个非常详细的答案, 所以让我来解释一下整个过程是如何运作的。当前系统最大的问题之一就是文档中的交叉引用, 而这种情况在现实世界的文档中经常发生。比如说,如果你在处理法律文件或保险文件里面就会有交叉引用 块,处理的问题在于它会丢失这些上下文,即使这些信息确实存在于你的文档中。语音相似度的工作方式只是查找与用户原始查询最相似的几个片段,而 r a g 或剪辑系统则会完全忽略这些交叉引用。对此的一个解决方案是智能体文件搜索。 现在这和智能体 r a g 或解锁增强生成是不同的,这更像是一种探索。该项目在 github 上已经有超过三百五十个新标,所以如果你喜欢它,记得给它点个新标 本。视频将介绍该项目的一些更新内容。现在你还可以运行本地模型。简单来说,这是一个三阶段的探索过程。 它的工作原理如下,在第一阶段,根据用户的查询,我们会扫描所有可用的文档。这个系统并没有使用任何类型的缩影过程。我们在这里唯一的预处理步骤就是使用 document 将 pdf 和文本文件转换为标准的 markdown 文件。 在这一步中,我们会用大圆模型 l l m 来识别哪些文档可能包含与你的查询相关的信息。我们这样做的方法是查看文档的开头部分。所以如果查询与某种财务信息相关,我们就会保留与财务有关的文档。 第二步,我称之为深度挖掘。在这一步中,系统会开始阅读那些被识别为可能包含相关信息的完整文档。在这种情况下, l l m 还可以识别我们可能遗漏的交叉引用。 因此智能体可以回头查看在初步探索阶段遗漏的文件。接下来,在第三阶段,通过这种回溯机制,系统会收集所有回答用户问题所需的上下文信息。 通过这种方式,我们可以回答非常复杂的用户问题,而这些问题通常无法通过简单的语义相似性搜索来解决,那么 这个系统到底是如何运作的呢?它的灵感来源于像 cloud code 这样的编程智能体。这类智能体拥有多种不同的工具,可以读取原始文档或文本文件。 因此这个系统配备了六种不同的工具,用于扫描你的文件夹、解析文档、预览文件和提取内容。系统还支持基于政策表达式的全文件搜索,我们还具备通过路径模式查找文件的能力。 该系统的前一个版本使用的是 gemini three flash, 但现在我也加入了对本地模型的支持,所以你现在可以使用 quint 三模型。好的,接下来是整个端到端系统架构的展示。 系统有一个用户界面,但如果你想在这个工具基础上开发,也可以使用命令行界面。 c l i 系统有一个后端服务器层,同时为 ui 和 cio 提供服务,然后还有一个完整的编排层和工具层。 现在这个项目的灵感来自 lma index 的 文件搜索项目,因此它使用 lma index 进行事件驱动的循环编排。该智能题可以访问我们之前介绍过的六种不同工具。 最初我是用 gemini 三 flash 构建的,但现在你也可以使用本地模型,这些模型托管在 d g x spark 上。 关于这部分,我会在视频后面详细讲解。最后还有一个文档处理层,这一层主要由 dakeland 提供支持,它确保所有内容都被转换为标准格式。 这样当大语言模型查看数据时,就不会遇到多种不同的文件类型而感到困惑。如果你想在本地运行这个项目,让我带你了解一下设置流程。现在会有两个不同的分支,主分支将包含原始的 geminis and flash 实现。我接下来会再按一个按钮, 这个分支将包含使用优拉玛运行本地模型的实现。我之所以没有把它们集成到同一个代码库,是因为在使用本地模型时,我不得不做了很多调整,以便模型能够按照我现在提供的提示来执行指令。 我最初是从较小的窥模型,比如四 b 开始的,但根据我的实验,我很快发现即使是八 b 或十四 b 的 模型也不足以完成复杂的设置步骤来进行探索。 表现还算不错的是 queen 三三二 b。 即便如此,我也不得不调整系统提示,以确保它能够遵循所有指令,而且它能够正确地使用工具,而不是凭空捏造结果。 为了运行这个模型,我使用了 nvidia dx spark, 因为 nvidia 给我寄了一台设备, 它拥有足够的显存,实际上可以支持那个三百二十亿参数的模型。现在 nvidia dj xpec 的 推理速度相对较慢,但与其他消费级硬件相比,它有一个很大的优势。我们将在视频后面讨论这个问题。目前 nvidia sync 的 设置大致如下, 该系统拥有一百二十八 gb 的 统一内存,这让运行更大的模型变得更加容易。要进行设置,我们需要克隆代码库,然后安装所有依赖项。对于本地版本,你只需要在 e n v 文件中设置这两个环境变量文件,一个是欧拉玛主机,另一个是你想要使用的模型。 安装过程完成后,你有两种不同的选择,一种方式是通过 c i 运行所有内容。 第二种选择是你可以运行 ui, 我 将向你展示 ui 的 样子,这是 ui 的 界面,如果你点击浏览就可以进行选择数据源。所以我这里有二十六个不同的虚拟文件或文件夹。这个有二十六个不同的文件,另一个有十一个不同的文件。 所以为了快速演示,我就选择这个。现在它显示由 gemini three flash 提供支持。但如果你使用的是本地分支,你可以直接告诉他使用哪个模型。我将给你展示几个视例查询。这是一个简单的查询,只需要从单个文档中获取信息。 我们刚才在查看这家初创公司收购的购买价格。目前他已经使用了 d g xbox 上可用的三十八 g b 统一内存,而且 gpu 的 利用率刚刚下降了,因为我认为他已经完成了这个过程。现在这只是一个相对简单的查询, 所以他只查看了一个文件并通过了,这是他找到的信息。好的,这是另一个查询,他使用了来自多个不同文件的信息。 所以我们在询问在这次收购中识别出的主要风险有哪些,以及采取了哪些缓解措施。同样, 我们可以看到 gpu 的 利用率。系统内存保持稳定,现在大约使用了九十六 gb 的 统一内存。 在这种情况下,系统实际上查看了多个不同的文件。因为相比那个简单的查询,他需要更多的信息,这是他生成的最终回复。这个查询本身大约花了四分钟,所以这个系统并不是为了像聊天机器人那样实时提供信息而设计的他更像是一个文档生成系统。 好的,这里有另一个非常复杂的查询。在这种情况下,系统大约花了十四个不同的步骤。 这意味着他来回查看了他识别出的不同文件。最后你可以看到他生成了一个更加全面的答案。现在关于使用 d g x pack 有 几点评论。我能够运行一个三百二十亿参数的模型,这在普通消费级硬件上是无法做到的。 现在与一四九零或一五九零这样的显卡相比,推理速度确实偏慢。不过你可以运行更大规模的模型。我认为我在这里也可以运行一个七百亿参数的模型。 第二点是拥有更大的统一内存,也让你能够在这些大圆模型上运行更长的上下文。 所以在这个例子中,当它进行那些并行调用时,我是在六万四千个 token 的 上下文窗口下运行的。我还想做的另一个实验是,如果你采用批量请求,而不是像我现在这样单个请求会发生什么。 我认为如果你要为客户提供服务,这会是一个不错的选择。总之,这就是对这个系统的一个快速概述,它将会是本地 gpt 的 一个扩展。 如果你正在本地环境下做信息解锁或类似的探索工作,并且需要帮助,可以联系我。详细信息会在视频描述中。总之,希望你觉得这个视频有用。感谢观看。一如既往,我们下期再见。

兄弟们,这是一个全新的 red 框架,他彻底抛弃了向量数据库,不再依赖与异相似性解锁上下文,让大模型被动作答,而是让大模型模仿人类。专家主动从文档中抽取所需信息。 我们知道,传统 ig 存在三大痛点,一是与异相似的内容未必与问题真正相关。二是分快可能破坏上下文连贯性。三是不擅长处理多跳推理和关联引用。 配置 index 做法是将文档按原始章节结构构建成一个 jason 格式的层次化树形缩影,树中的每个节点对应文档中一段连续的内容区间,包含起始位置和由 l l m 生成的内容摘要。 解锁时,系统将整颗锁影术与用户问题一起发给大模型,让他主动判断回答这个问题,我需要读取哪些节点?随后根据这一判断提取对应节点所指向的原始文本作为上下文供大模型生成回答。这个过程可多轮迭代,直到大模型获得足够信息。 配置 index 特别适合处理结构复杂的长文档,在 finance bench 测试中准确率达到百分之九十八点七。该项目一开源,可通过其拍封 sdk 使用,也可以 mcp 服务形式集成到 cursor、 cloud code 等智能体中。

java 如何开发 r a g 功能?今天来个保姆级教学。我们需要用到 lan chain for jay alama 对 话模型,向量模型。这里对不了解 lan chain 的 小伙伴解释一下。 lan chain 就是 大模型时代的脚手架,它把模型调用数据库存储提示词模板 prompt 和逻辑链条 change 全部标准化了,让你像拼积木一样组装 ai 应用。 lan chain for jay 就是 lan chain 的 java 版本。有了它,我们 java 开发者可以像调用接口一样地去使用大模型。 那奥拉玛又是什么?它是一个开源的轻量级框架,让大模型本地部署,像装软件一样简单。 奥拉玛这个词听起来有点拗口,但是它的中文意思大家一点不陌生,就是羊驼,这个软件的图标也是一只羊驼。下载之后呢,一路 next 安装就可以了。安装之后我们就可以在命令行中使用奥拉玛了。奥拉玛件件 version, 检查一下是否安装成功。奥拉玛的使用很像 doctor, 我们只需要运行这行命令,就可以下载和运行一个大模型。 alma run qw 二点五减 coder 七币。我们选择阿里开源的千万二点五 coder, 它是目前公认的 java 代码处理能力最强的模型。如果你是十六 g 内存的电脑,请果断选七币。如果电脑配置较低,比如八 g 内存,请改用一点五 b 版本。 输入命令回车后就开始下载模型了,下载之后会自动运行,你可以在窗口中随便输入一句话进行测试。此外,我们还需要一个向量模型,把个人知识库内容向量化, 运行命令 alama poomik 减 embed 减 text。 最后我们需要再验证一下 api 是 否可用浏览器打开这个链接。 httlocalhost 幺幺四三四如果页面出现 alama is running 的 提示,代表一切正常。 接下来我们就可以开发蓝拳 for j a 的 java 项目了。 idea 中新建项目选 jdk 二十一依赖先不选,然后打开 power 文件,输入以下依赖, 然后再新建一个 a config, 用来注入对话模型,向量模型和存储方式。然后再新建一个 call service, 里面有两个方法,一个是抽象知识库,通过向量模型把指定的项目路径下所有代码文件向量化,最终存储到内存数据库中。 第二个方法是问答方法,入餐是问题,出餐是答案。先把问题传入向量数据库中,解锁相关的代码片段,然后拼接成一个大字母串,最后再用代码片段和问题构建提示词,最后调用对话模型进行提问。最后再定义一个 chat controller, 里面也对应有两个接口,一个出示话知识库,另外一个是提问方法。最后我们来演示一下实际效果。我们预先下载了若一的代码作为我们的知识库,先调用出示话接口进行出示话, 好的,出示话完成了,然后就可以针对这个知识库进行提问了。随便来一个啊, 回答的还是很不错的。再来一个问题, 好了,今天的分享就到这里了,感兴趣的小伙伴可以先点赞收藏,有空的话自己动手试试。

很多人觉得 ai 不好用啊,是因为你把他当神了。其实呢,现在的 ai 大 魔神就是一个刚毕业的名校大学生,他智商极高,通晓天文地理,但他有个致命硬伤啊,他不懂你的公司规矩,他没有看过你的产品手册,不知道你的价格表,更不懂你那个挑剔的甲方脾气。 你啥都不给他呢,上来就让他写个爆款文案,那就是正确的废话结构。所以啊,做智能体不是写文章,而是招员工,那怎么招好这个数字员工呢?记住这套我们内部验证的五步必还法,少一步呢,都不行。 第一呢,场景定义,也就是给你的 ai 定义一个具体的岗位,别总想做一个全能助理啊,要做就做专门处理售后退换货的客服,越攒越好。第二步呢,技能拆解,把大任务拆解成 ai 能听懂的小动作啊,比如写文案啊,要拆解成分析竞品,提炼卖点,写开头排版。四步 三步呢,也就是最最关键的一步,知识配置,这就是俗称的头位啊,把你的产品手册、销冠话术、避坑指南全部喂给 ai, 没有知识库的智能填啊,就是没有灵魂的去壳。那第四步呢,工作流编排,把这些技能成流水线啊。 第五步,测试迭代。这一步呢,百分之九十的人都坚持不下来。第一把写出来六十分很正常啊,你得像带徒弟一样,告诉他哪错了,给他新的资料,把他慢慢养大。举个真实的案例啊,咱们有一个做养生茶的学员, 以前呢,一个编导编一天写不出三个脚本。后来啊,用这一套方法呢,把本草纲目精华,他家养生茶的成分表,还有五十条对标账号的爆款,开头一股脑的喂给 ai, 结果呢,现在老板输入口臭两个字啊, ai 一 分钟就能吐出五个不同角度的爆款脚本,连分镜都写好了。 这就是把思考变成执行,把经验变成数据。不知道怎么拆解任务的啊,不知道那些数据该怎么清洗才能喂给 ai。 说白了呢,这确实是个技术活啊。我们这边整理了一份 r a g 知识库,构建 sop, 想把公司经验变成数字资产的老板啊,直接拿去哦。