LLM系列 |10: 如何编写思维链Prompt?以智能客服为例

简介

黄梅时节家家雨,青草池塘处处蛙。

小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖红枣粽的小女孩。紧接前面几篇ChatGPT Prompt工程系列文章:

更多、更新文章欢迎关注 微信公众号:小窗幽记机器学习。后续会持续整理模型加速、模型部署、模型压缩、LLM、AI艺术等系列专题,敬请关注。

今天这篇小作文是吴恩达《Building Systems with the ChatGPT API》课程的第1篇笔记,继续以智能客服场景为例,介绍如何编写ChatGPT的思维链Prompt从而为用户提供智能客服服务。在智能客服场景中,经常会有用户询问对比各种产品的价格,如何让智能客服提供准确的答案?这就需要在构建Prompt过程中引入思维链的编写方式。

产品比价

delimiter = "####"
system_message = f"""
按照以下步骤回答客户的查询:
客户的查询将使用四个井号(#)进行分隔,即{delimiter}。

Step 1:{delimiter} 首先确定用户是否询问有关特定产品或产品的问题。产品类别不计入其中。

Step 2:{delimiter} 如果用户询问特定产品,请确定这些产品是否在以下列表中。
所有可用产品:

1.  产品:TechPro超极本
    类别:电脑和笔记本
    品牌:TechPro
    型号:TP-UB100
    保修:1年
    评分:4.5
    特点:13.3英寸显示屏,8GB内存,256GB固态硬盘,英特尔Core i5处理器
    描述:时尚轻薄的超极本,适合日常使用。
    价格:799.99美元

2.  产品:BlueWave游戏笔记本电脑
    类别:电脑和笔记本
    品牌:BlueWave
    型号:BW-GL200
    保修:2年
    评分:4.7
    特点:15.6英寸显示屏,16GB内存,512GB固态硬盘,NVIDIA GeForce RTX 3060
    描述:高性能游戏笔记本电脑,带来沉浸式体验。
    价格:1199.99美元

3.  产品:PowerLite可转换本
    类别:电脑和笔记本
    品牌:PowerLite
    型号:PL-CV300
    保修:1年
    评分:4.3
    特点:14英寸触摸屏,8GB内存,256GB固态硬盘,360度铰链
    描述:多功能可转换笔记本电脑,配备灵敏的触摸屏。
    价格:699.99美元

4.  产品:TechPro台式机
    类别:电脑和笔记本
    品牌:TechPro
    型号:TP-DT500
    保修:1年
    评分:4.4
    特点:英特尔Core i7处理器,16GB内存,1TB硬盘,NVIDIA GeForce GTX 1660
    描述:功能强大的台式电脑,适用于工作和娱乐。
    价格:999.99美元

5.  产品:BlueWave Chromebook
    类别:电脑和笔记本
    品牌:BlueWave
    型号:BW-CB100
    保修:1年
    评分:4.1
    特点:11.6英寸显示屏,4GB内存,32GB闪存,Chrome OS
    描述:紧凑且价格实惠的Chromebook,适用于日常任务。
    价格:249.99美元

Step 3:{delimiter} 如果消息中包含上述列表中的产品,请列出用户在消息中做出的任何假设,\
例如笔记本电脑X比笔记本电脑Y大,或者笔记本电脑Z的保修期为2年。

Step 4:{delimiter} 如果用户做出了任何假设,请根据产品信息判断该假设是否正确。

Step 5:{delimiter} 首先,如果适用,礼貌地纠正客户的错误假设。\
只提及或引用上述5种可用产品中的产品,因为这是该商店售卖的唯一5种产品。以友好的口吻回答客户。

请使用以下格式:
Step 1:{delimiter} <步骤1的推理>
Step 2:{delimiter} <步骤2的推理>
Step 3:{delimiter} <步骤3的推理>
Step 4:{delimiter} <步骤4的推理>
回复客户:{delimiter} <对客户的回复>

请确保使用{delimiter}来分隔每个步骤。
"""

在编写完思维链Prompt后,进行以下实测:

user_message = f"""
BlueWave Chromebook比TechPro台式机贵多少?"""

messages =  [  
{'role':'system', 
 'content': system_message},    
{'role':'user', 
 'content': f"{delimiter}{user_message}{delimiter}"},  
] 

response = get_completion_from_messages(messages)
print(response)

ChatGPT 回复如下:

Step 1:#### 用户询问有关特定产品的价格。

Step 2:#### 用户询问的产品是BlueWave Chromebook和TechPro台式机。

Step 3:#### 用户假设BlueWave Chromebook比TechPro台式机贵。

Step 4:#### 根据产品信息,BlueWave Chromebook的价格为249.99美元,而TechPro台式机的价格为999.99美元。因此,TechPro台式机比BlueWave Chromebook贵750美元。

回复客户:#### TechPro台式机比BlueWave Chromebook贵750美元。

超纲问题答复

user_message = f"""
你们卖平板电视吗"""
messages =  [  
{'role':'system', 
 'content': system_message},    
{'role':'user', 
 'content': f"{delimiter}{user_message}{delimiter}"},  
] 
response = get_completion_from_messages(messages)
print(response)

ChatGPT 回复如下:

Step 1:#### 用户询问是否有关于特定产品的问题,即平板电视。

Step 2:#### 平板电视不在上述产品列表中。

Step 3:#### 该消息中没有任何假设。

Step 4:#### 无需判断假设的正确性,因为该消息中没有任何假设。

回复客户:#### 很抱歉,我们不售卖平板电视。我们售卖的电子产品包括TechPro超极本、BlueWave游戏笔记本电脑、PowerLite可转换本、TechPro台式机和BlueWave Chromebook。

省略思考过程

# 中文版
try:
    final_response = response.split(delimiter)[-1].strip()
except Exception as e:
    final_response = "抱歉,我现在有些问题,请尝试提出另一个问题。"
    
print(final_response)

输出结果如下:

很抱歉,我们不售卖平板电视。我们售卖的电子产品包括TechPro超极本、BlueWave游戏笔记本电脑、PowerLite可转换本、TechPro台式机和BlueWave Chromebook。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LLMprompt是通过模板定义的,该模板包含用于描述和表示任务输入和输出的占位符。通过prompt,我们可以控制LLM在不同任务上的应用。一个常见的prompt是使用问答形式的提示,其中包括一个question()提示符用于将输入转换为问题,以及一个answer()提示符用于回答生成的问题。不同的提示可以导致对输入的不同预测。因此,prompt的设计对于LLM的性能至关重要。 ASK ME ANYTHING PROMPTING (AMA)方法提出了一种简单而有效的方法来设计高质量的prompt。该方法通过产生多个有效的但不完美的prompt,然后将它们聚合起来,最终生成高质量的prompt。 这种方法可以减少开源LLM的参数数量,并取得比GPT3-175B更好的Few-Shot性能。 由于prompt的微小变化可能导致LLM性能的较大变化,因此prompt设计的重要性不容忽视。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [最新 | Ask Me Anything 一种提示(Prompt)语言模型的简单策略(斯坦福大学 & 含源码)](https://blog.csdn.net/yinizhilianlove/article/details/127215208)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值