微调-RAG-上下文工程-三个词在解决什么问题

大语言模型的Prompt工程、RAG和微调区别及应用示例 大模型应用中,Prompt工程引导模型输出,RAG利用外部知识增强回答的准确性及丰富度,微调则使模型更好地适应特定任务或领域。三者紧密协作,不仅能提高特定场景下模型的表现,更使其能够精准、高效地完成复杂任务。 阅读详情

别急着微调:先分清是资料问题、习惯问题,还是行李问题

「把我们的文档喂给模型微调一下。」技术群里每周都有人这么说。这句话里,文档多半该走 RAG,微调多半不该碰,真正该做的事藏在第三个词里,上下文工程。三个词都在回答「怎么让模型答得更好」,按错开关,钱和时间都白花。本文给你一张排查表,照着病根选手段,别再凭感觉。

三个词各自管哪一层

微调(fine-tuning)改的是模型本身。拿一批样本继续训练,让模型换一种方式干活,格式稳定成你要的样子,语气收成你的口吻,任务模式变成条件反射。它改的是习惯,不是记忆。

RAG(检索增强生成)改的是模型看到的资料。回答之前先检索你的知识库,把相关片段塞进提示词。模型本身一个字节没动,它只是开卷考试时翻到了正确的那几页。它补的是资料。

上下文工程(context engineering)改的是行李打包。每次请求,模型能看的内容有上限,历史、系统提示、检索片段、工具结果全要挤进这个窗口。谁进谁不进、谁排前面、谁被压缩,是这层的工作。

提示词组织

上下文工程
管窗口预算

提示词内容

RAG
补知识资料

模型权重

微调
改行为方式

同一个问题:让模型答得更好

用后端的话翻译

微调像改框架源码。收益大,门槛高,改一次要重新编译发布,回滚也麻烦,动手前先问有没有别的办法。

RAG 像给服务加一层查询。模型是服务,知识库是数据源,检索是查询接口,召回质量决定答案质量。它有整套数据工程的活,切分、索引、召回调优,一样躲不掉。

上下文工程像管请求体预算。窗口就是请求体大小上限,历史是会话状态,检索片段是查询结果,工具回执是外部回调。塞爆了就丢东西,丢错了模型就翻车。

三个类比放一起,边界就清楚了。微调动权重,RAG 动内容,上下文工程动的是组织。

为什么会混用

三个手段的效果都长一个样,模型答得更好了,症状相似,病因却在不同层。业务文档喂不进去,模型答非所问,这是资料问题。模型懂业务但格式天天变,这是习惯问题。聊到第十轮忘了开头的约定,这是行李问题。把病根认对,手段才不会用错。

最常见的错配有两个。想靠微调灌业务知识,费钱费力还会随知识过期而失效,这类需求的正解是 RAG。想靠 RAG 修输出格式,检索回来的片段管不了行为习惯,这类需求的正解是提示词约束或者微调。

什么时候用哪个

你看到的症状病根在哪层先用什么别用错
格式不稳定、语气不对、任务做不熟模型的习惯提示词约束,不行再微调别用 RAG 修格式,检索片段管不了行为
不知道你的私有知识、答的是过时事实模型的资料RAG别用微调灌知识,费钱还会随知识过期失效
聊久了忘约定、上下文经常爆行李打包上下文工程别用微调治失忆,模型没忘,是行李被丢了
什么都差一点多层都有按下面的顺序逐个试别一次全上,先修装箱再补资料最后动权重

一个装箱演示

下面用一段 Python 演示上下文工程的日常工作,检索片段和历史怎么挤进预算。核心思路是「检索管找块,装箱管取舍,每一块都有代价」。跑之前先记住预期输出:预算一紧,历史最先被丢,模型随后忘事。

# 模拟一次请求的上下文组装。
# RAG 负责找块,上下文工程负责在预算里装箱。
# 微调不在这段里,它发生在模型训练侧,装箱前就已定型。

BUDGET = 55           # 假装 token 约等于字符数,压到能看见取舍

