Post

RAG 学习笔记

RAG 学习笔记

架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
┌────────────┐        ┌────────────┐
│  用户问题   |             文档
└─────┬──────┘        └─────┬──────┘
      ↓                     ↓
┌──────────────┐      ┌──────────────┐
│ Query处理     │         切割/向量化
└─────┬────────┘      └─────┬────────┘
      ↓                     ↓
┌──────────────┐      ┌──────────────┐
│ 向量检索      │   <- |  向量数据库   |
└─────┬────────┘      └──────────────┘
      ↓
┌──────────────┐
│ Rerank排序    │
└─────┬────────┘
      ↓
┌──────────────┐
│ Prompt构造    │
└─────┬────────┘
      ↓
┌──────────────┐
│   LLM生成     │
└──────────────┘

如何降低幻觉?

  • Prompt 加限制
  • 加引用机制
  • 上 rerank
  • 加拒答机制
  • 上评估(RAGAS)

  • 优化 chunk

如何提高召回率?

召回准确率:在大量信息中,找出真正有用信息的准确率

召回发生在上下文构建阶段,目的是为丰富 prompt 额外信息

  • Query Rewrite:重新用户输入
  • Multi-Query Retrieval:多个 query 检索
  • Hybrid Search:混合检索,向量数据库 + 全文匹配(ES)
  • Embedding 优化

RAGAS指标对比

指标阶段关注点典型问题
忠实度(Faithfulness)生成阶段回答 vs 检索内容幻觉
相关性(Answer Relevancy)生成阶段回答 vs 问题答非所问
召回(Context Recall)检索阶段检索是否全面漏信息
准确率(Context Precision)检索阶段检索是否干净噪声多
This post is licensed under CC BY 4.0 by the author.