微信扫码
与创始人交个朋友
我要投稿
RAG
(Retrieval-Augmented Generation, 检索增强生成)是一种将信息检索与生成模型结合的方法,也是企业落地大模型应用最常见的方式。
RAG
接受用户输入,从一个大型文档集合中检索相关信息,然后将用户问题与检索信息发送到大模型,大模型生成最终答案。
RAG
可以借助外部知识源,从而提升回答的准确性和信息丰富度,相当于为LLM配置了一个书架,虽然有些知识不知道,但可以参考相关书籍从而获取不错的答案。可以用来做文档问答系统、客服系统、企业内私有数据的问答系统。
基础RAG
分为三个阶段Indexing
、Retrieval
与Generation
:
Embedding
模型将数据块向量化,存放在VectorDB
(向量数据库)中VectorDB
中匹配相关内容RAG
应用根据复杂程度可分为三类:
Naive RAG
遵循传统的RAG
索引、检索和生成过程。简而言之,用户输入用于查询相关文档,然后这些文档与提示相结合并传递给模型以生成最终响应。如果应用程序涉及多轮对话交互,则可以将对话历史集成到提示中。
Naive RAG
实现简单但有一些局限性,例如精度低(没有检索到相关片段)、召回率低(未能检索到所有相关片段)。
Advanced RAG
在Naive RAG
的基础上,通过一些技术手段提高了检索质量,涉及优化预检索、检索和后检索过程。
Modular RAG
整合了Advanced RAG
的各种模块和技术,以改善整体的RAG
系统。包括搜索、路由、内存、融合等模块,朴素RAG与高级RAG只是其中的特例。
目前比较流行的RAG
框架有LlamaIndex
与LangChain
,可以根据使用场景选择合适的框架,当然这些框架也在不断发展。
LlamaIndex
是一个构建大模型应用的数据框架,从名字可以看出专注于大模型应用数据处理,比如加载、索引、查询等。LangChain
是一个通用的大模型应用开发框架,使用模块化设计方便开发人员构建大模型应用,比如问答系统、智能客服、智能代理等。RAG
应用的流程较长,每一步都会影响到最终效果,那么怎么知道我的RAG
应用哪里需要优化呢?这就需要用到RAG
评估。
通过设置一些指标,常见的如Correctness(答案准确性)、Answer Relevancy(答案相关性)、Faithfulness(忠诚度)、Context Precision(上下文精度)等,来评估应用各个阶段的表现情况,可以人工打分也可以借助LLM来实现,根据打分结果来做对应的优化。
本文总结了RAG
应用的相关内容,包括原理、开发范式、常用框架以及评估等。当然RAG
应用还面临了不少挑战,随着LLM的快速发展,RAG
必定也会推陈出新。
❝Explore more in https://qingwave.github.io
❞
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-10-08
优化文本嵌入,大幅提升RAG检索速度
2024-10-08
提升RAG应用性能:使用智谱AI的GLM-4和Embedding-3模型优化文档检索
2024-10-08
Retrieval-Augmented Generation (RAG 检索增强生成) 创新切块策略
2024-10-08
使用小尺寸大模型和 Dify 清洗数据:Qwen 2.5 7B
2024-10-06
Anthropic RAG: 上下文检索技术
2024-10-06
AI检索黑马获2000万美元融资,推进RAG系统精准化,破解AI幻觉难题
2024-10-06
OpenRAG:全面增强RAG推理,超越Self-RAG、RAG 2.0、Command R+
2024-10-06
如何引入chunk层级优化RAG性能:从树结构RAPTOR到GEM-RAG加权图方案解读
2024-07-18
2024-07-09
2024-07-09
2024-07-08
2024-07-09
2024-06-20
2024-07-07
2024-05-05
2024-07-07
2024-05-19
2024-09-30
2024-09-26
2024-09-26
2024-09-20
2024-09-16
2024-09-12
2024-09-11
2024-09-10