AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


【深入浅出RAG】LangChain vs LlamaIndex vs 腾讯向量数据库,谁才是打开RAG的最优解
发布日期:2024-05-11 07:31:27 浏览次数: 1924



在过去很长的一段时间里,只有类似表格这种结构化数据才能为企业产生大量的价值,像财务报表、销售报告等,既方便做成趋势、折线图、也方便通过数据库SQL语言进行查询、过滤。


但在企业内部最占存储空间的,反而是大量的文本文件、图片、视频,这种半结构化以及非结构化数据。这也正印证了28原则,20%的数据带来80%的价值,80%的数据只带来20%的价值。


怎么能从这堆海量数据中提取更多价值一直是诸多企业关心的问题。不过,通过语义检索结合AI大模型,就为这个问题带来了解决方案。


过去的搜索技术都是依赖文本检索,也可以理解为精准检索,比如从这句话 “今天这顿烧烤味道不错” 中只能搜索到烧烤、味道,这类在句子中真实存在的词语。 但如果搜索美食、好吃,这类同义词,计算机是无法理解的。


但现在,可以通过把句子、段落、文章、视频、图片,转化成向量(向量就是带有方向的坐标),再通过向量之间的比较,就可以找到结果。


例如分别不同种类的小狗,就可以通过体型大小、毛发长度、鼻子长短等特征来区分。如下面这张照片按照体型排序,可以看到体型越大的狗越靠近坐标轴右边,这样就能得到一个体型特征的一维坐标和对应的数值,从 0 到 1 的数字中得到每只狗在坐标系中的位置。



然而单靠一个体型大小的特征并不够,像照片中哈士奇、金毛和拉布拉多的体型就非常接近,我们无法区分。所以会再增加其他的特征,例如毛发的长短,也进行赋值,这样就得到了一个二维数组的坐标点。



通过这种方法,就可以从文本、图像等原来无法检索的内容中,找到相似的结果了。


RAG的本质就是:先把非结构化数据变成向量,再根据问题找到相似的结果。最终把问题和找到的结果一起丢给大模型,让大模型把这堆内容整理成一段人类可以理解的语言。



在实际的使用中,主要就包含5个步骤,可以分为两个阶段:

准备阶段:先处理文档,对文档进行向量化、然后存放到专门的向量数据库中。

查询阶段:把问题丢给向量数据库,查询到结果之后,把查询结果和最开始的问题统统丢给大模型,得到最终的答案。


比如用户的问题是 :如果我的车辆在保修期外抛锚,领克救援服务是否会提供免费的拖车服务?


从一本领克的售后手册中,直接可以通过大模型生成答案 :领克救援服务通常会在车辆在保修期外抛锚时提供付费的服务,包括拖车但不总是免费。具体服务内容和费用可能需要查询领克的官方服务指南或联系服务中心获取最新信息。


这简直就是一个很不错的官方回答。这种能力在智能客服、投资顾问等很多领域都可以有很好的落地场景。能切实从文档中提炼经验,把经验传递给一线的工作人员或者是最终的客户。



虽然上述几个步骤看似不复杂,但是在实际的情况中,每个步骤都是麻烦事,比如处理视频、音频、pdf、网页、word、ppt,都需要不同的方法。


而且像pdf和ppt中,还经常会带表格,处理起来更是麻烦的事情。那有没有什么好办法能简化这些实际的处理步骤呢?


开源社区和云厂商都提供了不错的解决方案,像最近比较火的 LangChain 和LlamaIndex,都是开源的AI开发框架,把上述提到的几个步骤都封装成模块,方便直接调用。


  • LangChain从名字也能看出来,更注重链的调用,LangChain更像一个手动挡汽车,光检索部分就包含了文档装载、文本切割、向量存储、索引、检索和嵌入模型这6个模块。


    LangChain的文档简直就是一部百科全书,国内外的各个组件都支持。里面每个模块里面都集成了几百种插件。

    再搭配 LangGraph 和 LangChain 的 Agent 能力,可以很好的构建出自由度很高的RAG产品。同时再搭配LangSmith、LangServe等配套的商业组件。


  • LlamaIndex更像一部自动挡汽车,并没有那么多繁琐的模块,集成度更好,不到20行代码,就可以轻松跑起来一个像样的 RAG 程序。


    而且LlamaIndex还可以同时很方便的实现文本汇总和语义查询的结合,比如在一篇文章中,想查找我们想要的内容,同时还需要对这些内容进行总结,那么LlamaIndex是目前实现你的愿望最简单的方


  • 而国内的阿里云、腾讯云这些云厂商,直接就提供了集成AI套件的向量数据库产品,简直就是搭配了自动驾驶的新能源汽车,可以直接做到开箱即用。

    以腾讯云向量数据库为例,搭配了整套的 AI 套件提供了完整的向量检索方案,包括数据切割和 Embedding 服务,无需自行编写拆分和向量化相关代码。

    同时,相似性检索的上下文语料可以更有效地指导 LLM 大模型生成更精准的答案,进一步提升回答的准确性。并且,腾讯云向量数据库采用了灵活的存储策略,可根据实际变化的需求,及时优化更新知识库,保证了系统的稳定性。


不过呢,上面提到的几种方案目前也确实是各有优劣,所以~光说不练假把式。   



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询