本文深入解析了提示工程、RAG和微调三种大模型应用模式,对比了它们的使用场景和优劣。文章详细阐述了RAG系统的构建流程,包括文档分块、向量化、向量存储、查询改写、向量检索、重排序、Prompt构建和LLM生成等关键步骤。此外,还探讨了Embedding模型的选择、RAG系统调试方法、模糊问题处理、混合检索技术、重排序策略、知识库维护与迭代、系统评估方法以及安全性保障等内容,为读者提供了全面且实用的RAG系统构建与优化指南。


1、提示工程VS RAG VS 微调,什么时候使用?

2、什么场景下应该选择RAG 而不是Fine-tuning?

  • 知识需要频繁更新:如产品文档、FAQ,用RAG 只需更新向量库;
  • 需要引用来源:如客服系统需要告诉用户答案来自哪个文档;
  • 数据量有限:Fine-tuning 需要大量高质量数据,RAG 门槛更低;
  • 需要实时信息:新闻、股票等实时数据无法通过训练固化到模型;
  • 预算有限:RAG 的实现成本远低于微调。

三种模式不是互斥的,实际项目中常常组合使用。 比如:RAG + Fine-tuning (微调模型,让它可以更好地利用检索结果) 或者RAG + Prompt Engineering (优化检索后的提示词模板)。

3、文档分块策略有哪些?

文档分块(Chunking) 是RAG 系统的基础环节,分块质量直接影响检索效果。

4、项目中用什么分块策略?为什么选它?

如果项目知识库是产品FQA,在项目中使用滑动窗口+ 句子边界的混合策略:

  • 首先按句子边界切分,保证每个块语义完整;
  • 然后使用滑动窗口,设置20%重叠(window=512, step=100) ;
  • 重叠确保跨块的信息不会丢失。

选择原因:

  • 知识库是产品FAQ,段落之间有上下文依赖;
  • 用户问题可能涉及多个连续段落的信息;
  • 20%重叠在存储开销和检索质量间取得平衡;

分块大小经验值:

  • 一般推荐256-1024 tokens;
  • 小块: 检索精度高,但可能丢失上下文;
  • 大块: 上下文完整,但噪声多,检索精度下降;
  • 常见配置: chunk_size=512, overlap=50-100。

5、RAG系统的流程

RAG的步骤:

Indexing => 如何更好地把知识存起来。

Retrieval => 如何在大量的知识中,找到一小部分有用的,给到模型参考。

Generation => 如何结合用户的提问和检索到的知识,让模型生成有用的答案。

这三个步骤虽然看似简单,但在RAG应用从构建到落地实施的整个过程中,涉及较多复杂的工作内容。

6、RAG系统详细的步骤都有哪些?

关键步骤:

Step1,文档解析

将PDF、Word、HTML等格式转换为纯文本。工具: PyPDF2, docx, BeautifulSoup。注意处理表格、图片等特 殊内容。

Step2,文档分块(Chunking)

将长文档切分为适合检索的小块。需要平衡块大小、上下文完整性、检索精度。

Step3,向量化(Embedding)

使用Embedding模型将文本块转换为向量。常用模型: text-embedding-v4等。

Step4,向量存储

将向量存入向量数据库。FAISS (本地)、Milvus (分布式)、 Pinecone (云服务)。同时存储元数据用于过滤和展示。

Step5,Query 改写 (可选)

处理模糊问题、补充上下文。使用LLM改写或扩展用户问题,提高检索召回率。

Step6,向量检索

计算Query向量与文档块向量的相似度,返回Top-K结果。距离度量: 余弦相似度、L2距离、内积。

Step7,重排序(Rerank)

使用Cross-Encoder对Top-K结果精排,选出最相关的Top N。显著提升最终效果。

Step8,Prompt 构建

将检索到的文档块拼接到Prompt中,作为LLM的上下文。注意控制总长度,避免超过模型上下文窗口。

Step9,LLM 生成

LLM基于Prompt生成最终答案。可以要求模型引用来源,提高可信度。

7、Embedding模型有哪些选择?

8、Embedding模型选择都有哪些考虑因素?

