AI产品经理必须知道的技术 之 【RAG】

AI产品经理或者准备从事这个职业的朋友,一定都听说过RAG。RAG全称是Retrieval Augmented Generation,中文意思是检索增强生成,是一种构建AI应用的方法。

今天我就跟大家唠一唠RAG,什么是RAG、RAG的实现方式,以及RAG的典型产品应用分享。

01

RAG介绍

RAG是目前AIGC文本生成最普遍、最成熟的应用方法

通俗地理解就是:把知识库提供给大模型,让大模型根据知识库的内容进行回答。

这和用户直接上传一个文档,让大模型根据文档回答问题有一些小的区别。

RAG有一个前置流程,即先检索知识库,把检索出来的知识片段提供给大模型,再让大模型根据知识片段回答问题。

这么做的好处是什么呢?

总结来说,RAG对AIGC应用的价值有三个方面:

  1. RAG可以引导大模型回答内容的范围、提升回答质量。

  2. RAG可以补充大模型在专业领域的知识上的不足,可以让大模型变为行业专家,以及让大模型可以获取最新的知识。

  3. RAG弥补了大模型处理token长度的限制,对于非常大的知识库,也可以进行检索生成。

举个应用场景的案例:

【场景】你公司有一款产品,你希望将该产品的知识文档,都提供给大模型,给用户提供一个基于大模型的智能问答客服,帮助用户快速解决问题。

RAG可以帮助你实现以下效果:

1、智能客服可以基于产品知识回答问题

回答结果可以引用的文档内容,以及大模型根据它的理解推理给出的答案。

它可以是基于知识内容的总结、解释。

也可以是基于知识内容,进行相关的工具调用,计算推理,得出答案。

也有更高级的用法,例如用思维链的方法,将问题拆分为多个任务,进行下一步的推理。当然思维链的方法已经不是RAG本身了,但我们可以将RAG方法应用在思维链推理模式中,用来构建复杂的任务。

2、知识库是可以实时更新完善的

你可以将最新的知识库内容提供给大模型,让在每次大模型回答问题前,都实时检索最新的内容。你不需要重新设置大模型。只要更新知识库即可。

这里有个小tips,知识库不仅仅是产品文档、用户手册。你也可以将过去大模型回答问题的记录,将其中常见的问题,优秀的回答,差的回答,经过审核筛选后,也作为知识的一部份。这可以很好地提升回答质量。

3、避免大模型上下文Token长度限制

由于大模型处理内容有token长度限制,虽然随着大模型的升级,它能处理的token数越来越大(例如最新的claude3已经支持20万token),但是我们仍然需要RAG。

原因有三点:

(1)太长的上下文,处理速度会很慢。

(2)上下文知识并不是越多越好,而是要精确,由于大模型的注意力机制,过多的内容也可能会导致大模型被带偏,不能给出准确的答案。

(3)太长的上下文,成本上升巨大。

02

RAG实现

我们再来讲讲如何构建一个基于RAG的大模型应用。

首先,我们要了解RAG的工作流程。

RAG工作流程分为两个主要步骤:

一、构建知识库

二、问答流程

一、构建知识库

构建知识库又分为几个步骤:

内容解析->内容分片->内容Embedding->存储

1、内容解析

内容解析是将不同格式的文档,例如txt,html,word,excel,pdf,markdown 等格式的文件,提取出文本内容(其实也可以是音频、图像,这里方便介绍就以文本举例)。有许多开源工具,均提供了这些能力。

需要注意的是,尽可能地让这些数据解析后的格式更规范,以保证后续提供给大模型的内容质量更好。

2、内容分片

以上解析出来的内容,可能有是很长的篇幅。我们需要将它们切片成小的片段。这些片段就是我们后续要提供给大模型的知识。所以在内容分片时,尽可能让切片内容完整、独立。

简单的方法,一般可以设置一个最大片段字符长度。不超过字符长度的章节段落进行切分。如果知识篇幅不大,也一可以一篇文档一个分片。

3、Embedding

Embedding翻译成中文是嵌入,这个可能有的朋友不太理解。

我们知道一段文字,哪怕是一个词,它包含的信息都是非常非富的,并且不词与词之间,都有关联关系,比如说狗、dog、gou、旺财、二哈,这些词它们的意思是很接近的。但是数据库能存储的信息又是非常有限的。

Embedding通俗地理解就是将信息从非常高的维度,压缩映射成一个有限维度的向量。将一段任意长度的文本,Embedding处理后,都会得到一个多维的向量。例如这样:

[-0.01605728454887867, -0.008948222734034061, -0.015024525113403797, -0.02007514238357544, … -0.0011304783402010798]

我们以一个简单的例子来看:下图是一个三维的空间。

二哈、旺财、dog,狗,猫这几个词被映射到这个空间的某个位置。它们位置距离,就可以表示它们的相关性。位置可以用一个3维向量来表示。

维度越多,能表示的信息就越丰富,充足的语料训练,也能让Embedding 的模型结果更准确。

Embedding我们不是一定只能用大模型的来做,普通的算法也可以做Embedding,但是大模型的Embedding效果会更好。因为它训练的语料充足,维度更多。

OpenAI的Embedding 模型 text-embedding-ada-002 有 1536个维度。

这样两段不同的文本内容,可以映射成二个1536维的向量。

4、存储向量

我们将所有文本内容片段,用Embedding处理好后,可以存储在向量数据库中。因为后续需要在向量数据库中检索数据。

向量数据库比较常用的可以考虑:pgvector(PostgreSQL 的开源扩展),Elasticsearch,Chroma等。这里不作具体优劣对比。

在向量数据库里我们可以存储一些信息,例如:

文档ID、文档内容、章节索引、段落索引、Embedding向量。

