Background

这是学习搭建RAG的前期技术学习路线,包括从工具到模型的全部覆盖,下一篇内容“从零搭建RAG”的先导篇。

1.RAG

RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了信息检索技术与语言生成模型的人工智能技术。该技术通过从外部知识库中检索相关信息,并将其作为提示(Prompt)输入给大型语言模型(LLMs),以增强模型处理知识密集型任务的能力,如问答、文本摘要、内容生成等。RAG模型由Facebook AI Research(FAIR)团队于2020年首次提出,并迅速成为大模型应用中的热门方案。

2.Dify平台

Dify 是一个开源的大语言模型(LLM)应用开发平台,可以快速构建、部署和管理基于大语言模型的智能应用。特点如下:

  • 提示词(Prompt)流程、多模型调用链路
  • 数据处理管道。例如:构建客服机器人时,可直观设计“用户输入→意图识别→知识库查询→生成回复”的完整流程。
  • 支持penAI GPT 系列、Anthropic Claude、企业私有化部署模型......
  • 支持知识库增强、构建向量数据库等
  • API、WEB部署功能健全

3. 知识库建立

3.1 知识分类、范围划分、结构化

在建立知识库前,可以先行画一个知识图谱,从而确保知识库:

      结构固定:根据知识图谱结构确定知识文件组成,保证全覆盖、结构化

      规范知识输入:知识图谱的结构化表示为知识库输入提供了统一规定,使知识录入更准确, 避免数据的不一致和误归档。

      评估知识库完整性:基于知识图谱的结构和关系,评估知识库中知识是否完整,检查是否存在关键实体或关系缺失

      监测知识时效性:跟踪知识图谱中知识的更新情况,监测知识库中知识的时效性

3.2 文件预处理

文件预处理是数据清洗和标准化的步骤,提高数据质量,使其更适合后续分析或机器学习任务。常用的方法:

1.删除停用词和标点符号:去除常见无意义的词(如"的"、"和")及标点,减少噪声。

2.文本标准化:统一大小写、转换全半角字符、简繁转换等,确保文本一致性。

3.分词或分句:对中文进行分词(如使用Jieba),英文按空格或标点分句。

3.3 分段设置

关键参数如下:

分段标识符(Segment ID)用于区分文本的不同分段,通常为数字或字符串。在长文本处理中,标识符帮助跟踪各段落的顺序或归属,尤其在分块检索、多文档处理等场景中起到关键作用。

分段最大长度(Max Segment Length)指单段文本允许的最大字符数或词数。通过限制长度,可避免内存溢出或模型输入超限(如BERT等模型有512token限制)。例如,设置最大长度为256,超出部分会被拆分到下一段。

分段重叠长度(Segment Overlap Length)指相邻分段之间重复的文本长度。重叠部分能保留上下文连贯性,避免关键信息因分段被切断而丢失。例如,设置重叠长度为50,则后一段的前50个字符与前一段的后50个字符相同。

3.3.1 普通分段:通用的文本分块模式,检索和召回的文本块是相同的

3.3.2 父子块分段:字块用于检索,父块用于上下文

3.4  索引方式

3.4.1 普通方式:每个数据块使用10个关键词进行检索,不会消耗任何tokens,但会降低检索准确性

对应的检索方式为:倒排索引。可以选取Top K的文本块进行后续检索增强生成(RAG)

3.4.2 模型方式:调用嵌入模型来处理文档以实现更精确的检索,可以帮助大语言模型生成高质量的回答。

Embedding模型:bge-en-icl 专为英语语境;stella_en_1.5B_v5 包含15亿参数大模型;stella_en_400M_v5 紧凑模型4亿参数;xiaobu-embedding-v2中文排行榜第一。

MTEB(Massive Text Embedding Benchmark)是一个用于评估Embedding模型的综合性基准测试平台。

