|
ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;display: table;border-bottom: 2px solid rgb(15, 76, 129);color: rgb(63, 63, 63);visibility: visible;">引言 LLM 大语言模型,可以这么理解,假设人脑是可以置空的,还可以无损复制。某天获取一个置空的人脑,保留人脑中的神经元,不断用数据去训练它,让它知道数据之间的关系,并把这种关系记录到神经元网络中。等到训练完成,把它从训练器上取下来,无限复制。通上电,他说话,它就能理解,并且基于自己大脑中的知识,做出回答。
不过,它的知识会局限于训练时用到的数据,如果你问它此时此刻发生的事情,它是没法回答你的。这时,就需要用到 RAG 技术,通过给 LLM 提供额外的知识/内容,让 LLM 能够基于已有的知识 + 提供给它的内容,回答问题。
ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">RAG 简介RAG系统,首先从外部知识库中,检索与用户查询相关的文档或信息片段,将这些信息作为上下文提供给LLM。通过这些额外信息,LLM能够生成更准确、更具信息量且上下文相关的回复。相比传统LLM,RAG系统在处理事实性问题、生成特定领域内容以及保持信息时效性方面具有显著优势。通过将检索到的知识融入生成过程,RAG系统有效减少了LLM产生幻觉(大模型预测/输出,本质上是基于统计模型,返回概率最高的一个,如果没有相关内容,概率1% 的内容,也可能输出,导致输出无关/编造的内容)的可能性,提高了生成结果的可靠性。此外,RAG系统还支持轻松更新知识库,从而使LLM能够及时获取最新信息,保持其知识的时效性。ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">RAG 的核心技术有哪些?RAG 核心技术包括:prompt 工程,文本分块,向量数据库,内容检索/召回,效果评估,LLM 模型优化等。 ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">prompt 提示词为什么要做prompt提示词工程?日常使用gpt,kimi,deepseek,直接问问题就好了,似乎也能给出比较合理的答案,还需要工程化吗?来看看deepseek给的回答。 直接提问,给的答案似乎还不错,如果只是想了解个大概,回答的内容已经够了,似乎没必要通过“工程”来解决问题。再来看一个例子,对于电商客服场景,你购买了耳机,想申请退货退款,如果你直接问,“我的订单号20250101293910101的耳机能退货吗?”,你猜AI会怎么回答?下面是deepseek给出的答案,您好,建议您提供更详细的订单信息,例如购买渠道、商品型号等,以便我们更好地帮助您查询退货政策。
一般来说,耳机的退货政策可能包括以下内容:
**退货条件**:耳机需未经使用、包装完好且配件齐全。 **退货时限**:通常在签收后7-15天内可申请退货,具体时限以购买渠道的售后政策为准。 **退货流程**:通过购买渠道的官方客服或订单页面提交退货申请,按指引退回商品。 **退款方式**:退款将原路返回至您的支付账户,具体到账时间视支付方式而定。
建议您尽快联系购买渠道的客服确认具体退货政策,以便及时处理。 这个答案是通识性的,模型能理解退款的含义,但是,对于特定上下文,订单号,并不能理解,通用大模型不可能了解企业内部业务规则。要解决这个问题,可以用RAG,给大模型提供背景知识(或者用agent,以后再谈)。ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">prompt工程化prompt工程化,通过系统性设计,优化 prompt,引导 LLM 生成更符合目标的输出。其核心是将模糊的意图转化为可执行的指令,并通过实验和迭代提升结果质量。工程化主要体现在以下层面: 1. 系统设计
2. 流程标准化
3. 可扩展性
4. 风险控制 ingFang SC", Cambria, Cochin, Georgia, Times, "Times New Roman", serif;border-left: 3px solid rgb(15, 76, 129);color: rgb(63, 63, 63);">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等检索引擎获取到的信息。
对比最初的问题,采用提示词结构,给提示词提供知识库,提供例子,大模型给出的回答也会越来越好。 |