LLM 系列 | 09:吴恩达ChatGPT Prompt课程实践:以智能客服邮件为例

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 主要介绍如何用ChatGPT进行文本扩展,并以如何根据客户评价和情感撰写自定义电子邮件为例详细说明。

简介

漠漠水田飞白鹭,阴阴夏木啭黄鹂。小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖铁观音的小女孩。紧接前面几篇ChatGPT Prompt工程系列:LLM 系列 | 04:ChatGPT Prompt编写指南05:如何优化ChatGPT Prompt?06:ChatGPT Prompt实践:文本摘要&推断&。今天这篇小作文主要介绍如何用ChatGPT进行文本扩展,并以如何根据客户评价和情感撰写自定义电子邮件为例详细说明。

这里指的文本扩展(Expanding)是将短文本,例如一组说明或主题列表,输入到大型语言模型LLM中,让模型生成更长的文本,例如基于某个主题的电子邮件或论文。这样做有一些很实用的用途,例如将大型语言模型用作头脑风暴的工具。但这种做法也存在一些问题,例如某些人可能会使用它来生成大量垃圾邮件。因此,当你使用大型语言模型的这些功能时,请仅以负责任的方式和有益于人们的方式使用它们。

在这个章节中,将介绍如何基于 OpenAI API 生成适用于每个客户评价的客服电子邮件。在这个过程还将使用模型的另一个输入参数:温度系数。该参数控制模型产生回复的多样性程度。

环境准备

import openai
import os

openai.api_key  = "sk-xxx" 

import os
os.environ['HTTP_PROXY'] = "http://XXX:xx"
os.environ['HTTPS_PROXY'] = "http://XXXX:xx"

# 一个封装 OpenAI 接口的函数,参数为 Prompt,返回对应结果
def get_completion(prompt, model="gpt-3.5-turbo", temperature=0):
    '''
    prompt: 对应的提示
    model: 调用的模型,默认为 gpt-3.5-turbo(ChatGPT),有内测资格的用户可以选择 gpt-4
    temperature: 温度系数
    '''
    messages = [{"role": "user", "content": prompt}]
    response = openai.ChatCompletion.create(
        model=model,
        messages=messages,
        temperature=temperature, # 模型输出的温度系数,控制输出的随机程度
    )
    # 调用 OpenAI 的 ChatCompletion 接口
    return response.choices[0].message["content"]

定制客服邮件

如何根据客户评价和情感撰写自定义电子邮件作为回复?使用 LLM 根据客户评价和评论情感生成定制电子邮件,对于给定的客户评价和情感,生成自定义回复。

首先给出一个示例,包括一个评论及对应的情感。

# 我们可以在推理那章学习到如何对一个评论判断其情感倾向
sentiment = "negative"

# 一个产品的评价
review = f"""
他们在11月份的季节性销售期间以约49美元的价格出售17件套装,折扣约为一半。\
但由于某些原因(可能是价格欺诈),到了12月第二周,同样的套装价格全都涨到了70美元到89美元不等。\
11件套装的价格也上涨了大约10美元左右。\
虽然外观看起来还可以,但基座上锁定刀片的部分看起来不如几年前的早期版本那么好。\
不过我打算非常温柔地使用它,例如,\
我会先在搅拌机中将像豆子、冰、米饭等硬物研磨,然后再制成所需的份量,\
切换到打蛋器制作更细的面粉,或者在制作冰沙时先使用交叉切割刀片,然后使用平面刀片制作更细/不粘的效果。\
制作冰沙时,特别提示:\
将水果和蔬菜切碎并冷冻(如果使用菠菜,则轻轻煮软菠菜,然后冷冻直到使用;\
如果制作果酱,则使用小到中号的食品处理器),这样可以避免在制作冰沙时添加太多冰块。\
大约一年后,电机发出奇怪的噪音,我打电话给客服,但保修已经过期了,所以我不得不再买一个。\
总的来说,这些产品的总体质量已经下降,因此它们依靠品牌认可和消费者忠诚度来维持销售。\
货物在两天内到达。
"""

这里使用文本推断章节中的情感提取Prompt。这是一个关于搅拌机的客户评价,现在我们将根据情感定制回复。

这里的指令是:
假设你是一个客户服务AI助手,你的任务是为客户发送电子邮件回复,根据通过三个反引号分隔的客户电子邮件,生成一封回复以感谢客户的评价。

具体如下:

prompt = f"""
你是一位客户服务的AI助手。
你的任务是给一位重要客户发送邮件回复。
根据客户通过“```”分隔的评价,生成回复以感谢客户的评价。提醒模型使用评价中的具体细节
用简明而专业的语气写信。
作为“AI客户代理”签署电子邮件。
客户评论:
```{review}```
评论情感:{sentiment}
"""
response = get_completion(prompt)
print(response)

生成结果如下:

尊敬的客户,

感谢您对我们产品的评价。我们非常重视您的反馈,对于您提到的问题,我们深表歉意。我们会尽快采取措施,改进我们的产品质量和服务。

我们很高兴您对我们的交付速度感到满意。同时,我们也非常感谢您分享了您对我们产品的使用方法和技巧。我们会将这些细节纳入我们的产品使用说明中,以帮助更多的客户更好地使用我们的产品。

如果您有任何其他问题或建议,请随时联系我们的客服团队。我们将竭诚为您服务。

此致,

AI客户代理

使用温度系数

接下来,我们将使用语言模型中一个称为“温度”(温度系数)的参数,它将控制模型回复的多样性。我们可以将温度视为模型探索或随机性的程度。其实就是探索和利用,即Exploration和Exploitation直接的平衡。

例如,在一个特定的短语中,"我的最爱食品"最有可能的下一个词是"比萨",其次最有可能的是"寿司"和"塔可"。因此,在温度系数为零时,模型将总是选择最有可能的下一个词,而在较高的温度系数下,它还将选择其中一个不太可能的词。在更高的温度系数下,它甚至可能选择"塔可",而这种可能性仅为五分之一。可以想象,随着模型继续生成更多单词的最终响应,"我的最爱食品是比萨"将会与第一个响应"我的最爱食品是塔可"产生差异。因此,随着模型的继续,这两个响应将变得越来越不同。

一般来说,在构建需要可预测响应的应用程序时,建议将温度系数设置为零。在前面的小作文里面,一直将温度系数设置为零。如果正在尝试构建一个可靠和可预测的系统,应该将温度系数设置为零,以确保输出结果的一致性。如果尝试以更具创意的方式使用模型,可能需要更广泛地输出不同的结果,那么可以使用更大的温度系数。

下面将温度系数设置为 0.7:

prompt = f"""
你是一名客户服务的AI助手。
你的任务是给一位重要的客户发送邮件回复。
根据通过“```”分隔的客户电子邮件生成回复,以感谢客户的评价。
如果情感是积极的或中性的,感谢他们的评价。
如果情感是消极的,道歉并建议他们联系客户服务。
请确保使用评论中的具体细节。
以简明和专业的语气写信。
以“AI客户代理”的名义签署电子邮件。
客户评价:```{review}```
评论情感:{sentiment}
"""
response = get_completion(prompt, temperature=0.7)
print(response)

输出结果如下:

尊敬的客户,

非常感谢您对我们产品的评价。我们对您的不满深表歉意。我们一直致力于提供高质量的产品和服务,但显然我们在这次失败中没有达到您的期望。

我们非常关注您提到的问题,并确保这些问题得到解决。我们建议您联系我们的客户服务,以寻求进一步的帮助,并希望我们能够取得您的信任和满意。

再次感谢您对我们产品的反馈,我们会尽全力改进和提高我们的服务质量。祝您生活愉快!

此致,

AI客户代理

在温度系数为零时,每次执行相同的Prompt时,每次运行的输出结果应该是相同的。而使用温度为0.7,则每次都会获得不同的输出。

所以,可以看到它与我们之前收到的电子邮件不同。让我们再次执行它,以显示我们将再次获得不同的电子邮件。

因此,建议试试改变温度系数的值,以查看输出如何变化。总之,在更大的温度系数下,模型的输出更加随机。几乎可以将其视为在更大的温度系数下,AI助手更易分心,但也许更有创造力。