语言支持

  • 中文场景:BGE、text-embedding-v4
  • 英文场景:OpenAI系列
  • 多语言:bge-m3

部署方式

  • API调用:OpenAI、通义
  • 私有化部署:BGE、M3E
  • 混合:都支持

性能指标

  • 延迟:本地部署< API调用
  • 吞吐:取决于硬件/并发
  • 精度:需要在自己数据上测试

成本考量

  • API按量付费,初期低
  • 私有部署需GPU,长期划算
  • 维度影响存储成本

9、如果RAG 效果很差,可以从哪几个方面去调试?

会按照RAG 的流程,逐步排查问题:

Step1,检索阶段调试

Step2,生成阶段调试

Step3,调试工具与方法

# 调试检索效果的方法
def debug_retrieval(query, index, metadata, k=10):
"""打印检索详情,帮助调试"""
query_vec= get_embedding(query)
distances, indices = index.search(
np.array([query_vec]).astype('float32'), k
)
print(f"Query: {query}")
print("-" * 80)
for rank, (idx, dist) in enumerate(zip(indices[0],
distances[0])):
if idx== -1:
continue
doc = metadata[idx]
similarity = 1 / (1 + dist)  # L2距离转相似度
print(f"Rank{rank+1} | 相似度: {similarity:.4f} | 距离: {dist:.4f}")
print(f"来源: {doc.get('source', 'N/A')}")
print(f"内容: {doc['text'][:100]}...")
print("-" * 40)
return indices, distances
  • 先用debug_retrieval检查检索结果是否正确;
  • 如果检索结果好但生成差,优化Prompt;
  • 如果检索结果差,从分块/Embedding/Query改写入手;
  • 记录Bad Case,建立评估数据集持续改进。

10、当用户的问题很模糊,或者依赖上一轮对话时,RAG 怎么优化?

Step1,问题类型分析

Step2,Query 改写技术

Step3,多轮对话RAG 架构

实践建议:

  • 对话历史不宜过长,一般保留最近3-5轮;
  • 可以用LLM判断是否需要改写,避免每次都改写;
  • 改写模型可以用较小的模型,降低延迟;
  • 记录改写前后的Query,便于调试。

11、只用向量检索吗?它有什么缺点?什么是混合检索?

向量检索的缺点:

  • 对精确关键词匹配不敏感(如产品型号、人名) ;
  • 可能漏掉字面完全匹配的内容;
  • Embedding模型对领域专有词理解可能不准。

混合检索:结合向量检索和关键词检索(BM25),取长补短。

12、检索召回了20 条文档,怎么确保喂给LLM 的是最好的3条?

使用Rerank (重排序) 技术,对初步召回的结果进行精排。Rerank流程如下:

Bi-Encoder (向量检索) :Query和Document分别编码,计算向量相似度。

  • 速度快,适合大规模召回;
  • Query和Doc独立编码,交互信息少;
  • 精度相对较低。

Cross-Encoder (Rerank) :Query和Document拼接后一起编码,直接输出相关性分数。

  • 精度高,能捕捉细粒度交互;
  • 速度慢,只能处理少量候选;
  • 适合对Top-K精排。

Rerank 实践建议:

  • 召回数量(recall_k) 一般设置为最终需要数量的5-10倍;
  • Rerank模型选择:中文推荐bge-reranker,多语言用Cohere;
  • Rerank会增加延迟,需要在效果和速度间权衡;
  • 可以设置分数阈值,过滤低相关性结果。

13、系统上线后,怎么维护和迭代知识库?

知识库维护是一个持续的过程,包括以下几个方面:

14、维护知识库能否通过Agent RL

Agent RL的核心思路:让Agent从环境反馈中学习改进策略。 关键是定义好:状态、动作、奖励。

对于企业场景,推荐方案A + 选择性微调的组合。

维护最佳实践:

  • 定期审核:每周/月审核Bad Case,识别系统性问题;
  • 增量更新:避免全量重建,使用增量方式更新索引;
  • 版本控制:保留历史版本索引,支持快速回滚;
  • 文档生命周期:设置过期时间,自动标记/清理过期内容;
  • 监控告警:检索空结果率、用户负反馈率等指标超阈值时告警。

