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

news/2024/10/30 19:24:17/

简介

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

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

  • 04:ChatGPT Prompt编写指南
  • 05:如何优化ChatGPT Prompt?
  • 06:ChatGPT Prompt实践:文本摘要&推断&转换
  • 07:ChatGPT Prompt实践:以智能客服邮件为例
  • 08: ChatGPT Prompt实践:如何用ChatGPT构建点餐机器人?
  • 09: 基于ChatGPT构建智能客服系统(query分类&安全审核&防注入)

更多、更新文章欢迎关注 微信公众号:小窗幽记机器学习。后续会持续整理模型加速、模型部署、模型压缩、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。

http://www.ppmy.cn/news/513118.html

相关文章

NUCLEO-F411RE RT-Thread 体验 (8) - GCC环境 TIM定时器的驱动移植以及基本使用

NUCLEO-F411RE RT-Thread 体验 (8) - GCC环境 TIM定时器驱动移植与基本使用 驱动移植 定时器驱动文件位于drv_hwtimer.c中&#xff0c;对应components层的文件位于rt-thread/components/drivers/hwtimer/hwtimer.c中。 修改Makefile&#xff0c;将其编译进去。 在rtconfig.h…

网络打印机打印超慢或者打印不出的问题解决方法

网络打印机打印超慢或者打印不出 1。检查打印服务器本地打印是否正常 如果本地打印不出&#xff0c;检查打印机硬件是否完好&#xff0c;打印机与计算机连接线是否有断裂&#xff0c;重新安装打印驱动。 2。检查网络连接是否正常&#xff0c;是否能连通打印服务器 如果不能…

2021-11-11

安装SSMS时提示安装失败&#xff0c;证书已被颁发者直接吊销(0x800B010C)解决方法 网上有教程说下载什么什么软件解决的&#xff0c;最后也没解决。其实没那么复杂&#xff0c;直接到官网下载个新版本安装就可以了。点击这里获取官方下载地址。 找到需要的语言下载就可以&#…

Mac打印机提示“光电导元件已报废”无法打印

问题原因 驱动不匹配&#xff0c;去官网下载驱动&#xff0c;然后重新添加打印机即可。 注意事项 重新添加打印机的时候&#xff0c;不要通过ip添加。 直接通过安装好的驱动来添加即可。

打印机添加或者设置流程

作者&#xff1a;蓝眼泪 这里以震旦打印机的添加作为参考 环境准备&#xff1a;xp&#xff0c;win7或者win10操作系统&#xff0c;震旦打印机驱动。 1 开始 运行 输入命令 control 2 选择类别&#xff0c;打印机 3 添加打印机-我需要的打印机未列出&#xff0c;tcp/it,下一步…

win10系统安装打印机失败如何解决?

驱动人生说道&#xff0c;随着win10系统的普及&#xff0c;越来越多的小伙伴用上了win10系统。基本你win10安装好系统之后就能自动帮你打好驱动了&#xff0c;不需要你自己去安装驱动 但是&#xff0c;小编还是用的win7&#xff0c;因为习惯问题感觉用win10挺变扭的&#xff0…

Django操作MySQL数据库的优化方法

Django 是一个很流行的 Web 框架&#xff0c;而 MySQL 是常用的关系型数据库之一。在使用 Django 开发 Web 应用时&#xff0c;我们经常需要使用 MySQL 存储数据&#xff0c;因此如何加速 MySQL 是我们需要关注的问题。本文将介绍一些方法来优化 Django 中 MySQL 的性能。 使用…

win10如何共享打印机_windows1064位系统如何连接window732位共享打印机

一、问题描述 想必大家在办公的过程中,总会遇到打印机共享,其实打印机共享连接很简单,打印机连接的这台电脑,将打印机驱动安装好,然后共享一下,其它电脑可以通过访问,这台连接打印机电脑的主机名或者IP地址,直接安装驱动,就可以成功连接共享打印机了。 但是有一个另外…