BotOf Tech
返回首页RAG 从入门到精通:10 个难度等级实践教程

RAG 从入门到精通:10 个难度等级实践教程

·1 分钟阅读·

为什么需要分级学习?

RAG 看起来简单——检索 + 生成,但实际工程中有大量细节决定了效果的天壤之别。

10 个难度等级

Level 1: Naive RAG

最基础的实现:切分文档 → 向量化 → 相似度检索 → 拼入 Prompt。

# 伪代码
chunks = split(document, chunk_size=500)
embeddings = embed(chunks)
query_vec = embed(query)
top_k = vector_search(query_vec, embeddings, k=3)
answer = llm(f"Context: {top_k}\nQuestion: {query}")

Level 2: 带 Reranking 的 RAG

初始检索召回 20 条,用 Cross-Encoder 重排序,取 Top 3。

Level 3: Hybrid RAG

BM25 关键词搜索 + 向量搜索混合,用 RRF (Reciprocal Rank Fusion) 合并排名。

Level 4: HyDE RAG

先让 LLM 生成假设性答案,再用假设答案去检索,匹配度更高。

Level 5: Parent Document Retrieval

检索用小 chunk,返回用大 chunk。小粒度匹配,大上下文生成。

Level 6: RAG Fusion

对原始问题生成多个变体查询,分别检索后融合排序。

Level 7: Contextual RAG

Anthropic 提出:给每个 chunk 添加上下文前缀,解释它在文档中的位置。

Level 8: Self-RAG

Agent 自主判断是否需要检索、检索结果是否有用、生成答案是否准确。

Level 9: Corrective RAG (CRAG)

检索后评估相关性,不相关则触发网络搜索作为补充。

Level 10: Agentic RAG

完全自主的 RAG Agent:规划检索策略、迭代优化、多源聚合、自我验证。

来源: @shao__meng 的系统教程