DOCS = {
    "退款": "退款规则:七天内无理由退款,超期按比例折算。",
    "运费": "运费规则:满 99 包邮,偏远地区加收 20。",
    "发票": "发票规则:订单完成后 30 天内可开电子发票。",
}


def retrieve(query: str, k: int = 2) -> list[str]:
    """关键词召回,模拟 RAG 的输出:一块块资料片段。"""
    hits = [text for key, text in DOCS.items() if key in query]
    return hits[:k]


def assemble(system: str, blocks: list[str], history: list[str], budget: int) -> dict:
    """装箱。优先级:系统提示 > 检索片段 > 历史。
    装不下的历史从最旧开始丢,这是最常见的失忆来源。"""
    kept = {"system": system, "blocks": [], "history": [], "dropped": []}
    used = len(system)                      # 系统提示优先占位
    for b in blocks:
        if used + len(b) <= budget:
            kept["blocks"].append(b)
            used += len(b)
    for h in history:
        if used + len(h) <= budget:
            kept["history"].append(h)
            used += len(h)
        else:
            kept["dropped"].append(h)
    return kept


if __name__ == "__main__":
    system = "你是客服助手,回答要短。"
    history = ["用户:我上周买的键盘想退", "助手:好的,我帮您查"]
    blocks = retrieve("键盘退款怎么算")
    result = assemble(system, blocks, history, BUDGET)

    print("装进窗口的检索片段:", result["blocks"])
    print("装进窗口的历史:", result["history"])
    print("被丢掉的历史:", result.get("dropped", []))
    print("结论:预算不够时,历史最先挨刀,模型随后忘事。")

跑完就能看见,预算一紧,历史最先被丢,模型失忆的锅往往不在模型。缓解办法在正文之外还有摘要压缩和分层检索,本篇不展开。

适用边界

三个词的定义在各家文档里不完全统一,有的厂商把提示词模板也叫上下文管理,按用途记比按名词记稳。三个手段可以组合用,顺序有讲究,先修装箱,再补资料,最后才动权重。判断表是排查顺序,不是教条。原则就一条:先问病根在哪层,再伸手拿手段。下次再听到「把文档喂给模型微调一下」,先反问一句:这是资料问题、习惯问题,还是行李问题?

企业落地大模型的路径选择:微调、RAG、提示词工程 与传统应用不同,模型的输出是不确定的,即使多次问它一样的问题,给出的结果也可能不一样。这种特性对于日常应用业务 OK,但是如果要在企业内用来处理具体业务问题,就必须提高这个稳定性,否则影响生产经营,例如产线操作人员通过模型获取操作步骤或者参数,如果步骤或者数据不对可能会导致产品出现质量问题等等。模型一旦训练好,就无法再补充数据,因此模型不会了解你自己组织内部的年假规定,注意事项。如何让大模型掌握这些数据是另外一个需要解决的问题。 阅读详情

相关推荐

从“下一个词预测”理解LLM本质:提示工程、RAG与微调实战指南

在自然语言处理领域,语言模型的核心任务是基于统计规律预测序列中的下一个词元。这一基础原理通过海量数据训练和参数规模扩展,涌现出复杂的指令遵循、推理和代码生成等能力,构成了当前大语言模型智能行为的基石。从工程实践角度看,理解这一机制对于构建可靠应用至关重要:它解释了为什么清晰的提示工程能有效引导模型输出,也揭示了模型产生幻觉和事实错误的根本原因。基于此,开发者可以通过检索增强生成技术为模型提供实时、精确的外部知识上下文,或通过微调调整其在特定领域的概率分布偏好,从而设计出更可控、实用的AI应用。本文将从这一核

weixin_42548816的博客 340

RAG还是微调,怎么选?简单用三个案例来分析RAG、微调如何选择?

要想提高大模型在特定行业与场景中输出的适应性与准确性,除了使用RAG,还可以使用自己的数据对大模型进行微调。那么这两种方案的区别及选择的标准是什么呢?我们首先简单了解一下大模型微调。以OpenAI公司的GPT大模型为例,一个GPT架构的大模型的训练通常需要经过以下几个阶段。这是整个过程中最复杂的阶段,像GPT-4这样的模型在预训练阶段通常需要成千上万个GPU,在海量的无标记的数据上训练数月。这个阶段其实占用了全部阶段的大部分时间。

