RAG学习总结

What it is ?

Retrieval Augmented Generation 检索增强生成
一种将大模型与额外数据源相结合的方法,通过检索的方式获取与问题相关的信息,以此提升模型生成的生成效果。

How it works?

从额外的知识库检索与问题query相关的信息,将检索的结果与原提示词prompt共同传递给大模型,利用其上下文学习in-context learning能力让LLM生成更好、更具事实性的结果output

  • 构建知识库
    • 格式转换
    • 文本切分
      • fixed-size
      • variable-size chunking strategy
        天然的切分: 如社交媒体、产品描述
        分隔符切分
    • 数据清洗
      extract, clean, format
  • 检索
    • 向量检索
      embedding model
      vector database
    • 词法检索
      关键词检索

      adopting keyword-based search allows us to perform clever tricks like promoting documents with important keywords, excluding documents with negative keywords, or even augmenting documents with synthetically-generated data for better matching

Why it is useful?

  • 直接注入可靠 (correct, specific, and up-to-date) 的相关信息,利用了大模型的上下文学习能力
  • 应对大模型的如下问题:
    幻觉问题(hallucination)、截至日期问题(knowledge cutoffs)、专有数据问题(specialized domains、proprietary data)
  • 易于实现成本低、性能提升

评估

  • retrieval system评估: 获取用户反馈,然后使用传统的检索指标: DGC、 nDGC
  • generation component评估: RAGAS 、LLM as a judge

RAGAS:

Retrieval Augmented Generation Assessment , 在无人工标注数据集或参考答案的情况下评估复杂的RAG流程

  • 定位相关文档的能力 :context relevance --> 让LLM判断context句子与问题是否相关
  • 利用context的能力: faithfulness --> 先引导LLM从回答中抽取陈述, 然后引导LLM判断该陈述能否从context中推断出
  • 产生高质量的输出: answer relavance --> 引导LLM根据回答生成潜在的问题,计算它与真实问题的相似度

质量保证:

  • 检索方面:
    使用混合检索;
    纯向量检索倾向于包含假正例(false positives),可能包含噪音数据
    基于关键词的检索允许使用一些小技巧来提升效果,比如
    使用重要的关键词扩充文档
    排除包含 负关键字(negative keywords)的文档
    使用合成数据(synthetically-generated data )增强文档
  • 评估方面:
    以引用的形式向用户展示用于生成的context,引导用户进行二元反馈

进一步提升

  • 数据方面:
    • 内容:
      抽取、清理、格式化 extract, clean, and format
    • 步骤:
      大量观察数据
      检查是否存在不需要的内容
      向数据处理流程中添加更改来处理发现的问题
    • 新方法:
      使用大模型自动构建数据清理流程
  • 检索方面:
    embedding模型微调
    添加ranking: cross_encoder \ ColBert

生成方面:

  • 利用高质量数据微调大模型
  • 提示词策略:
    • 添加选择组件,以最大化上下文多样性
      应用于检索流程之后!
      步骤:
      使用检索获取相对较大的context候选集
      从候选集中选择与问题最相关的
      从剩余候选集中选择与已选择文档最不相似的
    • 优化context的结构(大模型获取的位于context中间信息时性能降低)
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值