存储的文档元信息,可以尽可能丰富一些,因为如果后续要优化,可以对检索的内容进行过滤。

这样,我们就完成了知识库的初始化构建。

二、问答流程

问答流程又分为几个步骤:

用户提问->问题Embedding->检索相关知识->封装Prompt->大模型回答

用户提问与大模型回答是最基础的流程。

在这中间,RAG做了几件事:

1、问题Embedding

在接到用户的提问后,我们先将用户的问题,也进行Embedding处理,得到一个问题的向量值。

这个向量值,就包含了这个问题的信息,我们通过向量值的比较计算,就能找到与它相关的知识。

2、检索相关知识

将上一步得到的问题向量值,在向量数据库中检索,得到相关的内容片段。这些片段就是我们要提供给大模型的参考知识。

在检索时,我们可以指定返回的结果数,相似度阈值。例如返回相似度最高,且相似度大于0.3的3段内容。

3、封装Prompt

将上一步检索出来的3段内容,与用户问题,组成新的查询prompt,提交给大模型。这样大模型就可以参考我们检索出来的文档内容进行回答。

以上的过程,有很多优化的技巧,需要结合应用场景、数据进行详细的考虑和设计。优化的目的,是为了让大模型的回答更准确。

我总结了几种优化思路:

  1. 在对用户问题进行Embedding前,对问题进行补充完善。避免用户问题太过简单、或者有明显错误。

  2. 也可以考虑将用户问题,进行主题关键词抽取,或者使用知识图谱等进行初步的信息识别。这么做的目的是,避免用户的问题,信息太多太杂,导致检索出来的相关文档,与用户提问意图关联不大。也就是对用户问题进行简化。

  3. 在检索文档时,可以增加一些过滤条件,例如指定章节、关键词包含、日期筛选、相似度阈值等,以使检索出来的内容更准确。

  4. 对检索结果,也可考虑将相似度,与文档自身的权重进行综合加权。使提供给大模型的内容资料是最优的。

  5. 优化prompt,可以让大模型更好的学习参考内容和回答。这点应该是优化时首先考虑的,也是最低成本的优化方法。

  6. 如果有条件可以对大模型的生成内容进行监督,如果不符合预定的规则,则重新生成或者返回其它特定的内容。

03

RAG产品案例

RAG方法已经普遍被应用在各种AI产品中了。我们可以看几个产品案例。大家可以根据这些案例,来思考如何落地AI应用。

1、微软Copilot

微软Copilot是结合了BING搜索引擎的AI工具,用户提问后,它会根据搜索引擎的结果,进行总结回答。

对RAG来说,Embedding其实也不是绝对必要的,它的目的是为了更好地检索知识。搜索引擎本身也是检索知识,当然搜索引擎中也广泛地应用了Embedding技术。所以重要的是理解产品的逻辑,根据实际的需求来考虑如何设计产品。

2、字节Coze

字节的Coze产品,也提供了RAG的能力,允许用户上传自己的知识文档。自动化构建你的专属AI应用。

Coze的使用门槛非常低,免费,不需要乱七八糟的上网方式,非技术人员也可以用,人人都可以创建自己的AI助理。

3、Langchain-ChatChat

LangChain是一个开源LLM框架,包含了丰富的组件,例如数据处理,Embedding处理和向量存储、LLM终端等。

Langchain-ChatChat是基于LangChain开发的应用,可以集成开源大模型,例如ChatGLM(清华开源大模型),Qwen(阿里千问开源大模型)等。

它的优势:

(1)可以本地化部署,这样可以保护企业的数据安全,完全运行在企业内部私有环境。

(2)开源软件可以自定义扩展

(3)支持知识库管理等功能,开箱即用。

4、ChatPDF

ChatPDF,以及它有很多类似的工具。可以允许用户上传PDF文件,让大模型根据文件回答问题。

这类产品在早期chatgpt3.5版本时非常火。但后来chatgpt4提供用户上传文档能力后,有所被替代。这其实也是一个趋势,有许多AI应用短期很火,是因为它借助AI能力满足了一部份人的需求,而底层AI公司,现阶段主要在底层模型能力上发力,应用端则开放API,让生态自由发展。但现在AI应用的更新迭代丰常快,可能AI一次升级,许多AI应用产品就被替代了。做AI应用的创业团队,都需要考虑,尽可能的轻量、快速迭代。

5、Video Insights

Video Insights是一款Chatgpt的插件,允许用户提供一段视频(Youtube视频链接),它可以对YouTube视频进行转录、总结和聊天。

它的原理是先获取Youtube的视频字幕,然后交给Chatgpt作为参考内容,进行总结和对话。

如何转行/入门AI产品经理 ?

🤔越来越多的人开始转行AI产品经理,毕竟大行情不是太好,对于刚毕业的研究生,想转行的互联网人,AI产品经理,确实是一个不错的方向,我在大厂做了多年的AI产品经理,还是想给大家一些经验和方向⏩

🔥AIGC在行业大火,AI产品经理到底要学哪些内容,和算法工程师有哪些区别,转行AI产品经理要学哪些东西,以下是整个学习思路和方向👇

1️⃣AI产品经理全局学习
2️⃣python系统学习
3️⃣机器学习&深度学习
4️⃣热门AI产品竞品分析
5️⃣AI产品设计学习
6️⃣AI产品0-1实操项目经验
7️⃣AI产品求职&面试

💎以上7点,看起来简单,内部内容其实很多,每一个篇章,展开都有夯实且丰富的内容,需要深度学习。

在这里插入图片描述

👉AI产品经理大模型视频和书籍PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

👉获取方式:

😝文章篇幅有限,详细资料有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

  • 25
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值