15、如何评估一个RAG 系统的好坏?

RAG系统的评估需要从检索质量和生成质量两个维度进行:

16、什么是RAGAS?

RAGAS (Retrieval Augmented Generation Assessment) 是一个专门用于评估 RAG 系统的开源框架,由Exploding Gradients 团队开发。

核心特点:

  • 无需人工标注: 使用LLM 自动评估,大幅降低评估成本;
  • 端到端评估: 同时评估检索质量和生成质量;
  • 指标全面: 提供Faithfulness、Answer Relevancy、Context Precision 等核心指标;
  • 易于集成: 与LangChain、LlamaIndex 等主流框架无缝对接。

安装: pip install ragas

GitHub: https://github.com/explodinggradients/ragas

生成质量指标(RAGAS框架)

  • Faithfulness (忠实度)

答案是否基于检索到的内容,而非幻觉。评估方法: 用LLM判断答案中的每个声明是否能在上下文中找到支撑。

  • Answer Relevance (答案相关性)

答案是否回答了用户的问题。评估方法: 用LLM根据答案反向生成问题,与原问题比较相似度。

  • Context Relevance (上下文相关性)

检索到的内容是否与问题相关。评估方法: 计算上下文中与问题相关的句子比例。

  • Context Recall (上下文召回)

检索是否召回了回答问题所需的所有信息。评估方法: 对比标准答案,检查所需信息是否被检索到。

评估建议:

  • 构建包含50-100个样本的评估集,覆盖各类问题;
  • 定期运行评估,监控系统质量变化;
  • 重点关注Faithfulness,这是RAG的核心价值;
  • 结合定量指标和人工抽检。

17、什么是GraphRAG,与传统RAG的区别?

GraphRAG 是微软提出的增强型RAG架构,通过构建知识图谱来增强检索和推理能力。

GraphRAG 使用建议:

  • 构建成本高,适合高价值、复杂的知识库;
  • 对于简单FAQ,传统RAG已足够;
  • 可以与传统RAG结合: 简单问题用传统RAG,复杂问题用GraphRAG。

18、GraphRAG 中的核心概念都是什么?

Entity (实体):从文档中抽取的关键对象。例: 人名、地名、产品名、概念;

Relationship (关系):实体之间的联系。例: “属于”、“制造”、“位于”;

Community (社区):图中紧密相连的实体群组,通过社区检测算法发现;

Community Summary:每个社区的LLM生成摘要,用于回答全局性问题。

19、GraphRAG 中的两种查询模式都是什么?

  • Local Search (局部搜索)

适合:“XXX公司的CEO是谁?” 这类精确问题。

流程:Query -> 找到相关实体-> 沿关系扩展-> 收集上下文-> 生成答案。

  • Global Search (全局搜索)

适合:“这篇文档的主要观点是什么?” 这类总结性问题。

流程:Query -> 遍历社区摘要-> Map-Reduce聚合-> 生成综合答案。

20、RAG 和Fine-tuning 怎么选?

选RAG:知识更新频繁、需要引用来源、数据量小、预算有限。

选Fine-tuning:需要改变模型风格/格式、领域术语复杂、追求推理速度。

组合使用:先微调让模型更好地遵循检索结果,再用RAG注入知识。

21、如何处理知识库中的矛盾信息?

  • 为文档添加时间戳元数据,优先使用最新的;
  • 为文档添加权威度标签,优先使用官方来源;
  • 检索时同时返回多个来源,让LLM综合判断;
  • 在Prompt中要求LLM指出信息冲突。

22、RAG 系统的延迟优化有哪些方法?

  • 向量检索:使用ANN索引(HNSW, IVF),降低精确度换速度;
  • Embedding:使用本地小模型,或异步预计算;
  • Rerank:减少候选数量,或使用蒸馏小模型;
  • LLM:使用流式输出,选择更快的模型;
  • 缓存:相似Query复用检索结果。