相关文章
|
2月前
|
SQL 人工智能 监控
SLS Copilot 实践:基于 SLS 灵活构建 LLM 应用的数据基础设施
本文将分享我们在构建 SLS SQL Copilot 过程中的工程实践,展示如何基于阿里云 SLS 打造一套完整的 LLM 应用数据基础设施。
493 53
|
3月前
|
负载均衡 NoSQL Redis
不增加 GPU,首 Token 延迟下降50%|LLM 服务负载均衡的新实践
针对LLM服务的特点,Higress AI网关以插件形式提供了面向LLM服务的负载均衡算法,包括全局最小请求数负载均衡、前缀匹配负载均衡以及GPU感知负载均衡,能够在不增加硬件成本的前提下,提升系统的吞吐能力、降低响应延迟,并实现更公平、高效的任务调度。
413 135
|
1月前
|
机器学习/深度学习 缓存 监控
139_剪枝优化:稀疏模型压缩 - 分析结构化剪枝的独特速度提升与LLM部署加速实践
随着大语言模型(LLM)规模的不断增长,模型参数量已从最初的数亿扩展到数千亿甚至万亿级别。这种规模的模型在推理过程中面临着巨大的计算和内存挑战,即使在最先进的硬件上也难以高效部署。剪枝优化作为一种有效的模型压缩技术,通过移除冗余或不重要的参数,在保持模型性能的同时显著减少计算资源需求。
|
1月前
|
机器学习/深度学习 缓存 PyTorch
131_推理加速:ONNX与TensorRT深度技术解析与LLM模型转换优化实践
在大语言模型(LLM)时代,高效的推理加速已成为部署高性能AI应用的关键挑战。随着模型规模的不断扩大(从BERT的数亿参数到GPT-4的数千亿参数),推理过程的计算成本和延迟问题日益突出。ONNX(开放神经网络交换格式)和TensorRT作为业界领先的推理优化框架,为LLM的高效部署提供了强大的技术支持。本文将深入探讨LLM推理加速的核心原理,详细讲解PyTorch模型转换为ONNX和TensorRT的完整流程,并结合2025年最新优化技术,提供可落地的代码实现与性能调优方案。
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
118_LLM模型量化与压缩:从理论到2025年实践技术详解
大型语言模型(LLM)在自然语言处理领域取得了前所未有的成功,但模型规模的快速增长带来了巨大的计算和存储挑战。一个典型的大型语言模型(如GPT-4或LLaMA 3)可能包含数千亿甚至万亿参数,需要数百GB甚至TB级的存储空间,并且在推理时需要大量的计算资源。这种规模使得这些模型难以在边缘设备、移动设备甚至资源有限的云服务器上部署和使用。
|
4月前
|
人工智能 安全 Serverless
企业AI落地实践(三):使用 AI 网关解决 AI Agent 与 LLM 的交互挑战
无论是编码方式构建 AI Agent,还是可视化流程式构建 AI Agent,一旦脱离了 LLM,就不存在 AI 一说了。所以 AI Agent 如何合理地、生产级地与 LLM 结合,将是我们今天文章的核心内容。
588 17
可控细节的长文档摘要,探索开源LLM工具与实践
本文通过将文档分为几部分来解决这个问题,然后分段生成摘要。在对大语言模型进行多次查询后,可以重建完整的摘要。通过控制文本块的数量及其大小,我们最终可以控制输出中的细节级别。
|
人工智能 监控 数据库
LLM 应用可观测性:从 Trace 视角展开的探索与实践之旅
基于大语言模型的应用在性能、成本、效果等方面存在一系列实际痛点,本文通过分析 LLM 应用模式以及关注点差异来阐明可观测技术挑战,近期阿里云可观测推出了面向 LLM 应用的可观测解决方案以及最佳实践,一起来了解下吧。
20128 126
LLM 应用可观测性:从 Trace 视角展开的探索与实践之旅
|
10月前
|
搜索推荐 前端开发 API
构建智能导购助手:百炼大模型的实践与探索
智能导购助手利用百炼大模型的Multi-Agent架构,实现精准的商品推荐和主动式对话,解决购物时商品选择困难、需求沟通成本高、推荐缺乏个性化等问题。通过详细的部署实践和技术架构解析,本文带你深入了解如何打造一个高效、个性化的智能导购系统,提升购物体验与满意度。
764 6
构建智能导购助手:百炼大模型的实践与探索
|
11月前
|
人工智能 自然语言处理 机器人
机器人迈向ChatGPT时刻!清华团队首次发现具身智能Scaling Laws
清华大学研究团队在机器人操作领域发现了数据规模定律,通过大规模数据训练,机器人策略的泛化性能显著提升。研究揭示了环境和对象多样性的重要性,提出了高效的數據收集策略,使机器人在新环境中成功率达到约90%。这一发现有望推动机器人技术的发展,实现更广泛的应用。
177 26