AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


RAG - prompt

发布日期:2025-02-23 22:49:52 浏览次数: 1536 来源:牛爷儿
推荐语

RAG技术如何赋能大语言模型,提升回答的准确性和时效性。

核心内容:
1. RAG技术与LLM大语言模型的结合原理
2. RAG系统在提升回答质量方面的优势
3. RAG核心技术概览及应用场景

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

点击下方关注我,然后右上角点击“设为星标”,第一时间收到更新推送!


引言

LLM 大语言模型,可以这么理解,假设人脑是可以置空的,还可以无损复制。某天获取一个置空的人脑,保留人脑中的神经元,不断用数据去训练它,让它知道数据之间的关系,并把这种关系记录到神经元网络中。等到训练完成,把它从训练器上取下来,无限复制。通上电,他说话,它就能理解,并且基于自己大脑中的知识,做出回答。


不过,它的知识会局限于训练时用到的数据,如果你问它此时此刻发生的事情,它是没法回答你的。这时,就需要用到 RAG 技术,通过给 LLM 提供额外的知识/内容,让 LLM 能够基于已有的知识 + 提供给它的内容,回答问题。

RAG 简介

RAG系统,首先从外部知识库中,检索与用户查询相关的文档或信息片段,将这些信息作为上下文提供给LLM。通过这些额外信息,LLM能够生成更准确、更具信息量且上下文相关的回复。

相比传统LLM,RAG系统在处理事实性问题、生成特定领域内容以及保持信息时效性方面具有显著优势。通过将检索到的知识融入生成过程,RAG系统有效减少了LLM产生幻觉(大模型预测/输出,本质上是基于统计模型,返回概率最高的一个,如果没有相关内容,概率1% 的内容,也可能输出,导致输出无关/编造的内容)的可能性,提高了生成结果的可靠性。
此外,RAG系统还支持轻松更新知识库,从而使LLM能够及时获取最新信息,保持其知识的时效性。

RAG 的核心技术有哪些?

RAG 核心技术包括:prompt 工程,文本分块,向量数据库,内容检索/召回,效果评估,LLM 模型优化等。

prompt 提示词

为什么要做prompt提示词工程?日常使用gpt,kimi,deepseek,直接问问题就好了,似乎也能给出比较合理的答案,还需要工程化吗?来看看deepseek给的回答。

直接提问,给的答案似乎还不错,如果只是想了解个大概,回答的内容已经够了,似乎没必要通过“工程”来解决问题。
再来看一个例子,对于电商客服场景,你购买了耳机,想申请退货退款,如果你直接问,“我的订单号20250101293910101的耳机能退货吗?”,你猜AI会怎么回答?下面是deepseek给出的答案,

您好,建议您提供更详细的订单信息,例如购买渠道、商品型号等,以便我们更好地帮助您查询退货政策。


一般来说,耳机的退货政策可能包括以下内容:


**退货条件**:耳机需未经使用、包装完好且配件齐全。

**退货时限**:通常在签收后7-15天内可申请退货,具体时限以购买渠道的售后政策为准。

**退货流程**:通过购买渠道的官方客服或订单页面提交退货申请,按指引退回商品。

**退款方式**:退款将原路返回至您的支付账户,具体到账时间视支付方式而定。


建议您尽快联系购买渠道的客服确认具体退货政策,以便及时处理。

这个答案是通识性的,模型能理解退款的含义,但是,对于特定上下文,订单号,并不能理解,通用大模型不可能了解企业内部业务规则。要解决这个问题,可以用RAG,给大模型提供背景知识(或者用agent,以后再谈)。

prompt工程化

prompt工程化,通过系统性设计,优化 prompt,引导 LLM 生成更符合目标的输出。其核心是将模糊的意图转化为可执行的指令,并通过实验和迭代提升结果质量。工程化主要体现在以下层面:

1. 系统设计

  • 定义prompt 结构

    • 神级提示词,

      CO-Star(背景 Context,目标 Objective,风格Style,语气 Tone, 目标用户 Audience, 响应 Response)

      https://towardsdatascience.com/how-i-won-singapores-gpt-4-prompt-engineering-competition-34c195a93d41/
    • CoT(Chain of thought),只需要在你的提示词最后加一句,一步一步来(step by step),就可以。

      指导模型拆解分析任务,逐步推理

      https://www.promptingguide.ai/techniques/cot
    • RTCF(角色 role,任务 task,约束 Contstraints,输出格式 Format)

    • ...

  • 使用特殊符号区分不同内容,比如<>,“”,让模型更准确地理解不同段落含义

  • few-shot,为模型提供例子,让模型学习如何回答


2. 流程标准化

  • 增加 prompt 版本控制,AB 测试和评估指标(比如准确率、相关性等)


3. 可扩展性

  • 通过模板化,支持动态参数输入(比如用户历史记录,实时数据)


4. 风险控制

  • 设计安全护栏,防止幻觉或者有害内容,比如在 RAG 中,可以明确告诉 LLM,如果在提供的背景知识中,没有找到对应内容,回复无法回答。

prompt优化 - 电商客服例子

我们来逐步优化提示词,问题还是:“我的订单号20250101293910101的耳机能退货吗?“。


1. 加入角色和约束

你是一名电商客服助手,需严格根据<知识库>回答:
<知识库>- 退货条件:未拆封商品,7天内可退- 订单20250101293910101:签收时间2023-10-05,商品已拆封</知识库>
问题:我的订单号20250101293910101的耳机能退货吗?回答:根据我们的退货政策,未拆封的商品在7天内可以退货。但是您提到耳机已经拆封了,因此根据规定,这个商品不能退货。

2. 添加分步思考和格式输出

#角色你是专业客服,需按步骤处理问题:1. 检索<知识库>中订单号和退货政策2. 比对时间、商品状态3. 若不符合条件,提供替代方案(如换货)
#约束- 禁止猜测知识库外的信息- 回答需包含订单号和政策条款编号
<知识库>- 退货条件:未拆封商品,7天内可退- 订单20231001:签收时间2023-10-05,商品已拆封</知识库>
问题:我的订单号20250101293910101的耳机能退货吗?回答:根据知识库中的信息:订单号20250101293910101的签收时间是2023-10-05,商品已拆封。退货政策明确规定,未拆封商品在7天内可退货。由于您的耳机已拆封,且退货条件只适用于未拆封商品,因此该耳机无法退货。替代方案:您可以考虑进行换货处理。如果您有其他需求,欢迎告知。

3. few-shot & 模板化

# 角色你是专业客服,需按步骤处理问题:1. 检索知识库中订单号和退货政策2. 比对时间、商品状态3. 若找到相关信息,按规则回答;若未找到,明确告知用户并提供替代方案
# 约束- 禁止猜测知识库外的信息- 若未找到相关内容,需明确告知用户并提供通用建议- 回答需包含订单号(如果提供)和政策条款编号(如果适用)
# 示例<示例1>用户问:订单20231001的耳机能退货吗?知识库:找到相关信息回答:订单20231001(签收时间:2023-10-05)已拆封,根据政策第2.1条不支持退货。建议申请换货,需保留原包装。</示例1>
<示例2>用户问:订单20231002的耳机能退货吗?知识库:未找到相关信息回答:抱歉,未找到订单20231002的相关信息。建议您联系人工客服或查看官网最新退货政策。</示例2>
<知识库>- 退货条件:未拆封商品,7天内可退- 订单20231001:签收时间2023-10-05,商品已拆封</知识库>
# 问题用户问:{{query}}

上面的提示词做了模板化,也是RAG的基础结构,只是实际在开发RAG的过程中,知识库的内容,是向量数据库,或者,es等检索引擎获取到的信息。


对比最初的问题,采用提示词结构,给提示词提供知识库,提供例子,大模型给出的回答也会越来越好。

END


推荐阅读


关注公众号`牛爷儿`,或者加微信 `newyearlong` 备注 `一起学AI` 交流学习。



点击在看不迷路,方便以后查看↓↓↓



53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

和创始人交个朋友

回到顶部

 

加载中...

扫码咨询