基于ES8的RAG

一、背景知识

一、什么是RAG

RAG全称是索引增强生成(Retrieval Argumented Generation)它是使用自己的私人知识库或外部数据源来辅助文本生成的技术。RAG是将检索模型和生成模型结合到一起的一个技术。通过更多的数据源来增强对LLM的输入,RGA能提升搜索体验的相关性。在改善了LLM的输出的同时,又不需要重新训练LLM。

二、为什么要用RAG

现在的LLM最大一个特点是,虽然没有新的数据支持,但是你问我我就肯定回答。有些事情虽然它并不知道但是一定会给你的答案。“不要管我说的对不对,你就说我说没说吧” 这就是现在的LLM的态度。这很影响用户体验,同时也会影响用户对产品的信心。而RAG技术则可以帮助LLM来进行数据更新,检索出更靠谱的数据来进行回答。

LLM现在已知的挑战包括:

  • 在没有答案的时候提供假的答案
  • 在用户需要特定响应的时候,提供过时或通用的信息
  • 搜索到的数据源不一定真实可靠
  • 不同专业相同名称的术语会被混淆

RAG是解决这些问题中一些问题的方式,他可以将一些提前准备好的新的知识随着问题一起作为输入提供给LLM。十分适合特定领域来低成本使用LLM来获取答案。

通过上述描述也能感知出,RAG其实无法直接影响LLM生成结果它的本质是增强输入。给予LLM更准确的输入使其获得更准确的输出。

例如:你要直接问ChatGPT最帅的人是谁,他无法直接给你答案,这是chat给出的答案:

如果你把输入改成这个样

这个过程中我并没有重新训练模型 但是优化了他的答案,这就是增强输入的作用。

三、RAG的好处

经济高效

RAG并不需要重新训练LLM模型,在大多数时候重新训练的计算和经济成本都很高,所以针对特定组织和领域的信息用RAG技术来将新的数据引入到LLM是一种十分经济高效的办法。

更新信息

我们都知道chatGPT的数据现在截止到2023年10月,在这之后的事情他是不知道的。RAG允许开发人员为LLM提供最新的数据和消息。

增强用户信任度

当我们的答案更加实时且准确,那么用户就会更加信任我们的产品。而且RAG允许LLM直接呈现数据来源,包括来源的引文和引用,如果用户想了解更多可以自己查询源文档。

四、ES8

既然是基于ES8的RAG技术,也得讲讲ES8。Elastic Search 8是Elastic Search第八个主要版本。它的官方是这么介绍自己的:

从中摘取关键词就是分布式搜索和分析引擎。Logstash和Beats可以收集,聚合并丰富你的数据,Kibana可以让你发表你对数据的看法。所以Logstash,Beats和Kibana是我们必须要了解的组件。

而第二段则是说,ES为所有类型的数据提供近乎实时的搜索和分析。结合前文很明显,我们要将其作为自己知识库搭建和检索的技术,来为LLM增强输入。官方最后给出了ES的一些使用场景:

其中第三点和第四点分别是使用机器学习自动实时模拟数据行为和使用 Elasticsearch 作为向量数据库来创建、存储和搜索向量嵌入。这么看来这个技术十分适合我们现在的场景。那对ES8的简介到这里就倒一段落了,说实话我其实也并没有使用过ES,所以这里需要做一个暂停,我要去写一篇ES的实战文章,边学边写。目前看来RAG其实是一种逻辑,用这个逻辑来LLM增强输出以获得更好的答案,而ES才是实现这种逻辑的技术。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值