【OpenAI官方课程】第六课:ChatGPT文本扩展Expending

欢迎来到ChatGPT 开发人员提示工程课程(ChatGPT Prompt Engineering for Developers)!本课程将教您如何通过OpenAI API有效地利用大型语言模型(LLM)来创建强大的应用程序。

本课程由OpenAI 的Isa Fulford和 DeepLearning.AI 的Andrew Ng主讲,深入了解 LLM 的运作方式,提供即时工程的最佳实践,并演示 LLM API 在各种应用程序中的使用。

在这节课中,您将生成针对每位客户评价量身定制的客户服务电子邮件。

设置

import openai
import osfrom dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())  # 读取本地 .env 文件openai.api_key = os.getenv('OPENAI_API_KEY')def get_completion(prompt, model="gpt-3.5-turbo", temperature=0):messages = [{"role": "user", "content": prompt}]response = openai.ChatCompletion.create(model=model,messages=messages,temperature=temperature,  # 这是模型输出的随机程度)return response.choices[0].message["content"]

定制自动回复客户电子邮件

# 根据“推断”课程中的情感和原始客户消息,定制电子邮件
sentiment = "negative"# 关于搅拌机的评价
review = f"""
因此,在十一月份,他们仍然在季节性销售中以约49美元的价格销售17件套装,大约半价,但由于某种原因(称之为价格欺诈),到了十二月的第二周,所有价格都涨到了大约70-89美元之间,与同一系统相同。而11件套装的价格也比先前的29美元的销售价格上涨了约10美元左右。所以它看起来还好,但如果你看底座,刀锋锁定的地方看起来不如几年前的先前版本那么好,但我打算对它非常温柔(例如,我先在搅拌机中破碎像豆子、冰块、大米等非常硬的东西,然后在搅拌机中将它们粉碎成我想要的份量,然后切换到搅拌刀以获得更细的面粉,制作冰沙时首先使用交叉切割刀,然后使用平刀如果我需要更细/不那么浓稠的。制作冰沙时的特别提示,将要使用的水果和蔬菜切成细片并冷冻(如果使用菠菜-轻轻将菠菜炖软,然后冷冻直到使用时-如果制作冰糕,使用小到中等大小的食品处理器),这样你就可以避免在制作冰沙时添加太多冰。大约一年后,发动机发出奇怪的声音。我打电话给客户服务,但保修已经过期,所以我不得不再买一个。顺便说一下:这些产品的整体质量已经下降了,所以他们在依赖品牌认知度和消费者忠诚度来维持销售。两天内收到货。
"""prompt = f"""
您是一位客户服务 AI 助手。
您的任务是回复一位重要客户的电子邮件。
鉴于以``````括起来的客户电子邮件,
生成一封感谢客户评价的回复。
如果情感是积极的或中性的,请感谢他们的评价。
如果情感是负面的,请道歉并建议他们可以联系客户服务。
确保使用来自评价的具体细节。
用简明和专业的语气写。
将电子邮件签名为“AI 客户代理”。
客户评价:```{review}```
评价情感:{sentiment}
"""
response = get_completion(prompt)
print(response)

尊敬的客户,

感谢您抽出时间留下对我们产品的评价。很抱歉听到您对产品的价格上涨和质量不符合期望的感受。对此给您带来的任何不便,我们深感抱歉。

我们想向您保证,我们认真对待所有的反馈,我们一定会把您的评论传达给我们的团队。如果您有任何进一步的疑虑,请随时联系我们的客户服务团队寻求帮助。

再次感谢您的评价并选择我们的产品。我们希望在未来有机会为您提供更好的服务。

顺祝商祺,
AI 客户代理

提醒模型使用客户电子邮件中的细节

