【第四章:大模型(LLM)】11.LLM + RAG:构建私有领域专家-(1)Rag原理介绍: Prompt Engineering /RAG pipeline/ Embedding Vectors/
第四章:大模型(LLM)
第十一部分:LLM + RAG:构建私有领域专家
第一节:Rag原理介绍: Prompt Engineering /RAG pipeline/ Embedding Vectors/
1️⃣ 什么是 RAG
RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合 大语言模型(LLM) 与 外部知识库 的方法。
它的核心思路是:
-
LLM 负责生成(语言理解、推理、对话)。
-
知识库负责提供准确的事实信息(领域文档、企业数据、论文、法规)。
-
二者结合:通过 检索 → 增强 → 生成 的流程,让模型不仅依赖训练参数,还能动态调用最新、私有、专业的数据。
优点:
-
不需要对大模型做完全微调(成本低)。
-
保持 LLM 的通用语言能力。
-
可随时更新知识库,解决 知识时效性 与 私有数据 问题。
2️⃣ Prompt Engineering 在 RAG 中的作用
RAG 的 Prompt 设计一般包含以下部分:
-
指令 (Instruction):告诉模型任务是什么,例如“请根据提供的上下文回答问题”。
-
上下文 (Retrieved Context):从知识库中检索到的相关文档片段。
-
用户问题 (Query):用户输入的原始问题。
例子:
你是一个法律顾问,请根据提供的资料回答用户的问题。
资料:{retrieved_context}
用户问题:{query}
请结合资料进行详细解答,如果资料不足,请明确说明。
这样能避免 模型幻觉,引导 LLM 基于外部知识回答。
3️⃣ RAG Pipeline 工作流程
RAG 的典型流程如下:
-
用户输入 Query(例如:“解释合同法第十条”)。
-
Embedding 编码:将用户 Query 转换为向量。
-
向量检索:在知识库中找到最相关的文档片段(Top-k)。
-
构造 Prompt:将检索到的文档拼接到用户问题中,形成增强 Prompt。
-
LLM 生成答案:基于 Prompt 输出最终结果。
流程公式:
Answer = LLM( Prompt(Query + Retrieved Documents) )
4️⃣ Embedding Vectors 在 RAG 中的作用
-
定义:Embedding 是一种将文本映射为向量的表示方法,使得相似文本在向量空间中距离更近。
-
用途:
-
用于 向量检索(找相似文档)。
-
用于 语义搜索(比关键词搜索更智能)。
-
用于 聚类 / 分类(文档主题识别)。
-
常用中文 Embedding 模型:
-
OpenAI text-embedding-3-small/large
-
BGE (BAAI General Embedding) 系列(国内常用)
-
m3e / GTE 等开源中文向量模型
示例:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("BAAI/bge-large-zh")
query = "合同法第十条的内容是什么?"
query_vec = model.encode(query, normalize_embeddings=True)
然后将 query_vec 与向量数据库(如 FAISS、Milvus、Weaviate)中存储的文档向量进行相似度检索。
5️⃣ RAG 与传统 LLM 的区别
| 特性 | 普通 LLM | LLM + RAG |
|---|---|---|
| 知识来源 | 模型参数 | 模型参数 + 外部知识库 |
| 知识更新 | 需重新训练/微调 | 更新知识库即可 |
| 幻觉问题 | 较多 | 显著减少 |
| 私有数据支持 | 不支持 | 支持 |
| 成本 | 高(微调/训练) | 低(仅维护知识库) |
6️⃣ 小结
-
RAG 是 LLM 私有化落地的核心技术。
-
它通过 Prompt Engineering + 向量检索 + 外部知识库,使大模型能快速适应企业/领域需求。
-
Embedding 向量是关键组件,决定了检索效果。
-
RAG 不是替代微调,而是更高效的 增强式方案。
更多推荐

所有评论(0)