lyy2017175913的博客 3177

机器学习预测土壤养分:从电导率、pH到随机森林与神经网络的农业实践

在智慧农业与精准农业领域,机器学习已成为处理复杂农业数据、挖掘潜在规律的关键技术。其核心原理在于通过算法从多维数据中自动学习特征与目标变量之间的映射关系,尤其擅长捕捉非线性关联。这项技术的核心价值在于能够将传统上依赖昂贵、耗时实验室分析的问题(如土壤养分检测),转化为基于易获取传感器数据(如电导率、pH值)的快速、低成本预测任务,为农业生产的实时决策与资源优化提供了全新可能。其典型应用场景包括作物生长监测、产量预测以及精准施肥管理等。本文聚焦于利用随机森林和神经网络等回归算法,构建通过土壤物理参数预测氮磷钾

weixin_33693070的博客 665

提示工程 vs 微调 vs RAG

提示工程、微调和检索增强生成(RAG)是三种主要优化大型语言模型输出的方法。

2401_85325726的博客 1510

树莓派4B+Ubuntu22.04+思岚RPLIDAR C1激光雷达应用

树莓派+Ubuntu22.04+思岚RPLIDAR C1激光雷达简单应用

techfuture的博客 3703

Python实战:用SkillMetrics库5分钟搞定泰勒图绘制(附完整代码)

本文详细介绍了如何使用Python的SkillMetrics库快速绘制专业泰勒图,以直观对比多个模型的预测性能。通过整合相关系数、标准差和中心化均方根误差三个核心指标,该工具能帮助数据科学家和研究者高效完成模型评估与可视化,提升分析报告质量。文章提供了从环境配置、数据准备到高级定制与子图对比的完整代码示例。

7z8x2c4v6b9的博客 371

简单三个案例来分析RAG、微调如何选择?

我们重点来讨论几个案例,来看一下每个案例到底选择RAG,还是微调,或者是RAG+微调。:比如说我们想打造一个AI的投资理财规划师,比如我根据用户的风险偏好,还有一些用户的情况来给他一个合理的建议,比如说基于一些目前市场上的情况,那这种AI的规划师我们到底怎么打造?那这里我们需要考虑的是RAG还是微调呢?大家可以先思考一下。那为了回答这个问题,我们首先要剖析那这样的系统它到底需要具备什么样的能力?1、第一个很重要,就是可以处理实时的数据,或者叫;2、它也需要具备;

AI大模型的博客 1668

关于IBV_WR_RDMA_WRITE_WITH_IMM的理解

对于IBV_WC_RECV_RDMA_WITH_IMM的描述是这样的,也就是说并不需要sge,所以下发的sge,可以是NULL,个数可以是0。(1)需要下发post_recv,但是下发是post_recv当中的sge的地址可以是空,sge个数可以是0。伪代码,实际的rkey和addr已经通过socket交换。并且poll_cq时,有返回,在这篇文章当中对于poll_cq时,主要区别点有两个,这个是对于接收端而言。(2)可以带即时数据,

qq_38158479的博客 2418

搞懂大模型中的提示工程、RAG和微调

我们都知道大模型非常火,很多人想必也都用过不少AI产品,比如百度的文心一言、字节的豆包、阿里巴巴的通义千问、腾讯的元宝、月之暗面的Kimi智能助手等等。那么对于提示工程、RAG(检索增强)和微调,在工程当中,我们应该怎么去选择呢?我们先要搞清楚,大模型是怎么训练出来的?首先需要有海量的数据,然后通过训练,来构造一个大模型。训练好的大模型,具备了很多的能力,因为在我们训练的过程中,使用到的数据是非常多样化的,包括各个行业、各个领域的数据。

lvaolan123456的博客 1767

【HYSPLIT 教程第二期】Inline WRF-HYSPLIT 耦合

