Mleon的头像

扩展

扩展与温度
4
扩展与温度
前言
前言
介绍
介绍
邮件
邮件
温度
温度
视频出处
视频出处
扩展
扩展
邮件或文章
邮件或文章
好处
好处
头脑风暴
头脑风暴
坏处
坏处
垃圾邮件
垃圾邮件
正确使用
正确使用
生成邮件
生成邮件
温度参数
温度参数
准备工作
准备工作
定制邮件任务
定制邮件任务
生成邮件指令
生成邮件指令
机器生成提醒
机器生成提醒
邮件输入
邮件输入
已提取情绪
已提取情绪
回应输出
回应输出
温度
温度
最喜欢的食物
最喜欢的食物
温度参数建议
温度参数建议
同样邮件输入
同样邮件输入
修改温度参数
修改温度参数
不同温度对比
不同温度对比
不同回应输出
不同回应输出
自己尝试温度
自己尝试温度
高温度更随机
高温度更随机
自定义聊天机器人
自定义聊天机器人

扩展

2023-05-04
108 次观看
Mleon的头像
Mleon
粉丝:113
主题:5
描述:6
例子:10
其他:11
字数:5263
Mleon的头像
Mleon
粉丝:113

扩展与温度

出处 视频出处

https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/7/expanding

前言

扩展

扩展是将较短的文本片段,例如一组指示或一组主题,并且有一个大的语言模型生成一个较长的文本,

邮件或文章 扩展

例如电子邮件或一篇关于某一主题的文章。

好处

这有很好的用途,

头脑风暴 好处

例如你用一个大的语言模型做头脑风暴的伙伴。

坏处

但我还要承认,还有有问题使用这种方法,

垃圾邮件 坏处

例如,如果有人用它生成大量垃圾邮件。

要求 正确使用

所以当你使用一个大的语言模型的这些能力,请以负责任的方式和帮助他人的方式使用它。

介绍

介绍 生成邮件

在这个视频中,我们将介绍如何使用一种基于某些信息的语言模型来生成个人化的电子邮件。这个邮件自称来自一个人工智能机器人,正如安德鲁所提到的,这是很重要的。

介绍 温度参数

我们还要用另外一种模型的输入参数称为温度,这种方法可以使你改变对模型反应的探索和多样性。让我们开始吧。

邮件

惯例 准备工作

所以,在我们开始之前,我们将按惯例安排。所以设置OpenAI Python包,然后定义我们的帮助函数, getCompletion。

import openai
import os

from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv()) # read local .env file

openai.api_key  = os.getenv('OPENAI_API_KEY')
def get_completion(prompt, model="gpt-3.5-turbo",temperature=0): # Andrew mentioned that the prompt/ completion paradigm is preferable for this class
    messages = [{"role": "user", "content": prompt}]
    response = openai.ChatCompletion.create(
        model=model,
        messages=messages,
        temperature=temperature, # this is the degree of randomness of the model's output
    )
    return response.choices[0].message["content"]
定制邮件任务

现在我们将写一个定制的电子邮件响应给客户评论。因此,根据顾客的评价和情绪,我们将生成一个定制的响应。现在我们将使用语言模型来生成根据顾客的评价和评价的情感,向客户发送一个定制的电子邮件。

所以我们已经提取出这种情绪使用我们在推导视频中看到的那种提示,然后这是一个搅拌机的客户评论。现在我们将根据情绪来定制答复。

# given the sentiment from the lesson on "inferring",
# and the original customer message, customize the email
sentiment = "negative"

# review for a blender
review = f"""
So, they still had the 17 piece system on seasonal \
sale for around \$49 in the month of November, about \
half off, but for some reason (call it price gouging) \
around the second week of December the prices all went \
up to about anywhere from between \$70-$89 for the same \
system. And the 11 piece system went up around \$10 or \
so in price also from the earlier sale price of \$29. \
So it looks okay, but if you look at the base, the part \
where the blade locks into place doesn’t look as good \
as in previous editions from a few years ago, but I \
plan to be very gentle with it (example, I crush \
very hard items like beans, ice, rice, etc. in the \ 
blender first then pulverize them in the serving size \
I want in the blender then switch to the whipping \
blade for a finer flour, and use the cross cutting blade \
first when making smoothies, then use the flat blade \
if I need them finer/less pulpy). Special tip when making \
smoothies, finely cut and freeze the fruits and \
vegetables (if using spinach-lightly stew soften the \ 
spinach then freeze until ready for use-and if making \
sorbet, use a small to medium sized food processor) \ 
that you plan to use that way you can avoid adding so \
much ice if at all-when making your smoothie. \
After about a year, the motor was making a funny noise. \
I called customer service but the warranty expired \
already, so I had to buy another one. FYI: The overall \
quality has gone done in these types of products, so \
they are kind of counting on brand recognition and \
consumer loyalty to maintain sales. Got it in about \
two days.
"""
生成邮件指令 定制邮件任务