对应的检索方式为:1.向量检索。每段话都用数学向量进行向量化,通过数学的方式(矩阵乘法)选出与用户语义最接近的段落。Rerank模型,将候选片段根据用户语义再次排序,提供增强生成的文本;Top K参数:选取最接近的文本段,Score参数:设置文本片段筛选的相似度阈值;2.全文检索。索引文档中的所有词汇,从而允许用户查询任意词汇,并返回包含这些词汇的文本片段;3.混合检索,前二者的结合搜索。 

3.5 召回设置

3.5.1 权重设置

  • 原理:通过为不同的检索因素或文档属性分配权重,来调整检索结果的排序。权重设置可以体现不同因素在排序中的重要程度,从而使排序结果更符合实际需求。
  • 常见权重类型:包括权威性权重,即对不同来源的文档赋予不同权重,如年报的权威性可能高于新闻,可赋予年报更高权重;时效性因子,针对时间敏感问题,如金融政策、新闻事件等,为最新的数据赋予更高权重,使其优先排序。还可以基于用户行为,如点击率,动态优化权重,或者结合业务规则,如关键词匹配情况等计算综合得分,以调整排序;语义与关键词权重,在专业的知识库增强检索(RAG)中,往往关键词的权重应当设置的较高,以挑选出知识库中的相关字段

3.5.2 rerank模型

  • 原理:rerank 模型会将检索出的多个文档或文本块(chunks)作为输入,同时结合用户的查询语句,通过计算候选文档列表与用户问题的语义匹配度,根据语义匹配度对这些文档进行重新排序,使得更相关、更准确的文档排名更靠前。
  • 常见模型:Cohere Rerank 是一个商业闭源的 rerank 模型,可根据与指定查询问题的语义相关性对多个文本输入进行排序,常用于帮助关键词或向量搜索返回的结果做重新排序与提升质量。另外,bge - reranker - large 是国内智源开源的 rerank 模型,在众多模型测试中表现优秀,且对资源要求较低,可借助 Hugging Face 的 TEI 工具本地化部署,为自有 RAG 应用提供服务。

        实际应用中,也可以将 rerank 模型和权重设置方法结合使用6。先利用权重设置对初步召回的结果进行基于规则和属性的粗排,再通过 rerank 模型从语义等角度进行精排,从而在效果和性能之间取得更好的平衡。

4. 大语言模型(LLM)

        作为RAG框架中进行语义理解和增强文本的模型,LLM的选择尤为重要 。大型语言模型(LLM)的核心技术路线主要围绕Transformer架构展开,并在此基础上发展出不同的变体以适应不同的任务需求。目前主流的LLM架构可以分为三类:

4.1LLM分类

4.1.1 Encoder-Only (编码器-Only) 模型

这类模型以Google的BERT为代表。它们主要关注对输入文本的深度理解和表示,通过双向上下文编码来捕捉文本中的语义信息。Encoder-Only模型在自然语言理解(NLU)任务中表现出色,例如文本分类、命名实体识别、问答系统等。

4.1.2 Decoder-Only (解码器-Only) 模型

这类模型以OpenAI的GPT系列(如GPT-3、GPT-4)为代表。它们主要关注文本生成任务,通过自回归的方式逐词生成文本。Decoder-Only模型在自然语言生成(NLG)任务中表现出色,例如文章创作、对话生成、代码生成等。其特点是单向理解上下文,即只能根据前面的词预测后面的词。

4.1.3 Encoder-Decoder (编码器-解码器) 模型

这类模型以Meta的BART、Google的T5、清华大学的GLM等为代表。它们结合了编码器和解码器的优势,编码器负责理解输入序列,解码器负责生成输出序列。这种架构在序列到序列(Seq2Seq)任务中表现出色,例如机器翻译、文本摘要等。

4.1.4 Transformer架构

