给开发者使用的ChatGPT Prompt Engineering之大语言模型应用

660 阅读3分钟

此文章是给开发者使用的ChatGPT Prompt Engineering系列的第三篇,前两篇文章详见:指导原则迭代获取提示词

这篇文章,对应ChatGPT Prompt Engineering for Developers课程的第4到8讲,分别讲述了大语言模型的几个应用方向:

  • Summarizing
  • Infering
  • Transforming
  • Expanding
  • Chatbot

下面就针对各个应用场景简单分别介绍。

Summarizing

摘要总结应用场景,主要是将长文档概括总结为短的内容。

这里,作者主要举了下面三个例子:

  1. 增加字数和句子限制
  2. 指定摘要覆盖的要点
  3. 相关信息原文提取

分别对应的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文件):

  1. 情感分析——正面、负面、中性情感
  2. 情绪词识别——开心、悲伤、生气等等
  3. 特定信息抽取——产品和公司名称
  4. 主题识别
  5. 主题词判断
  6. 基于主题的消息提醒

Transforming

文本变换,涉及到了各种输出输出之间的转换。

典型的场景如下(具体prompt参考课程的jupyter notebook文件):

  1. 翻译,各种语言之间的互译
  2. 语言风格变换:俚语->正式邮件
  3. 文本格式变换:json->html
  4. 拼写、语法检查
  5. 语气、风格修改

Expanding

文本扩展,可以理解为根据题目要求作文。

相信经历过各种语文考试的人都应该能理解这是什么场景。而且prompt的构造也相对简单。

视频中给出的是智能客服回复邮件的例子。这里也就不再详述了。

这一讲中,还有一个重要的地方就是关于接口中temperature参数作用的讲解,具体来讲,就是temperature参数取值越大,模型给出的结果越随机或者说越有创造性,取值越小,结果越确定

temperature含义解读

temperature这个名字取得也很好——温度越高,分子运动越剧烈,熵越大,越混乱,结果也就越多样

Chatbot

这一讲主要是将如何构建聊天机器人。这里主要理解角色的概念就好。这里角色有三种:

  • system,相当于场景、环境等等,提供任务的背景
  • user,用户,即提供prompt输入
  • assistant,助手,即提供答案

因此,一个场景下,只需要一个system的定义即可。并且若想让机器人获得更好的上下文理解能力,则需要将user和assistant历史记录输入给模型

角色定义及作用

这里视频中给出了一个点菜机器人的样例。具体还是参考jupyter notebook文件。

总结

第4讲至第8讲,课程主要从总结、推理、变换、扩展、聊天机器人等场景介绍了LLM的应用,同时也讲解了temperature参数的作用。

关注算法工程笔记公众号,回复提示词,获取课程对应的课件和jupyter notebook文件(仅限个人学习使用,请勿用于商业用途)。