一. RAG 是什么?
RAG = Retrieval(检索)+ Augmented(增强)+ Generation(生成)

二. RAG 的作用

三. RAG 的好处

四.RAG 的完整工作流程(核心知识点)

这张图把之前那段纯文本流程拆成了两个清晰的区域:
- 上半区(蓝色 · 离线构建 Indexing) :文档准备 → 切片 → 向量化 → 存入向量库。这是在离线状态下提前一次性做好的工作,把你的资料变成可检索的向量。
- 下半区(绿色 · 在线问答 Query) :用户提问 → 去向量库检索相关片段 → 组装成 Prompt → 大模型生成回答。这是每次用户提问时实时走的通路。
- 虚线箭头表示"检索"这一步要去查上半区已经建好的向量库
- 底部汇总了 RAG 的五大核心价值: 减少幻觉,接入私有文档,知识实时更新,可溯源引用,成本低。
在每一个步骤下面都有具体的api如下:
| 环节 | 技术选型(图中已标注) |
|---|---|
| 文档准备 | PyPDFLoader / WebBaseLoader / UnstructuredLoader |
| 切片 | RecursiveCharacterTextSplitter(按语义边界切,500字/段+重叠50字) |
| 向量化 | OpenAIEmbeddings + text-embedding-v3(或 bge-large-zh) |
| 存储 | FAISS(本地)/ Chroma / Milvus / Pinecone / Qdrant |
| 检索 | similarity_search + MMR / Rerank |
| Prompt 组装 | ChatPromptTemplate(System + Context + Question) |
| 生成 | ChatOpenAI(可接 qwen-plus / gpt-4o) |
| 进阶能力 | 一句话作用 |
|---|---|
| Rerank 重排序 | 向量粗筛 20 条 → 精排模型挑最准的 3 条,效果提升巨大 |
| HyDE | 先让 LLM 假设一个回答,用"假设回答"去检索,比原问题更准 |
| Query Rewriting | 把口语化问题改写成更适合检索的查询,多轮可拆子问题 |
| Hybrid Search | 向量搜索 + BM25 关键词结合,召回更全 |
| GraphRAG | 建知识图谱,适合复杂关系推理(微软开源) |
| Agentic RAG | Agent 自主决定何时检索、检索什么,可多轮追问补全 |
总结:

五.使用案例
通用文本向量模型可将文本数据转换为数值向量,用于语义搜索、推荐、聚类、分类等下游任务。
