61.RAG-RAG存在的问题

内容参考于:图灵AI大模型全栈

RAG它实际上存在一些问题,需要考虑这些问题该怎样解决

RAG的流程

1.加载文件

2.读取文件中的文本

3.分割文本

4.文本向量化

5.存储到向量数据库

6.通过问题检索文档

7.检索完之后,把检索到的文档和问题拼接到一起组成一个新提示词,去问大模型回答问题

在一个论文中说了RAG的七个问题

论文地址:https://arxiv.org/pdf/2401.05856

如下图:论文中的图片,下图里的内容是索引和检索的过程

如下图红框是索引(Index Process)的过程,Documents是我们准备好的文档,Chunker是对文档进行分割,Chunks是分割后的文档,Database表示分割后的文档向量化并存放到向量数据库中,然后它的问题(MissingContent)

第一个就是说我们准备的文档中并没有答案,RAG就是为了解决幻觉和大模型不知道的问题,但是某些问题在我们准备的文档中就是没有答案,这种问题是一定存在的

第二个文档加载的效率和准确性的问题,pdf文档里面有图片、表格、文字信息这就是属于很复杂的文档,我们该如何保证这种复杂文档的加载和准确性,最主要的是保证准确性

第三个我们加载文档后,会对文档进行分割,怎么分割?分割的力度该怎样设置?依据是什么?检索出来的文档分片会不会影响上下文的完整性和Token消耗量

下图红框是检索过程(Query Process),Query是问题、Rewriter是问题重写(有些问题写的不好所以要重写)、NewQuery(重写之后的新问题)、Retriever(通过问题检索文档)、Chunks(检索到分片之后文档,在llamaindex中也就是节点Node)、Reranker(对文档进行重排)、RrankedChunks(重排之后的文档)、Consolidator(融合)、ProcessedChunks(融合之后的文档,也就是整理文档)、Reader(把"问题"和"上下文(文档)"拼在一起,生成提示词,准备问大模型)、Response(去问大模型获得答案)

然后它的问题

Missed Top Ranked:就是说检索出8个文档,排名靠前的文档和问题并不相关,和问题相关的文档可能排在第五、第六这样的

Not in Context:提取出来的上下文和问题无关,就是检索出来的文档和问题的相似度评分很低,我们就非要让它检索出5个文档,它就把不相关的5个文档提取了出来

Wrong Format:大模型返回的内容格式不正确,我原本是要json格式的数据,大模型它给我们返回的是纯文本

Incomplete:答案不完整,大模型根据问题只回答了一部分的答案

Not Extracted:我们给大模型的文档中存在答案,但是大模型没有识别出来,比如检索出10个文档,答案排在第5、第6、第7位置,大模型一般会关注与前面和后面几个,中间的会识别不好

Incorrect Specificity:答案不够详细或过于详细,


相关推荐
IT_陈寒1 小时前
用了Proxy才发现以前的JavaScript白写了
前端·人工智能·后端
甲维斯1 小时前
Claude Opus5手搓“NewAPI Plus”首轮成果!
人工智能
程序猿DD2 小时前
分享两个我每天都在用的 Skill,拖进豆包就能跑,限时领 30 天会员
人工智能
阿里云大数据AI技术2 小时前
Agentic Search 2.0:从单轮对话迈向企业级 AI 搜索自动驾驶Agent
人工智能·elasticsearch·agent
东风破_2 小时前
从 messages 数组到 Memory:大模型到底是怎么“记住”上一轮对话的?
人工智能
AEI2 小时前
四年间大模型的演进历程
人工智能·面试·程序员
狂师3 小时前
阿里开源:skill-up,一款Agent Skill 评测工具!
人工智能·开源·agent
武子康3 小时前
同一套 Agent Runtime,为什么 Web、Headless 和 Python SDK 仍然不是同一个产品
人工智能·llm·agent
天天代码码天天3 小时前
一个纯 C 的 OCR Runtime,又向前走了一步:lw.PPOCR.C preview.5 发布
人工智能
程序员cxuan3 小时前
Claude 官方的学习教程,太强了。
人工智能·后端·程序员