prompt = f"""
您是一位客户服务 AI 助手。
您的任务是回复一位重要客户的电子邮件。
鉴于以``````括起来的客户电子邮件,
生成一封感谢客户评价的回复。
如果情感是积极的或中性的,请感谢他们的评价。
如果情感是负面的,请道歉并建议他们可以联系客户服务。
确保使用来自评价的具体细节。
用简明和专业的语气写。
将电子邮件签名为“AI 客户代理”。
客户评价:```{review}```
评价情感:{sentiment}
"""
response = get_completion(prompt, temperature=0.7)
print(response)

尊敬的客户,

感谢您抽出时间留下评价。很抱歉听到您对价格上涨和产品质量感到失望。对此给您带来的任何不便,我们深感抱歉。如果您有任何进一步的疑虑,请随时联系我们的客户服务团队寻求帮助。

感谢您对我们品牌的忠诚,希望在未来能继续为您服务。再次感谢您的反馈。

此致, AI 客户代理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/699120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言-数组指针与指针数组

一、简介 对于使用C语言开发的人来说,指针,大家都是非常熟悉的。数组,大家也同样熟悉。但是这两个组合到一起的话,很多人就开始蒙圈了。这篇文章,就详细的介绍一下这两个概念。 指针数组和数组指针,听起来非…

PyTorch概述(二)---MNIST

NIST Special Database3 具体指的是一个更大的特殊数据库3;该数据库的内容为手写数字黑白图片;该数据库由美国人口普查局的雇员手写 NIST Special Database1 特殊数据库1;该数据库的内容为手写数字黑白图片;该数据库的图片由高…

互联网广告投放与IP地理位置定位

随着互联网的发展和普及,互联网广告投放成为各行业推广营销的重要方式之一。而结合IP地理位置定位技术,可以实现精准定向,提高广告投放的效果和精准度。IP数据云将探讨互联网广告投放与IP地理位置定位的关系,分析其优势和应用场景…

logback日志回滚原理

日志输出主要依赖RollingFileAppender、TimeBasedRollingPolicy、SizeAndTimeBasedFNATP。 RollingFileAppender 主要用于生成日志文件,格式化内容再输出到日志文件TimeBasedRollingPolicy 设置回滚策略,如果发现日志输出的时间超过单位时间&#xff0c…

c入门第二十二篇: 学生成绩管理系统查询优化(二分查找)

前言 师弟: “经过几轮优化之后,我的学生成绩管理系统,感觉已经非常不错了,是我学习以来做的最好的系统了。没想到,还是被嘲笑了。” 我:“怎么被嘲笑了?” 师弟:“程夏她说: 你在录入学生的时…

跟我学C++中级篇——C++17标准后的std::invoke系列

一、函数调用方式 在学习编程的开始,就接触到了函数和函数的调用。可以这样讲,不会调用函数,那么最基础的语言功能便无法使用了。无论是低级到汇编或者高级到哪个语言,函数仍然是其重要的基础一环。可能随便一个学习过编程的都可…

动态规划算法学习(基础)

做题步骤: 确定dp数组的含义(一维或者二维) 获取递推公式 dp数组如何初始化 确定遍历顺序 打印dp数组(检查) 题目: 1. 斐波那契数 509 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 …

留子厨房开发日志