无论是哪种类型的LLM,其基础都是Transformer架构。Transformer模型通过自注意力机制(Self-Attention Mechanism)有效地捕捉文本序列中词语之间的长距离依赖关系,解决了传统循环神经网络(RNN)和卷积神经网络(CNN)在处理长序列时的局限性。Transformer的并行计算能力也使其能够处理更大规模的数据和模型。

4.1.5新兴架构和趋势

除了上述核心架构,LLM领域也涌现出一些新的架构和发展趋势:

智能体架构(Agentic Architectures): 这是一个重要的发展方向,其中LLM作为决策核心,控制着整个应用的流程。智能体可以利用LLM的推理能力来决定执行哪些操作、调用哪些工具,从而完成更复杂的任务。LangChain和LangGraph等框架为构建智能体架构提供了支持。

LLM路由(LLM Routing): 随着各种规模和能力的LLM不断涌现,LLM路由成为一种重要的优化策略。它通过一个“路由器”(router)模型来分析用户请求,并动态地将请求分发给最合适、最具成本效益的LLM。这种方法可以平衡性能、成本和延迟,实现更高效的资源利用。IBM、AWS等公司都在积极研究和应用LLM路由技术。

混合架构(Hybrid Architectures): 为了在特定领域获得更好的性能,混合架构将通用LLM与领域特定的模型或知识库相结合。这种方法可以弥补通用LLM在专业知识上的不足,提高其在垂直领域的准确性和可靠性。

模型小型化和高效化: 尽管模型规模的扩大在过去是主流趋势,但现在业界越来越关注开发更小、更高效的LLM。这些模型在保持较高性能的同时,降低了部署和运行成本,使得在资源受限的环境中(如移动设备)部署LLM成为可能。

4.2 LLM对比方面

4.2.1 基础能力与规模

参数量:参数量是模型能力的重要基础(但非唯一指标),直接影响模型对复杂模式的捕捉能力。例如,GPT-3(1750 亿参数)、LLaMA 2(70 亿 / 130 亿 / 700 亿参数)、GPT-4(未公开,推测远超千亿)等,参数量差异会导致模型在复杂推理、知识覆盖上的能力分化。

训练数据:包括数据规模(如万亿级 token)、数据类型(文本来源:书籍、网页、代码、专业文献等)、数据质量(去重、清洗程度、多语言覆盖度)。数据的多样性和专业性直接影响模型的知识广度与领域适配性。

训练框架与算力:训练所用的框架(如 Megatron-LM、DeepSpeed)、算力投入(GPU/TPU 数量、训练时长),会影响模型的训练效率和最终性能上限。

4.2.2 核心能力表现

自然语言理解(NLU):对语义、语境、歧义的理解能力,如在句子相似度、情感分析、指代消解、复杂指令解析等任务中的准确率。

自然语言生成(NLG):生成文本的流畅性、逻辑性、连贯性,以及创造性(如写作、诗歌、故事生成)、事实一致性(避免 “幻觉”)。

逻辑与推理能力:在数学计算、逻辑推演、因果分析、多步问题解决(如复杂应用题、编程调试)等任务中的表现,是区分模型 “智能度” 的关键。

多轮对话能力:保持对话上下文一致性、记忆能力(长对话中不遗忘关键信息)、应对歧义或模糊指令的鲁棒性。

4.2.3 任务适配性

通用任务表现:在标准化评测集(如 GLUE、MMLU、HumanEval)上的得分,覆盖文本分类、翻译、摘要、问答、代码生成等通用任务,反映模型的 “全面性”。

专业领域能力:在垂直领域(如医疗、法律、金融、科研)的知识准确性和任务处理能力,例如能否生成合规的法律文书、解读医学影像报告、推导物理公式等。

多模态融合:部分 LLM 支持文本与图像、语音等模态的交互(如 GPT-4V、Gemini),对比其跨模态理解与生成的准确性、自然度。

4.2.4 效率与资源消耗

推理速度:生成文本的响应时间(token/s),影响实时交互场景(如客服、语音助手)的体验,与模型大小、量化方式(如 INT4/INT8)、推理框架(如 vLLM、TensorRT-LLM)相关。

