此文章是给开发者使用的ChatGPT Prompt Engineering系列的第三篇,前两篇文章详见:指导原则、迭代获取提示词。
这篇文章,对应ChatGPT Prompt Engineering for Developers课程的第4到8讲,分别讲述了大语言模型的几个应用方向:
- Summarizing
- Infering
- Transforming
- Expanding
- Chatbot
下面就针对各个应用场景简单分别介绍。
Summarizing
摘要总结应用场景,主要是将长文档概括总结为短的内容。
这里,作者主要举了下面三个例子:
- 增加字数和句子限制
- 指定摘要覆盖的要点
- 相关信息原文提取
分别对应的prompt如下所示:
prompt = f"""
Your task is to generate a short summary of a product \
review from an ecommerce site to give feedback to the \
pricing deparmtment, responsible for determining the \
price of the product.
Summarize the review below, delimited by triple
backticks, in at most 30 words, and focusing on any aspects \
that are relevant to the price and perceived value.
Review: ```{prod_review}```
"""
这里prompt中的in at most 30 words 为字数限制,focusing on xxx 后的内容为指定的要点。
prompt = f"""
Your task is to extract relevant information from \
a product review from an ecommerce site to give \
feedback to the Shipping department.
From the review below, delimited by triple quotes \
extract the information relevant to shipping and \
delivery. Limit to 30 words.
Review: ```{prod_review}```
"""
注意这里的prompt将上面summary变成了extract relevant information。
Infering
推理场景,这里主要就是NLU中的常见场景。
在ChatGPT等LLM(大语言模型)出现之前,针对一种场景任务,均需要标注对应数据以及开发对应模型。
而现在,只需要进行prompt的编写,即可完成对应的任务。
这里推理的场景主要如下所示(具体的prompt参考课程的jupyter notebook文件):
- 情感分析——正面、负面、中性情感
- 情绪词识别——开心、悲伤、生气等等
- 特定信息抽取——产品和公司名称
- 主题识别
- 主题词判断
- 基于主题的消息提醒
Transforming
文本变换,涉及到了各种输出输出之间的转换。
典型的场景如下(具体prompt参考课程的jupyter notebook文件):
- 翻译,各种语言之间的互译
- 语言风格变换:俚语->正式邮件
- 文本格式变换:json->html
- 拼写、语法检查
- 语气、风格修改
Expanding
文本扩展,可以理解为根据题目要求作文。
相信经历过各种语文考试的人都应该能理解这是什么场景。而且prompt的构造也相对简单。
视频中给出的是智能客服回复邮件的例子。这里也就不再详述了。
这一讲中,还有一个重要的地方就是关于接口中temperature参数作用的讲解,具体来讲,就是temperature参数取值越大,模型给出的结果越随机或者说越有创造性,取值越小,结果越确定。
temperature这个名字取得也很好——温度越高,分子运动越剧烈,熵越大,越混乱,结果也就越多样。
Chatbot
这一讲主要是将如何构建聊天机器人。这里主要理解角色的概念就好。这里角色有三种:
- system,相当于场景、环境等等,提供任务的背景
- user,用户,即提供prompt输入
- assistant,助手,即提供答案
因此,一个场景下,只需要一个system的定义即可。并且若想让机器人获得更好的上下文理解能力,则需要将user和assistant历史记录输入给模型。
这里视频中给出了一个点菜机器人的样例。具体还是参考jupyter notebook文件。
总结
第4讲至第8讲,课程主要从总结、推理、变换、扩展、聊天机器人等场景介绍了LLM的应用,同时也讲解了temperature参数的作用。
关注算法工程笔记公众号,回复提示词,获取课程对应的课件和jupyter notebook文件(仅限个人学习使用,请勿用于商业用途)。