下面的指令是,你是客户服务人工智能助理。你的任务是向一个重要客户发送电子邮件答复。给定由三个反引号分隔的客户电子邮件,生成答复以感谢客户对其评论。

  • 如果情绪是积极或中立的,请感谢他们的评论。

  • 如果情绪是消极的,请道歉并建议他们联系客户服务。

确保使用评论中的具体细节,用简洁而专业的话语写,并将电子邮件签名为AI客户代理。

prompt = f"""
You are a customer service AI assistant.
Your task is to send an email reply to a valued customer.
Given the customer email delimited by ```, \
Generate a reply to thank the customer for their review.
If the sentiment is positive or neutral, thank them for \
their review.
If the sentiment is negative, apologize and suggest that \
they can reach out to customer service. 
Make sure to use specific details from the review.
Write in a concise and professional tone.
Sign the email as `AI customer agent`.
Customer review: ```{review}```
Review sentiment: {sentiment}
"""
response = get_completion(prompt)
print(response)
要求 机器生成提醒

当你使用语言模型时生成你将向用户显示的文本,有这种透明度是很重要的,让用户知道他们看到的文本是由人工智能生成的。

邮件输入

然后我们输入客户评论和评论情绪。

提醒 已提取情绪

同时注意,这部分不一定是重要的,因为我们实际上可以利用这个提示来提取评论情绪,然后在后续步骤中,写电子邮件。只是为了这个例子,我们已经从评论中提取了这种情绪。

回应输出 邮件输入

这里是我们对顾客的回应。它处理了客户在评论中提到的细节,正如我们指示的,建议他们接触客户服务,因为这只是一个人工智能客户服务代理。

温度

温度

接下来,我们将使用语言模型的一个参数,叫做温度。这将使我们能够改变模型的反应的多样性。所以你可以把温度看作模型的探索程度或随机性。

最喜欢的食物 温度

因此,对于这个特定的短语,“最喜欢的食物是”,模型预测的最可能的下一个单词是披萨,而下一个最可能的单词是寿司和玉米卷。

  • 所以,在温度为零时,模型将始终选择最可能的下一个单词,这个例子是披萨,

  • 在更高的温度下,它还将选择其中一个不太可能的单词,

  • 并且在更高的温度下,它甚至可能会选择玉米卷,这只有5%的几率被选择。

你可以想象,随着模型继续这个最终响应,“我最喜欢的食物是披萨”,并继续生成更多的单词,这个响应将与第一个响应不同,“我最喜欢的食物是玉米卷”。

因此,随着模型的继续,这两个响应将变得越来越不同。

建议 温度参数建议
  • 总的来说,在构建你希望具有可预测响应的应用程序时,我建议使用温度为零。在所有这些视频中,我们都使用温度为零,我想如果你想建立一个系统是可靠的,可以预料的,你应该这么做。

  • 如果你想用一种更创造性的模式,你可能想要更广泛的不同输出,你可能想要使用更高的温度。

同样邮件输入

现在让我们使用我们刚才使用的同样的提示,让我们尝试生成一个电子邮件,但让我们使用更高的温度。

修改 修改温度参数

在我们的getCompletion功能中,我们一直在整个视频中使用,我们已经指定了模型,然后还指定了温度,但我们已经把它们设置为默认。现在让我们尝试改变温度。所以我们使用提示,然后试一下0.7的温度。

response = get_completion(prompt, temperature=0.7)

不同温度对比
  • 因此,在温度为零时,每次你执行相同的提示,你应该期望同样的输出,

  • 而在温度为0.7°C时,你每次都会得到不同的输出。

不同回应输出 同样邮件输入

我们这里收到了我们的电子邮件,正如你所看到的,与我们以前收到的电子邮件不同。让我们再执行它来证明我们将再次收到不同的电子邮件。这样就有另一个不同的电子邮件。

建议 自己尝试温度

因此,我建议你自己尝试温度。也许你现在可以暂停视频并试一下使用各种不同的温度进行此提示,看看输出如何变化。

高温度更随机

总之,在较高的温度下,模型的输出更随机。你几乎可以认为在较高的温度下,助手更容易分散注意力,但也许更有创造力。

预告 自定义聊天机器人

在下一个视频中,我们将更多地谈论聊天完成端点格式和如何可以使用这个格式创建一个自定义聊天机器人。

讨论
随记