资源占用:推理时的内存 / 显存需求,决定模型能否在消费级设备(如手机、PC)部署,还是仅能依赖云端高性能 GPU。

训练与微调成本:预训练的算力消耗(如千卡时)、微调的便捷性(是否支持 LoRA 等轻量微调方法),对企业或研究者的门槛至关重要。

4.3 GPT3.5、Qwen3、Deepseek-r1、Hunyuan对比

4.3.1参数量与训练数据基础

Qwen3-32B:参数量 320 亿,属于中大型模型,训练数据覆盖多语言文本(中文占比突出)、代码、专业文献等,数据截止时间较新(推测至 2024 年),强调 “高质量多模态预训练”(虽为语言模型,但数据多样性较强)。

GPT-3.5:参数量未公开(行业推测约 1750 亿级,但实际因架构优化可能低于此),训练数据以 2021 年前的互联网文本、书籍、论文为主,覆盖广度极高,但时间范围有限。

DeepSeek-R1:参数量未明确(推测百亿级),主打 “推理优化”,训练数据侧重逻辑密集型文本(如数学题、逻辑论证、代码),数据清洗和结构化程度较高。

Hunyuan:参数量推测在千亿级,训练数据融合腾讯生态内的社交文本(如微信、QQ)、内容平台(如腾讯新闻)及通用互联网数据,中文场景数据占比高,实时性较强(依托腾讯内容生态)。

4.3.2 核心自然语言能力

1. 语义理解与上下文连贯

GPT-3.5:优势显著,对模糊指令、隐含语义的理解准确率高,上下文连贯性强(支持 4096 token 上下文),尤其在日常对话、多轮交互中表现稳定,能快速捕捉用户意图(如 “换种说法”“补充细节” 等需求)。

Qwen3-32B:中文语义理解精度突出,对成语、谐音、网络用语(如 “梗文化”)的解读更贴合本土语境;多语言理解能力均衡(支持中英日韩等),但在复杂长句(如嵌套从句)的拆解上略逊于 GPT-3.5。

DeepSeek-R1:侧重 “精确理解”,对结构化指令(如 “分步骤分析”“按逻辑链推导”)的响应更严谨,但对口语化、非结构化表达的容错率稍低。

Hunyuan:依托社交场景数据,对 “寒暄式对话”“情感倾向” 的理解更细腻(如识别语气中的委婉、调侃),但在专业领域术语的精准解读上(如法律、医学)稍弱。

2. 文本生成与流畅度

GPT-3.5:生成文本的逻辑性和自然度均衡,既能写流畅的散文,也能输出结构化报告,冗余信息少,“废话率” 低。

Qwen3-32B:中文生成更符合母语表达习惯(如句式、用词偏好),长文本(如论文提纲、故事)的结构完整性强,但在英文生成的 “母语感” 上略逊于 GPT-3.5。

DeepSeek-R1:生成内容偏 “理性”,逻辑链清晰(如推导过程、代码注释),但文学性、创造性表达(如诗歌、小说)稍显生硬。

Hunyuan:生成风格更贴近 “生活化”,适合社交场景文案(如朋友圈文案、聊天回复),但长文本易出现重复或逻辑跳跃。

4.3.3 推理与知识应用

 逻辑推理与问题解决

DeepSeek-R1:强项,尤其在数学推理(如方程求解、概率题)、多步骤逻辑题(如 “谁是凶手” 类推理)上表现突出,依托 “推理路径优化” 训练,步骤拆解更清晰,错误率低于同类模型。

GPT-3.5:通用推理稳定性强,对日常问题(如 “行程规划”“产品对比”)的推导可靠,但复杂数学 / 逻辑题(如高等数学证明)的正确率低于 DeepSeek-R1 和更大参数模型。

