网站后台和前台潍坊网站

张小明 2026/1/1 14:24:22
网站后台和前台,潍坊网站,徐州建站模板,湖南长沙房价2022最新价格检索增强生成#xff08;RAG#xff09;是解决大语言模型#xff08;LLM#xff09;实际使用中的一套完整的技术#xff0c;它可以有效解决LLM的三个主要问题#xff1a;数据时效性、幻觉和数据安全问题#xff08;在我之前的文章《大模型主流应用RAG的介绍——从架构到…检索增强生成RAG是解决大语言模型LLM实际使用中的一套完整的技术它可以有效解决LLM的三个主要问题数据时效性、幻觉和数据安全问题在我之前的文章《大模型主流应用RAG的介绍——从架构到技术细节》中有详细介绍。但是随着RAG越来越火热使用者越来越多我们也会发现用的好的人/团队其实还是不多的。这也是RAG常被人吐槽的一点入门简单用好却非常难对于RAG的效果我们之前已经做了很多方面的优化了包括优化内容提取的方法从源头解决内容提取的有效性包括文本内容、表格内容保留制表符和图片内容OCR识别等可以参看我之前的文章《完全指南——使用python提取PDF中的文本信息包括表格和图片OCR》优化chunking从最开始的512固定长度切分到后面的句切分再到后面的NLTK和SpaCy具体可参见我之前写的《最详细的文本分块(Chunking)方法——可以直接影响基于LLM应用效果》再之后是优化embedding模型Embedding模型的选择其实很魔性我们在优化过程中也会不断否定之前的一些判断。比如我们最开始用m3e后面用bge再后面还用了通义千问的embedding模型。总体来说收费的通义千问还是好一些但是不明显有些方面却不如bge。最近一朋友也向我推荐了Jina embedding模型不过他们的中文模型需要12月份才出来我们还优化了其他一些过程比如prompt模板、关键词摘要、元数据存储等。这些优化确实给我们带来了非常好的效果但不够我们在一些客户的实践过程中还是发现相关性效果不佳甚至造成了其中一个客户选择了其他方案使用RAGGPT-4的方案。我们还是坚持用国产大模型如Baichuan2-13B、ChatGLM3-6B和QWen-14B等毕竟主要服务的还是国内客户加上现在接触的多数客户其实都有私有化部署的需求。所以我们进行了一段时间的探索发现我们还有一项很有效的优化没有去做——ReRank。所以虽然Rerank优化我们还在做但是今天我们可以先聊聊ReRank这个话题。一、为什么需要Rerank我们发现在10月中旬之前国内外的互联网上很难发现Rerank相关的话题。有少量人提到了但是基本上都没有提到解决方案。我和小明在讨论Rerank的时候其实是先从提问题开始的。Elasticsearch中的相似度检索算法前面说了我们自己的RAG产品之前是存在一些相关性问题的其他方面能优化的我们觉得也基本上优化的差不多了除了我们采用的国产大模型在通用能力上和ChatGPT-3.5/4是存在差距的。我们发现的最大的问题就是使用elasticsearch的retrieval召回的内容相关度有问题多数情况下score最高的chunk相关度没问题但是top2-5的相关度就很随机了这是最影响最终结果的。图1elasticsearch8.4的knn使用方式我们看了elasticsearch的相似度算法es用的是KNN算法开始我们以为是暴力搜索但仔细看了一下在es8的相似度检索中用的其实是基于HNSW分层的最小世界导航算法HNSW是有能力在几毫秒内从数百万个数据点中找到最近邻的。图2elasticsearch实际使用的是HNSW算法HNSW带来的随机性问题我们想象这么一个场景你昨天刚在其他地方看到过一本新书你想在图书馆找到类似的书。K-最近邻KNN算法的逻辑是浏览书架上的每一本书并将它们从最相似到最不相似的顺序排列以确定最相似的书最有可能是你昨天看过的那本。这也就是我们常说的暴力搜索你有耐心做这么麻烦的工作吗相反如果我们对图书馆中的图书进行预排序和索引要找到与你昨天看过的新书相似的书你所需要做的就是去正确的楼层正确的区域正确的通道找到相似的书。此外你通常不需要对前10本相似的书进行精确排名比如100%、99%或95%的匹配度而是通通先拿回来。这就是**近似近邻ANN**的思想。你应该注意到了这里已经出现了一些随机性——不做匹配分数的排名。但是这些准确度上的损失是为了让检索效率更快为了显著降低计算成本它牺牲了找到绝对最近邻的保证这算是在计算效率和准确性之间取得平衡。ANN算法目前主要有三种基于图的算法创建数据的图表示最主要的就是分层可导航小世界图算法(HNSW)。基于哈希的算法流行的算法包括:位置敏感哈希LSH、多索引哈希MIH基于树的算法流行的是kd树、球树和随机投影树RP树。对于低维空间≤10基于树的算法是非常有效的。HNSW借鉴了跳表Skip List的思路。跳表是一种数据结构用于维护一组已排序的元素并允许进行高效的搜索、插入和删除操作。它是由William Pugh在1989年发明的。图(3)显示了数字[3、6、7、9、12、17、19、21、25、26]的排序链表。假设我们想找到目标19。当值小于目标时我们向右移动如果是传统的方式需要6步才能找到它。图3链表中查找数据但是我们在每个节点增加向后的指向指针比如列表中每三个其他节点都有一个指向后面三个节点的指针如图(4)所示那么只需要3步就可以到达19图4跳表每三个节点就设置一个多指向指针节点可以让搜索速度明显加快如果我们再增加这个指针节点数量呢这就是small world的底层思路说回到小世界small world网络它是一种特殊的网络在这种网络中你可以快速地联系到网络中的其他人或点。这有点像“凯文·培根的六度”(Six Degrees of Kevin Bacon)游戏在这个游戏中你可以通过一系列其他演员在不到六个步骤的时间里将任何演员与凯文·培根联系起来。想象一下你有一群朋友排成一个圆圈如图5所示。每个朋友都与坐在他们旁边的人直接相连。我们称它为“原始圆”。现在这就是奇迹发生的地方。你可以随机选择将其中一些连接改变给圆圈中的其他人就像图5中的红色连接线一样。这就像这些连接的“抢椅子”游戏。有人跳到另一把椅子上的几率用概率p表示。如果p很小移动的人就不多网络看起来就很像原来的圆圈。但如果p很大很多人就会跳来跳去网络就会变得有点混乱。当您选择正确的p值(不太小也不太大)时红色连接是最优的。网络变成了一个小世界网络。你可以很快地从一个朋友转到另一个朋友(这就是“小世界”的特点)。图5small world网络结构现在我们要扩展到高维空间图中的每个节点都是一个高维向量。在高维空间中搜索速度会变慢。这是不可避免的“维度的诅咒”。HNSW是一种高级数据结构用于优化高维空间中的相似性搜索。让我们看看HNSW如何构建图的层次结构。HNSW从图(6)中的第0层这样的基础图开始。它通常使用随机初始化数据点来构建。图6HNSW的结构示例这里大家要注意再次出现了”随机“所以为了检索的快速HNSW算法会存在一些随机性反映在实际召回结果中最大的影响就是返回结果中top_K并不是我们最想要的至少这K个文件的排名并不是我们认为的从高分到低分排序的。Rerank可以在小范围内逐一计算分值因为在搜索的时候存在随机性这应该就是我们在RAG中第一次召回的结果往往不太满意的原因。但是这也没办法如果你的索引有数百万甚至千万的级别那你只能牺牲一些精确度换回时间。这时候我们可以做的就是增加top_k的大小比如从原来的10个增加到30个。然后再使用更精确的算法来做rerank使用一一计算打分的方式做好排序。比如30次的遍历相似度计算的时间我们还是可以接受的。关于HNSW的内容大家可以点击文章左下角的”阅读原文“里面有一篇比较详细的HNSW的文章介绍。二、主要的Reank方式评测评测方法为了衡量我们的检索系统的有效性我们主要依赖于两个被广泛接受的指标:命中率和平均倒数排名(MRR)。让我们深入研究这些指标了解它们的重要性以及它们是如何运作的。我们来解释一下这两个指标命中率Hit rate计算在前k个检索文档中找到正确答案的查询比例。简单来说它是关于我们的系统在前几次猜测中正确的频率。平均倒数排名(MRR)对于每个查询MRR通过查看排名最高的相关文档的排名来评估系统的准确性。具体来说它是所有查询中这些排序的倒数的平均值。因此如果第一个相关文档是顶部结果则倒数排名为1;如果是第二个倒数是1/2以此类推。评测结果具体的评测过程大家可以看[我的Blog里面《提升RAG…》这篇]也是llamaindex最近刚刚发布的一篇著名rerank评测文章我这里就不具体展开了直接用他们的结果。评测采用的是embedding模型rerank模型的方式进行的。以下是使用的模型:Embedding模型:OpenAI EmbeddingVoyage EmbeddingCohereAI Embedding (v2.0/ v3.0)Jina EmbeddingsBAAI/bge-large-enRerank模型:CohereAIbge-reranker-basebge-reranker-large值得一提的是这些结果为这个特定数据集和任务的性能提供了坚实的见解。但是实际结果可能会根据数据特征、数据集大小和其他变量(如chunk_size、similarity_top_k等)而有所不同。下表展示了基于命中率和MRR指标的评估结果:图7测试结果我对LlamaIndex的评测结果做一个简单总结目前rerank模型里面最好的应该是cohere不过它是收费的。开源的是智源发布的bge-reranker-base和bge-reranker-large。bge-reranker-large的能力基本上接近cohere而且在一些方面还更好几乎所有的Embeddings都在重排之后显示出更高的命中率和MRR所以rerank的效果是非常显著的embedding模型和rerank模型的组合也会有影响可能需要开发者在实际过程中去调测最佳组合。三、我们可以如何使用Rerank目前最无脑的方式就是使用bge-reranker-large我们可以在https://huggingface.co/BAAI/bge-reranker-large/tree/main上找到models文件下载安装。我已经下载了图8bge-reranker-large的models文件大约4.5GB这两天要给它安装起来测测我们的产品rerank之后的效果。其实还有一种比较简单的方式这种方式其实是从上面的原理中得出来的第一次召回不精确是因为要对抗时间过长所以使用了ANN等方法那么我们是否可以在已经得到top_k的情况下使用KNN这种暴力检索逐个计算相似度打分来做一个精准排序然后取top_n。假设这里k30n5.如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。天道酬勤你越努力就会成为越优秀的自己。如果你能在15天内完成所有的任务那你堪称天才。然而如果你能完成 60-70% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