【HYSPLIT 教程第二期】Inline WRF-HYSPLIT 耦合

WW、forever的博客 808

硬方案——几种实用的恒流源电路设计方案,敬请收藏(运放、三极管在手,让你玩出多种花样)

0 引言 我们在信号测量、供电等应用场景时常会涉及到使用恒流源,以前觉得恒流源挺神奇的,研究了下实现方案,其实也没有多么高深(这里讨论的仅限于用在信号测量中的小电流恒流源设计),这里给出几个实用的恒流源电路设计方案。 1 恒流源电路设计 (1)使用三极管搭建的恒流源 (2)使用运放搭建的恒流源 (3)使用恒流二极管搭建的恒流源 pt100恒流源测温电路图_电子技术_电工之家 ...

数字世界 万物互联 9524

五分钟弄清楚爆火的提示工程,RAG和微调

大模型语境下的提示工程,RAG和微调是现在非常热点的几个不同的技术方向,他们具体是什么呢?三者的共性与区别是什么呢?今天一文带你搞清楚。提示工程(Prompt Engineering)提示工程相对是大家比较熟悉的概念,指的是通过精心设计,并且优化针对large language model的输入,来激发large language model的潜能,引导他在不同的任务上面呈现出更加精准,更加相关的...

YeJuliaLi的博客 2948

基于生存结局(生存分析/COX回归)的中介效应分析

① 建立观察变量OVB和中介变量MVB的回归模型(注意:这里根据mediation包的介绍,需要构建的是probit模型,而不是logist回归模型,网上有很多的代码用的logistic回归,结果自己跑的时候发现报错,我在这里陷了很久;为了方便演示,我们生成了一个协变量(Age)、一个连续型观察变量(liaOVC)、一个二分类观察变量(OVB)、一个连续型中介变量(MVC)、一个二分类中介变量(MVB)以及最后的结局变量(生存时间[time],生存结局[stats])。

m0_61863309的博客 1万+

无限的上下文窗口会扼杀LLM微调和RAG吗?

无限的上下文窗口会扼杀LLM微调和RAG吗?

安静的软件工程师 1197

【以太网硬件六】1000base-T物理层编码究竟是怎么编的?

详述1000base-T物理层4D-PAM5的编码过程

highman110的博客 5324

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

通俗易懂理解提示词工程、RAG和微调

在工程实践中,我们应该遵循从提示工程到RAG,再到模型微调的顺序。不要急于进行微调,而是要先从优化问题的表达和提供上下文信息入手。只有这样,我们才能在复杂的工程中取得更好的效果。希望通过这篇文章,大家能够更清晰地理解提示工程、RAG和微调之间的关系,以及它们在实际应用中的重要性。这三者相互配合,共同推动了人工智能技术的发展和应用。

东南草堂 1084

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

商业上怎么合理运用提示工程,RAG和模型微调

训练大模型,首先需要海量的数据,然后通过训练的方法来构造一个大模型。然后这个大模型,其实它具备了非常多的能力,因为我们在训练的过程里面,其实使用到的数据是非常多样化的,包括金融数据、医疗数据、智能制造的数据、教育数据,还有好多好多其他行业的数据。

AAI666666的博客 1113

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

大模型三大核心技术揭秘:上下文工程vs提示工程vs微调,小白也能搞懂!

文章详细解析了大模型三大核心技术:上下文工程、提示工程和微调的区别与应用。澄清了上下文工程与RAG的本质差异,介绍了上下文学习(In-Context Learning)原理、One-Shot/Few-Shot学习技术,并强调提示工程是临时挖掘模型潜力而不修改参数,而微调则是通过修改参数永久提升模型能力。掌握这些概念对高效使用大模型至关重要。

2301_77193447的博客 1175

什么是RAG? 什么是微调? 什么是提示工程?一篇文章带你搞懂!

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

m0_56255097的博客 1766
上一篇: Java异常堆栈怎么读-三步挖到根因
下一篇: Spring AI 还是 LangChain4j:三道判断题帮你选
Deng桑
博客等级 码龄1年 1粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值