此文章是给开发者使用的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文件(仅限个人学习使用,请勿用于商业用途)。