23、如何处理超长文档?

  • 分层索引:先检索摘要,再检索详细段落;
  • 滑动窗口:保留上下文的分块策略;
  • 长上下文模型:使用支持128K+的模型(如Qwen, Claude);
  • 迭代检索:先检索一部分,根据LLM判断是否需要更多,

24、如何防止LLM幻觉?

  • Prompt 明确指令:“仅基于提供的信息回答,不确定时说不知道”;
  • 要求引用:让LLM标注答案来源于哪个文档;
  • 降低temperature:减少随机性;
  • 答案验证:用另一个LLM检查答案是否有上下文支撑;
  • Rerank 精选:确保上下文高度相关;

25、多模态RAG 怎么做?

  • 图片:使用多模态Embedding模型(如CLIP, 通义VL) 将图片向量化;
  • 表格:转换为Markdown或JSON,保持结构信息;
  • PDF:OCR提取文字+ 图表单独处理;
  • 视频:抽帧+ 语音转文字,分别建索引;
  • 统一使用多模态Embedding,实现跨模态检索。

26、如何保证RAG 系统的安全性?

  • Prompt 注入防护:过滤用户输入中的指令;
  • 权限控制:根据用户角色过滤可检索的文档;
  • 敏感信息处理:脱敏后入库,或标记敏感级别;
  • 输出过滤:检查生成内容是否包含敏感信息;
  • 审计日志:记录所有查询和检索内容。

最后

对于正在迷茫择业、想转行提升,或是刚入门的程序员、编程小白来说,有一个问题几乎人人都在问:未来10年,什么领域的职业发展潜力最大?

答案只有一个:人工智能(尤其是大模型方向)

当下,人工智能行业正处于爆发式增长期,其中大模型相关岗位更是供不应求,薪资待遇直接拉满——字节跳动作为AI领域的头部玩家,给硕士毕业的优质AI人才(含大模型相关方向)开出的月基础工资高达5万—6万元;即便是非“人才计划”的普通应聘者,月基础工资也能稳定在4万元左右

再看阿里、腾讯两大互联网大厂,非“人才计划”的AI相关岗位应聘者,月基础工资也约有3万元,远超其他行业同资历岗位的薪资水平,对于程序员、小白来说,无疑是绝佳的转型和提升赛道。
图片
图片
对于想入局大模型、抢占未来10年行业红利的程序员和小白来说,现在正是最好的学习时机:行业缺口大、大厂需求旺、薪资天花板高,只要找准学习方向,稳步提升技能,就能轻松摆脱“低薪困境”,抓住AI时代的职业机遇。

如果你还不知道从何开始,我自己整理一套全网最全最细的大模型零基础教程,我也是一路自学走过来的,很清楚小白前期学习的痛楚,你要是没有方向还没有好的资源,根本学不到东西!

下面是我整理的大模型学习资源,希望能帮到你。

图片

👇👇扫码免费领取全部内容👇👇

在这里插入图片描述

最后

1、大模型学习路线

img

2、从0到进阶大模型学习视频教程

从入门到进阶这里都有,跟着老师学习事半功倍。

在这里插入图片描述

3、 入门必看大模型学习书籍&文档.pdf(书面上的技术书籍确实太多了,这些是我精选出来的,还有很多不在图里)

在这里插入图片描述

4、 AI大模型最新行业报告

2026最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

img

5、面试试题/经验

img

【大厂 AI 岗位面经分享(107 道)】

img

【AI 大模型面试真题(102 道)】

img

【LLMs 面试真题(97 道)】

img

6、大模型项目实战&配套源码

img

适用人群

在这里插入图片描述

四阶段学习规划(共90天,可落地执行)
第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型

  • 带你了解全球大模型

  • 使用国产大模型服务

  • 搭建 OpenAI 代理

  • 热身:基于阿里云 PAI 部署 Stable Diffusion

  • 在本地计算机运行大模型

  • 大模型的私有化部署

  • 基于 vLLM 部署大模型

  • 案例:如何优雅地在阿里云私有部署开源大模型

  • 部署一套开源 LLM 项目

  • 内容安全

  • 互联网信息服务算法备案

  • 👇👇扫码免费领取全部内容👇👇

    在这里插入图片描述

3、这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
在这里插入图片描述
在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