InternLM 基础岛 - LlamaIndex RAG

主讲人应该是组里有写过 RAG 的 survey,之后拿过来介绍整个链条了

RAG 介绍

RAG 有效支持了知识密集型任务。通过 RAG,bot 可以缓解 LLM 输出时生成幻觉、存在过时知识等问题。

一点小思考:RAG 侧重于读取 up-to-date, non-fake 的知识,agent 则侧重于调用工具。

RAG 工作流程

将 docs 分成 chunk 并编码成向量,然后存储在 vector db 中。需要 generate 的时候,从 vector db 读取相似的 chunk 即读到的相关 docs

 Vector-DB

几个关键点,长度固定;相似度检索(常用内积,也有别的);使用贴近语料源的模型做 embedding(因为语言不通)。

modern RAG

RAG 最早是 2020 由 Meta 发表的工作。近年来,在最简单的 RAG 流程基础上,提出了 advanced RAG 和更复杂的 Modular RAG. 

Advance RAG 在原本的 Retrieve 步骤前后增加了 pre/post retrieve 过程。在 pre-retrieve 过程提前进行检索;在 post-retrieve 过程进行重拍、混合、提取摘要等工作。模块化 RAG 用模块化的行为,将不同工程的内容分开,以应对多模态任务和连续对话系统的需求。

RAG的优化

具体可以查看有关论文

RAG vs. 微调

长尾知识问题:指的是那些不太热门或不太常见的知识、信息或话题。出现频率低,领域小众、专业深度过大。

这个概念来源于克里斯·安德森(Chris Anderson)在他的著作《长尾:为什么小众市场会赢得未来》中提出的理论。

RAG 依赖于外部知识库的质量,实时度高、遵循 garbage in garbage out 原则。另外一个隐蔽的限制点是 RAG 依赖大模型的能力,7B 质量大概率比 1.8B 好。Fine-tune 可以针对专业任务进行优化,提高模型在专业领域的适配度

下图从模型适配度和外部知识两个维度来介绍一个完整项目中,prompt engineer、RAG、FT 的配合。Prompt Engineer 是最初级的操作手段,简单快速。然后 RAG 和 FT 各有侧重点。

评估框架和基准测试

整体上,RAG 从两个部分进行评估,检索质量和生成质量。

RAG 总结

实验部分

基于 LlamaIndex 框架搭建 RAG 应用。

LlamaIndex 框架

LlamaIndex 是一个开源的索引和搜索库,提供高效、可扩展的文本索引和检索功能。

框架提供了数据加载、计算 embedding 索引、向量化存储、查询、LLM 生成、评估的框架,用户可以方便地建立应用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值