Qwen3-32B:中文场景推理更适配(如中文数学题、文言文逻辑分析),但跨语言推理(如英文逻辑题)的准确率略降。

Hunyuan:基础推理(如因果关系判断)达标,但复杂多步推理易出现 “跳步” 或结论偏差,更适合简单决策场景。

 知识覆盖与准确性

GPT-3.5:知识广度高(覆盖历史、科学、常识),但数据截止到 2021 年,对 2021 年后的新事件(如 2023 年科技突破)知识有限,偶有 “幻觉”(编造不存在的信息)。

Qwen3-32B:知识截止时间较新(推测至 2024 年),对近期事件(如 2024 年政策、科技动态)的覆盖更全,中文专业知识(如中国历史、本土法规)准确性高,幻觉率低于 GPT-3.5。

Hunyuan:依托腾讯生态,对娱乐、社交领域知识(如影视、游戏、网络热点)更敏感,但专业领域(如理工科、法律)知识深度稍弱。

DeepSeek-R1:知识广度中等,但在其优化的领域(如数学、代码)内知识准确性极高,跨领域知识可能存在盲区。

4.3.4 多语言与场景适配

多语言支持:

GPT-3.5:多语言均衡性最佳,对小语种(如越南语、瑞典语)的支持优于其他三者。

Qwen3-32B:中英双语表现顶尖,其他主流语言(日、韩、法、德)支持良好,但小语种覆盖较弱。

DeepSeek-R1、Hunyuan:以中英为主,其他语言支持限于常用语种,准确性随语言普及率下降。

场景适配倾向:

GPT-3.5:通用场景(如客服、内容创作)适配性最广,API 生态成熟,适合快速集成。

Qwen3-32B:中文企业场景(如政务、金融)更优,合规性(如数据本地化)符合国内需求。

DeepSeek-R1:科研、代码开发、逻辑密集型任务(如数学建模)更具优势。

Hunyuan:腾讯生态内场景(如微信小程序、腾讯文档)联动性强,适合社交、轻办公场景。

4.4 LLM对比工具集

工具1:LM Arena(lmarena.ai)性价比

支持模型数量: 68+种模型,包括最新的GPT-4o、Claude 3.5、Gemini 1.5 Pro等。支持盲测排名和并排直接对比两种模式。使用门槛: 免费,无需注册,网页直接使用

工具2:Modelbench(modelbench.ai)专业

支持模型数量: 180+种模型,覆盖面最广。对比方式: 高度自定义的并排比较。特色功能: 支持完整参数调整、系统提示词定制、图像处理能力测试。使用门槛: 需要注册,免费试用7天

工具3:Wordware "Try all the models"  一键测试

支持模型数量: 12种主流模型。对比方式: 一次性测试所有支持的模型。特色功能: 使用Claude 3 Opus自动分析和排名所有模型回答。使用门槛: 免费,无需注册

工具4:HuggingFace Chatbot Arena  开源模型

支持模型数量: 40+种模型,主要是开源模型。对比方式: 盲测投票和并排对比。特色功能: 与原版LM Arena共享数据,但更专注开源模型。使用门槛: 免费,需要HuggingFace账号

5.RAG关键技术点

RAG作为传统大语言模型的增强,作为评判其优秀与否的关键点如下:

  • 回答正确性,首当其冲的是专业领域知识的正确性,其次是普遍问题的交叉回答
  • 问题分类正确率,如何深刻理解用户问题从而路由到不同知识库
  • 检索召回正确率,这一点深深影响着正确性,所以一个好的检索召回策略至关重要
  • 回答可解释性,对于专业问题的专业回答,需要对来源进行可解释性说明
  • 知识库正确性,知识原本文件的切割入库(如何保证不同格式、不同文件却录入正确)

以上,是笔者实习期间在公司内部建立知识库项目时,所有的前期学习路线。后面会单独开一期内容,从零开始搭建一个RAG,回答正确率保持在90%且保证以上要点全部覆盖。

Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