- 博客(88)
- 收藏
- 关注
原创 打破 RAG 认知误区:RAG优化方法
RAG优化方法解析:打破检索增强生成的常见误区 本文系统梳理了RAG(检索增强生成)的核心优化策略,重点澄清了"RAG=Embedding+LLM"的认知误区,指出检索策略才是决定系统效果的关键。通过四种典型优化方法展示如何提升RAG性能: Small-to-Big父子索引:采用"小块检索+大块生成"策略,兼顾检索精度与上下文完整性 层次化索引:为长篇文档构建"摘要+细节"双层结构,提升检索效率 混合检索:融合向量检索与关键词检索,平衡语义理解与精
2026-03-02 15:07:09
765
原创 Causal LM 和 Prefix LM 的区别
摘要:Causal LM(如GPT)和Prefix LM(如T5)的核心区别在于上下文理解方式。Causal LM是单向处理,生成时无法回溯前文(类似逐页翻书);而Prefix LM能先完整理解上下文(双向读取),再单向生成内容。前者适合开放式创作,后者更适合需要精确理解上下文的翻译、摘要等任务。两者的掩码矩阵设计直观体现了这一差异:Causal LM严格从左到右,Prefix LM允许前缀部分完全可见。
2026-03-01 17:36:12
664
原创 BPE 词表构建与编解码(英雄联盟-托儿索语料)
BPE(Byte Pair Encoding)是一种从字符级别出发的子词分词算法,通过反复合并高频相邻二元组构建词表。本文介绍了简化版BPE的实现过程:1)训练阶段统计语料中字节对频次,按频次从高到低合并并记录规则;2)编码时将字符串转为字节后按训练顺序合并;3)解码时将token id序列还原为字节并拼接。代码包含get_stats统计频次、merge执行合并、build_vocab构建词表等核心函数,重点在于编码时合并顺序必须与训练一致。该方法能有效处理未登录词,为理解大模型的文本处理机制奠定基础。
2026-02-07 10:21:31
755
原创 Embedding 模型 与 Rerank 模型 区别
在RAG流程中,Embedding和Rerank是检索的两个关键环节。Embedding将文本转化为向量进行初筛,属于表示型匹配,采用Bi-Encoder模型;Rerank则对候选文档进行精排,属于交互型匹配,采用Cross-Encoder模型。Embedding输入纯文本输出向量,不依赖查询;Rerank需要同时输入查询和候选文档,输出重新排序结果。前者适合大规模召回,后者专注精准排序,两者配合实现高效检索。
2026-01-30 16:07:02
911
原创 LangChain RAG PDF 问答 Demo
本文介绍基于 RAG 的 PDF 问答 Demo,支持用户上传 PDF 后检索相关段落并结合大模型生成答案,核心技术栈含 Chroma 向量库、ChatZhipuAI 大模型、FastEmbedEmbeddings 文本嵌入。核心类 ChatPDF 封装文档入库、检索、问答全流程,通过 ingest () 建索引、ask () 实现问答,RAG 流程保障回答源自指定文档。使用前需配置并通过环境变量传入大模型 API 密钥以保证安全。
2026-01-30 00:02:49
645
原创 多Agent协作模式
本文介绍了一个基于多Agent协作思想的文章优化系统,通过将复杂任务分解为多个专业化Agent(主题分析、语言优化、内容丰富、可读性评价)分工处理,最后整合生成优化文章。系统采用"分而治之"的设计理念,各Agent聚焦专业领域,协同完成文章质量提升。详细阐述了系统架构、Agent分工和数据流,并提供了Python代码实现,展示了如何调用大语言模型接口完成各环节任务。该系统解决了单一模型处理复杂任务时精度不足的问题,通过专业化分工实现更精准的文章优化效果。
2026-01-28 23:43:37
974
原创 Function Call实战:图书查询助手Agent
本文介绍了一个基于大语言模型Function Call能力的图书查询助手Agent实现。该Agent具备搜索图书、获取详情、查询借阅状态和预约借阅四大功能,通过工具函数与JSON Schema的配合实现智能响应。代码详解了四个核心工具函数(search_books、get_book_detail、check_availability、reserve_book)的实现逻辑,重点包括:参数验证、错误处理、数据格式转换(JSON字符串与字典互转)以及函数复用。文章还解释了JSON Schema在Function
2026-01-28 23:13:45
912
原创 BM25算法
✅适合关键词精确匹配短查询、短文档产品检索、FAQ系统需要快速检索的场景❌不适合语义理解需求高同义词、近义词匹配长文本复杂语义跨语言检索。
2026-01-27 15:01:14
1195
原创 条件随机场(CRF,Conditional Random Field)
CRF(条件随机场)是一种用于序列标注的概率图模型,能建模标签间的依赖关系并寻找全局最优标签序列。其核心优势包括:学习标签转移概率、约束标签合法性、通过Viterbi算法实现全局最优解码。CRF-Loss通过最大化真实路径概率来训练模型,使用转移矩阵和发射得分计算序列得分。预测时采用Viterbi算法高效解码,也可用Beam Search近似搜索。实际应用中,CRF能有效避免非法标签序列,提升NER等任务的识别效果,使输出更符合实际规则。相比逐位置独立分类,CRF通过全局优化显著改善序列标注质量。
2026-01-25 21:54:46
888
原创 构建RAG系统时,如何选择合适的嵌入模型(Embedding Model)?
RAG系统嵌入模型选择核心是精准捕捉文本语义相关性,需多维度权衡。中文、专业领域、多语言/通用场景分别适配专属、领域优化、通用模型,同时平衡语义能力与应用效率,考量向量维度、模型大小对存储、检索及部署的影响,按资源与隐私需求选API或本地部署。通过检索指标和端到端测试验证效果,搭配混合检索、重排序策略优化,做好文本预处理,必要时微调,兼顾向量库兼容性,按成本效益迭代选型。
2026-01-25 10:16:02
825
原创 基于 BERT 模型实现命名实体识别(NER)任务
本文介绍了一个基于BERT的中文命名实体识别(NER)系统,能够识别文本中的人名、地点、时间和组织机构四类实体。项目采用BERT+序列标注架构,使用BIO标注体系,并可选CRF层来优化标签序列的合理性。系统包含数据加载、模型训练和评估模块,通过BERT强大的上下文理解能力解决中文NER面临的歧义、边界识别等挑战。CRF层通过学习标签转移概率和全局解码,可提升1-3%的识别准确率。项目结构清晰,适用于信息抽取、知识图谱等应用场景。
2026-01-24 15:37:33
747
原创 正则表达式
本文通过职位信息抓取的实例,介绍了正则表达式在文本处理中的强大作用。原始方法需要编写多行代码来定位薪资数字,而使用正则表达式只需一行代码即可完成。文章详细讲解了正则表达式的常见语法:点(.)匹配任意字符、星号(*)匹配任意次数、加号(+)匹配至少一次、问号(?)匹配0-1次,以及花括号({})指定匹配次数。这些元字符可以灵活组合,快速准确地从文本中提取特定模式的字符串。正则表达式大大简化了字符串匹配和处理工作,是程序员处理文本数据的利器。
2026-01-23 14:14:19
680
原创 RAG文档分块的方式
RAG系统的文档分块策略直接影响检索效果,主要方法包括:固定长度分块(简单高效但可能截断语义)、滑动窗口分块(保留上下文但有冗余)、基于语义/结构分块(更精准但计算成本高)以及混合策略。选择分块方法需权衡语义完整性、计算效率和文本特性,通常建议结合递归分块和语义分析以平衡效果与性能。
2026-01-23 12:53:30
524
原创 SGD 和 Adam 在内存占用上有什么区别
优化器显存占用的核心差异在于状态变量数量:SGD仅需参数和梯度(约2倍参数显存),带动量版本增加1个动量缓存(约3倍);Adam需要维护一阶矩和二阶矩(约4倍)。大模型训练时,Adam的显存开销更显著,可能占总显存50%以上。可通过轻量化变体(如AdamW)或混合精度训练降低消耗。简言之,SGD系列显存需求更低(2-3倍),Adam更高(4倍),选择时需权衡效果与资源限制。
2026-01-23 12:52:58
412
原创 什么是梯度检查点
梯度检查点是一种大模型训练的显存优化技术,通过以计算换显存的方式,在训练过程中仅保存部分关键节点的中间激活值,其余值在反向传播时重新计算。这种方法显著减少显存占用,但会增加计算量导致训练速度稍慢。适用于显存受限的大模型训练场景,PyTorch中可通过torch.utils.checkpoint简单实现。
2026-01-14 12:32:41
271
原创 向量归一化(如L2归一化)在RAG中的作用
摘要:向量归一化(如L2归一化)在RAG系统中具有关键作用。数学上,归一化确保余弦相似度计算仅反映向量方向而非长度差异,提升语义相关性度量的准确性;同时增强数值稳定性,减少高维向量的计算误差。工程层面,归一化简化点积运算以适配硬件加速,优化向量数据库索引效率,并保证不同模型/批次生成向量的可比性。此外,归一化为温度系数调节提供稳定基础,便于控制检索结果聚焦度。归一化通过统一向量度量标准,显著提升稠密检索的合理性与效率。
2026-01-12 11:34:09
293
原创 如何将RAG与微调(Fine-tuning)结合?
摘要:RAG与微调结合能实现领域深度与知识广度的互补。微调使模型掌握领域基础逻辑,RAG补充实时细节知识。实施分为三个阶段:预处理阶段用领域数据双向赋能,推理阶段先检索再生成,迭代阶段用RAG反馈优化微调。技术关键在于轻量级微调、领域化检索策略和动态权重分配。典型场景显示结合方案能显著提升效果,但需注意知识一致性、微调强度和知识库质量。这种结合既克服了纯微调的知识固化问题,又弥补了纯RAG的领域深度不足。
2026-01-12 11:11:08
835
原创 向量数据库在RAG中的非必需场景及替代方案
摘要: 向量数据库在RAG(检索增强生成)中并非必需,在特定场景下可采用更简单的替代方案。当数据规模极小(几百篇文档)时,本地向量计算或轻量级全文检索即可满足需求;对于精确匹配、结构化条件查询或关键词匹配场景,传统数据库或全文搜索引擎比语义检索更高效;静态数据或限定范围查询则可通过预生成索引或标签过滤实现。这些替代方案能降低系统复杂度,同时保持检索效果。开发者应根据具体场景需求选择最合适的技术方案。
2026-01-12 10:56:56
1019
原创 RAG的核心思想与解决“幻觉”问题的机制
RAG(检索增强生成)技术通过动态检索外部知识库来解决传统生成模型的"幻觉"问题。其核心机制包括:1)事实锚定,强制模型基于检索结果生成内容;2)动态检索优化,通过多轮检索和混合策略获取精准信息;3)幻觉检测,利用内部分析和外部评估工具验证一致性。典型案例显示,医疗问答系统通过整合专业文献并引用来源,有效控制错误信息。尽管面临检索效率和知识更新等挑战,RAG通过将生成与实时检索结合,显著提升了AI输出的准确性和可解释性。
2026-01-12 10:48:40
427
原创 稀疏检索与稠密检索(RAG系统核心检索范式)
稀疏检索与稠密检索是RAG系统的两种核心范式,主要差异体现在语义表示、检索逻辑和训练依赖等方面。稀疏检索(如BM25)基于词频统计,计算效率高但缺乏语义理解;稠密检索(如DPR)通过深度模型将文本映射为向量,支持语义匹配但依赖训练数据。实践中常采用"粗筛+精排"架构或混合权重调整,结合两者的优势。BM25改进了TF-IDF的词频饱和与文档长度归一化问题,而DPR通过双塔模型实现语义检索。两种方法各有适用场景,需根据具体需求选择或组合使用。
2026-01-12 10:37:38
858
原创 针对性优化RAG延迟的三个环节
本文针对RAG系统的延迟问题,提出三大核心优化环节:查询处理、检索执行和生成反馈。在查询处理环节,通过语义增强和复杂查询分解提升检索精准度;在检索执行环节,采用专用硬件部署和分布式架构提升算力;在生成反馈环节,通过细粒度诊断和自适应优化确保系统持续高效。文章还介绍了Graph RAG和Agentic RAG等前沿技术,以及实施路径和工具推荐,最终形成一套标准化优化方案,实现RAG系统低延迟、高精准的落地目标。
2026-01-09 18:55:11
736
原创 为什么RAG在多轮对话中可能表现不佳?
摘要: RAG在多轮对话中表现不佳的核心原因包括:检索与对话历史脱节导致相关性下降、上下文窗口限制造成信息丢失、知识冲突难以维护、静态检索策略无法适应动态语境,以及无法捕捉用户意图的隐性演进。改进策略需聚焦"对话感知能力":通过对话记忆模块关联历史信息,优化信息压缩与调用,增加检索结果校验,采用主题感知检索策略,并构建分层检索库匹配不同意图层级。这些方法可使RAG从单轮检索升级为多轮动态检索,提升回答的一致性和针对性。
2026-01-09 17:38:22
1019
原创 KV Cache核心逻辑:“存”替“算”,解累加计算之困
KV Cache:大语言模型推理优化的核心技术 KV Cache是一种通过缓存历史计算结果来加速大语言模型自回归生成过程的关键技术。它解决了Transformer解码器在逐词生成时重复计算历史token Key/Value矩阵导致的效率瓶颈问题,将计算复杂度从O(t²d)降至线性增长O(td)。KV Cache通过"计算-缓存-复用"的工作流程,显著提升生成效率,支持实时流式输出,并降低显存需求5-10倍。尽管长序列下存在显存挑战,但通过MQA/GQA、量化压缩等优化技术,KV Cach
2026-01-09 16:56:36
964
原创 LoSA入门:如何实现高效适配
摘要: 针对大语言模型(LLMs)全参数微调成本高的问题,稀疏微调通过结构化剪枝(保留10%-25%参数)降低计算量,但高稀疏率(75%-90%)易导致性能退化。传统低秩适配(LoRA)因外挂式增量设计无法与稀疏模型兼容,破坏零值结构或增加推理延迟。本文提出动态低秩稀疏适配(LoSA),通过稀疏对齐的低秩矩阵融入剪枝权重,保持硬件加速特性,并结合动态稀疏率与自适应秩分配优化性能。实验表明,LoSA在保持稀疏模型轻量化优势的同时,显著减少高稀疏率下的精度损失。
2026-01-07 18:05:11
643
原创 L1 与 L2 正则化约束:几何直观
正则化约束是机器学习中防止过拟合的重要技术,通过在损失函数中加入约束项限制模型参数取值。L2正则化通过参数平方和约束使参数趋向小值,L1正则化通过绝对值约束产生稀疏解,弹性网络则结合两者优点。从几何视角看,正则化在参数空间中划定允许区域,L2对应圆形/超球体,L1对应菱形/超立方体。正则化的核心作用是平衡模型复杂度,提升泛化能力,具体选择需根据特征相关性等需求决定L1、L2或弹性网络。
2026-01-07 16:54:01
818
原创 LoRI 与 LoRA:差异解析
在大型语言模型(LLMs)的参数高效微调(PEFT)方法中,LoRA(Low-Rank Adaptation)虽被广泛使用,但在多任务场景下存在两大挑战:一是参数冗余与内存开销,LoRA仍需更新大量参数,尤其在多任务合并时资源消耗大;二是跨任务干扰,直接合并不同任务的LoRA适配器会导致参数冲突、性能下降,持续学习中易出现灾难性遗忘。
2026-01-07 13:23:09
966
原创 模型压缩的几种方式
通过移除模型中“不重要”的参数(如权重接近0的连接、冗余的神经元/通道),减少模型规模的技术,分为结构化剪枝(删除整层/通道,硬件友好)和非结构化剪枝(随机删单个参数,易生成稀疏矩阵)。让小模型(学生模型)学习大模型/模型集合(教师模型)的“知识”(包括输出概率分布、中间层特征等),从而在保持小模型规模的同时,接近大模型性能的技术。训练时是正常浮点精度,训练完直接把浮点模型转成低精度(比如 FP32→INT8),测试时用低精度模型直接推理(硬件支持低精度计算)。量化的“极端形式”:将模型参数/激活值仅用。
2026-01-07 11:34:25
1073
原创 什么是ResNet
ResNet(残差网络)是2015年提出的里程碑式深度学习模型,通过创新性地引入残差块和跳跃连接解决了深层网络的梯度消失和退化问题。其核心思想是让网络学习输入与输出之间的残差映射,而非直接学习目标函数,从而显著提升了超深网络的训练效果。典型结构包含基础残差块和瓶颈残差块两种形式,支持18-152层的网络深度。ResNet不仅突破了深层网络训练的限制,更成为后续计算机视觉模型的基础架构,在图像分类、目标检测等任务中长期保持领先性能,深刻影响了深度学习的发展方向。
2026-01-06 18:48:29
612
原创 Transformer-初识
Transformer模型简介 Transformer是Google在2017年提出的基于自注意力机制的神经网络架构,彻底改变了序列建模方式。其核心创新在于: 完全摒弃RNN/CNN结构,通过自注意力机制直接建模任意位置依赖关系 实现全局并行计算,解决了传统序列模型的两大痛点:并行性差和长程依赖建模困难 模型采用编码器-解码器架构,包含多层堆叠的编码器和解码器。编码器由自注意力层和前馈网络组成,解码器额外包含交叉注意力层。通过将词嵌入转换为查询、键、值向量,并计算注意力权重,模型能动态捕捉上下文关联。这种架
2026-01-06 18:03:09
752
原创 智能客服文本匹配系统
本文介绍了基于孪生网络和Triplet Loss的文本匹配任务实现。该系统通过构建语义相似度模型,将用户输入问题与标准问题库进行匹配,找到最相似的预设问题。核心内容包括:1) Triplet Loss原理及其在语义匹配中的作用,通过优化同类样本靠近、异类样本远离的约束条件学习区分性特征;2) 展示了实际应用场景的训练数据样例,如"固定宽带服务密码修改"、"停机保号"等问题的多表述形式;3) 代码实现部分包含配置文件管理、模型结构等组件。该系统适用于智能问答、信息检索等
2026-01-04 16:21:30
757
原创 基于 BERT 的指令微调
本文介绍了如何将BERT模型改造用于监督微调(SFT)任务,以实现指令驱动的文本生成。关键改造包括:将BERT的双向注意力机制改为单向因果掩码,新增分类头实现字符级预测,复用预训练层降低训练成本,以及适配输入输出格式。通过SFT训练,模型能够将预训练的通用语言能力与特定任务需求对齐,提升生成质量。代码实现了BERT到生成模型的改造,包含数据预处理、模型结构适配和训练流程,最终构建出能够根据指令生成文本的语言模型。
2026-01-04 12:07:43
645
原创 SFT(监督式微调)
SFT(监督式微调)是大语言模型对齐流程的关键步骤,通过人工标注的"指令-回答"数据对预训练模型进行微调,使其从无目的文本续写升级为有意图的指令响应。本文基于Qwen2-0.5B-Instruct模型实现SFT微调,核心流程包括:1)格式化处理问答数据,使用模型专属分隔符拼接;2)复用预训练模型权重;3)仅计算回答部分的损失进行优化;4)适配训练参数以降低资源消耗。整个流程完整覆盖数据预处理、模型加载、训练配置和结果保存等环节,最终得到适配特定问答场景的微调模型。
2026-01-01 17:13:43
939
原创 TinyLlama-1.1B-Chat-v1.0 的 LoRA 微调实践
该代码实现了使用LoRA技术对TinyLlama-1.1B-Chat-v1.0模型进行特定知识微调的过程。首先加载基础模型和分词器,测试模型对2022世界杯的正确回答能力。然后针对2024奥运会男足冠军这一新知识进行初始测试,显示模型无法正确回答。接着准备训练数据,包含西班牙获得2024奥运男足冠军的事实信息。通过LoRA微调,仅训练新增的低秩矩阵参数,大大降低计算成本。微调后的模型能够正确回答这一特定问题,展示了LoRA技术在知识更新上的有效性。
2025-12-25 12:45:21
775
原创 手写 Demo 理解 LoRA(Low-Rank Adaptation)的核心思想
LoRA是一种参数高效微调方法,通过低秩分解大幅减少训练参数量,解决大模型全参数微调面临的显存占用高、训练效率低和过拟合风险等问题。其核心原理是在预训练权重矩阵W0上引入两个低秩矩阵A和B,通过W_new = W0 + (α/r)·AB实现参数更新,其中r≪n/m,显著降低训练成本。训练阶段采用未合并模式仅更新A/B矩阵,推理时可合并权重提升效率。代码实现需注意训练与推理的模式切换,并通过数值验证确保合并逻辑正确性。
2025-12-25 11:31:56
1070
原创 把 Bert 回炉重铸——基于Bert的生成式任务训练
语言模型的目标是计算一个句子的概率。简单来说,就是让计算机学会“说人话”。在数学上,给定序列 ,其概率表示为:这意味着模型需要根据已经出现的字,预测下一个字出现的概率。这是整段代码的灵魂。我们手动管理 BERT 的层,并注入因果掩码。(因为硬件性能原因)# 1. 加载预训练权重,获取 BERT 的核心组件# 2. 输出层:将 BERT 的 768 维向量映射回词表大小"""核心逻辑:生成下三角掩码[1, 1, 0],[1, 1, 1]]
2025-12-24 23:58:46
706
原创 RAG(检索增强生成)流程简略介绍
摘要: RAG(检索增强生成)通过“先检索后生成”的方式解决大语言模型处理长文本的痛点。其流程分为准备阶段(文档分片、向量化、存储)和回答阶段(召回、重排、生成)。核心技术包括向量相似度计算(余弦相似度等)、分片策略、Embedding模型选择和重排算法优化。RAG不仅能提升回答准确性、减少模型幻觉,还能实现知识实时更新并降低计算成本。该技术通过精准检索相关片段,使模型仅基于有效上下文生成回答,显著提升效率与效果。
2025-12-23 11:16:04
724
原创 GLM-LanceDB 本地化 RAG 问答工具demo
本文介绍了一个基于LangChain框架的本地RAG问答系统,通过整合智谱GLM大模型、Embedding模型和LanceDB向量数据库,解决了大语言模型知识时效性不足的问题。系统从本地文本文件中提取信息,经过文本分割、向量化存储后,通过向量检索匹配用户问题,最终由GLM模型基于检索结果生成回答。核心流程包括数据预处理、向量存储、检索匹配和生成回答四个步骤,实现了私有数据的高效利用和精准问答。系统采用轻量级本地向量数据库,适合快速验证RAG原型。
2025-12-22 19:58:42
782
原创 RAG 文本数据切割技术
摘要: RAG系统中的文本数据切割是预处理阶段的关键环节,旨在将长文本分解为更小片段以优化检索和生成效果。其作用包括提升检索效率、增强匹配精度、优化上下文利用和保留语义完整性。主要切割方法包括:1)通用递归字符切割,基于标点符号快速分割;2)基于语义的智能切割,利用嵌入模型识别语义断点;3)基于标题结构的切割,适用于HTML等结构化文档。不同方法各具特点,需根据文本特性和系统需求选择,直接影响RAG系统的整体性能。
2025-12-22 18:52:49
703
原创 RAG 数据集加载:不同格式文件的处理方法
RAG(检索增强生成)技术通过结合信息检索与生成式AI,从外部知识库获取相关信息生成准确回答,解决大语言模型的局限性。数据加载作为RAG流程的第一步,直接影响系统效果。本文详细介绍了五种常见文件格式(Markdown、CSV、HTML、PDF、JSON)的加载方法,包括对应的加载器特点和使用场景。数据加载后的核心工作包括文档分割、嵌入向量生成、向量存储及检索生成。不同格式需选择适配的加载器,确保为后续步骤提供干净、结构化的原始素材,这是构建高效RAG系统的基础。
2025-12-22 17:32:27
427
原创 ChatGLM-整合数据库
该代码实现了一个基于GLM-4大语言模型的中文自然语言转SQL问答系统。系统通过配置MySQL连接和GLM-4模型参数,实现"自然语言提问→生成SQL→执行查询→生成回答"的全流程。核心功能包括:自动获取表结构生成符合规范的SQL语句,执行SQL查询并将结果整合生成中文回答。关键组件包括SQL格式清洗函数、SQL生成链、数据库连接工具和回答生成链。系统支持多种查询场景,如聚合查询和条件查询,最终返回通俗易懂的中文答案。
2025-12-10 16:49:44
357
AI 视觉识别(手势追踪) 与 3D 引擎技术 打造的沉浸式交互圣诞装置
2025-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