以下记录了使用go语言框架Beego,Mysql数据库,Redis数据库实现一个点菜/菜谱应用API的全过程。 技术方案 github地址 数据库设计 新建数据库: CREATE DATABASE menu;新建数据表: CREATE TABLE menu ( id int(10) unsigned NOT …

2024 CKS 题库 | 11、AppArmor

不等更新题库 CKS 题库 11、AppArmor Context: APPArmor 已在 cluster 的工作节点node02上被启用。一个 APPArmor 配置文件已存在,但尚未被实施。 Task: 在 cluster 的工作节点node02上,实施位于 /etc/apparmor.d/nginx_apparmor 的现有APPArmor 配置…

Python 实现 ADTM 指标计算:股票技术分析的利器系列(9)

Python 实现 ADTM 指标计算:股票技术分析的利器系列(9) 介绍算法解释 核心代码rolling函数介绍计算 DTMnp.where 使用介绍np.maximum 计算 DBM计算 STM计算 SBM计算 ADTM 完整代码 介绍 ADTM(动态买卖气指标)是一种用…

C++奇怪的 ::template

答疑解惑 怎么会有::template的写法 起初 在阅读stl的源码的时候&#xff0c;发现了一条诡异的代码 // ALIAS TEMPLATE _Rebind_alloc_t template<class _Alloc,class _Value_type> using _Rebind_alloc_t typename allocator_traits<_Alloc>::template rebind…

【misc | CTF】攻防世界 simple_transfer

天命&#xff1a;这题其实不简单啊 拿到流量包&#xff0c;丢进去wireshare&#xff0c;题目都说了flag在里面 ctrl f 直接搜索字符串 右键&#xff0c;追踪流 -> TCP流 查找 .pdf 文件&#xff0c;其实这里思路是比较奇怪的&#xff0c;毕竟是的确比较多内容&#xff0c…

基于PostGIS的慢查询引起的空间索引提升实践

目录 前言 一、问题定位 1、前端接口定位 2、后台应用定位 3、找到问题所在 二、空间索引优化 1、数据库查询 2、创建空间索引 3、geography索引 4、再看前端响应 总结 前言 这是一个真实的案例&#xff0c;也是一个新入门的工程师很容易忽略的点。往往在设计数据库的…

NestJS入门4:MySQL typeorm 增删改查

前文参考&#xff1a; NestJS入门1 NestJS入门2&#xff1a;创建模块 NestJS入门3&#xff1a;不同请求方式前后端写法 1. 安装数据库相关模块 npm install nestjs/typeorm typeorm mysql -S 2. MySql中创建数据库 ​ 3. 添加连接数据库代码 app.module.ts ​ import { M…

给自己留个备忘,blender是右手坐标系

所谓右手坐标系&#xff0c;就是三个轴的方向和右手三根手指的方向一致&#xff08;当然&#xff0c;有要求的&#xff0c;这个要求是大拇指指向x轴方向&#xff0c;食指指向y轴方向,中指指向z轴方向&#xff09;。 不过blender默认是z轴朝上的&#xff0c;如下图。 右手坐标系…

element导航菜单el-menu添加搜索功能

element导航菜单-侧栏&#xff0c;自带的功能没有搜索或者模糊查询。 找了找资料 找到一个比较可行的&#xff0c;记录一下&#xff1a; //index.vue的代码 <div style"overflow:auto"><el-menu :default-active"$route.path":default-openeds&…

<网络安全>《49 网络攻防专业课<第十三课 - 华为防火墙的使用(2)>

6 防火墙的防范技术 6.1 ARP攻击防范 攻击介绍 攻击者通过发送大量伪造的ARP请求、应答报文攻击网络设备&#xff0c;主要有ARP缓冲区溢出攻击和ARP拒绝服务攻击两种。 ARP Flood攻击&#xff08;ARP扫描攻击&#xff09;&#xff1a;攻击者利用工具扫描本网段或者跨网段主机时…

构造器详解

定义: 是一种特殊类型的方法&#xff0c;用于创建对象时初始化对象的状态。 使用new关键字创建对象 构造器特点: 1.和类名相同 2.没有返回值 public class Person {String name;public Person() {this.name"John";}}public class Test {public static void main…

vue2+element医院安全(不良)事件报告管理系统源代码

目录 安全不良事件类型 源码技术栈 医院安全&#xff08;不良&#xff09;事件报告管理系统采用无责的、自愿的填报不良事件方式&#xff0c;有效地减轻医护人员的思想压力&#xff0c;实现以事件为主要对象&#xff0c;可以自动、及时、实际地反应医院的安全、不良、近失事件…

音视频技术-网络视频会议“回声”的消除

目录 一、“回音”的成因原理 二、解决思路 三、解决方案 1、方案一 2