wordpress网站怎么进去产品线上推广渠道

PiliPalaX B站客户端完全指南:从入门到精通 【免费下载链接】PiliPalaX PiliPalaX 是使用Flutter开发的BiliBili第三方客户端,感谢使用,欢迎Star。 项目地址: https://gitcode.com/gh_mirrors/pi/PiliPalaX PiliPalaX 是一款基于 Flut…

张小明 2025/12/30 11:21:58 网站建设

慈溪网站建设慈溪企业邮箱账号大全

摘要 随着工业生产与日常生活中对环境安全重视程度的提升,实时监测环境中的温湿度、有害气体及烟雾浓度,对保障人员健康与生产安全具有重要意义。传统的环境监测方式多为单一参数检测,且预警滞后,难以全面、及时地反映环境状况&a…

张小明 2025/12/30 9:23:39 网站建设

港口备案怎么在网站做微信上打开连接的网站怎么做

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个详细的传统咸鸭蛋腌制指南网页应用,包含材料清单(鸭蛋、盐、水比例)、容器选择、腌制步骤图解(清洗→晾干→配制盐水→浸泡→…

张小明 2025/12/30 11:21:56 网站建设

昆明网站建设技术托管用jsp做网站用什么软件

项目中经常会遇到需要导出列表内容,或者下载文件之类的需求。结合各种情况,我总结了前端最常用的三种方法来接受后端传过来的文件流并下载,针对不同的情况可以使用不同的方法。 首先是后端将文件转换成byte数组 /*** 将文件转换成byte数组*…

张小明 2025/12/30 16:00:20 网站建设

广州网站开发工程师提升学历有哪些渠道

第一章:智谱 Open-AutoGLM 本地部署概述智谱 AI 推出的 Open-AutoGLM 是一款面向自动化任务的大语言模型工具,支持自然语言理解、代码生成与任务编排等能力。通过本地化部署,用户可在私有环境中安全地运行模型,保障数据隐私并实现…

张小明 2025/12/30 11:21:54 网站建设

.net是建网站的吗seo外包 杭州

什么是共享内存? 想象一下,你和你的室友共用一个冰箱。你们都可以往里面放东西,也可以从里面拿东西,这就是共享内存的基本概念!在C中,共享内存是一种让不同进程(可以理解为不同的程序&#xff0…

张小明 2025/12/30 16:00:17 网站建设