本篇博客主要总结了 DeepLearning AI 公开课程 Prompt Engineering 提示词工程 第四章节 Summarizing 摘要的内容,也可以理解为该章节的笔记。
当下,有很多文本内容需要我们阅读,让 LLM 帮助我们总结摘要,可以提高我们的信息摄取效率。所谓的摘要任务,不仅仅是给出一段长文,要求它总结主旨,还可以有很多类似的工作,例如给出大量的评论数据,要求 LLM 帮助我们提取其中的反馈建议,又或者要求 LLM 只提取你关心的那部分信息,而不是对全文做一个笼统的概括。善用提示词,因此,让 LLM 帮助你完成数据的阅读和信息提取,可以节省大量的时间和精力。
1. 生成指定信息的摘要
给出一段文字,让 LLM 进行总结。这件事我们在上一个章节中已经做了很多遍。我们已经可以对输出的篇幅、重点关注的方面、输出的格式等做出要求。本章节的内容与上一章有些类似,也是为了让 LLM 生成更满足我们实际需求的文本。
首先来看这样一段产品评论。这个购买者买了一个熊猫毛绒玩具作为女儿的生日礼物,女儿非常喜欢,去哪儿都带着它。它柔软、可爱,长得友善等等。
1 | prod_review = """ |
接下来,我们将指示 LLM 简要总结这段评论。这对于有大量评论需要阅读的商家、市场调研者而言,是一种极大的解放。
1 | prompt = f""" |
我们可以看到,精简以后的内容,体现了客户的反馈,只是去掉了一些修饰词和使文本更完整的书面用语。更进一步,我们可以让 LLM 帮助我们做更多的事。比如,我们要将这些评论反馈给运输部门,他们只关心运输上的问题。可以在提示词中增加面向的对象,指出要重点侧向哪几个方面,让结果更符合特定群体的需求。
1 | prompt = f""" |
又或者,我们可以将面向的对象改成定价部门,为了便于 LLM 理解,可以再补充上这个部门的职能。可以看到,输出的内容又有了相应的调整。
1 | prompt = f""" |
2. 提取指定的信息
如前面我们所看到的那样,我们已经可以生成面向特定对象的摘要内容。但是,上面的提示词只是让 LLM 对文本内容进行了总结,生成了一段摘要。摘要是一段完整的文本。有时候,我们只需要关注一些信息,只要让 LLM 逐点罗列即可,而不需要再组织成文本。毕竟 1. 2. 3. 这样的形式,明显比藏在一个句子里面的信息要鲜明得多。
ok,让我们来试试看。注意,摘要对应的英文是 summary (summarize),而我们现在要做的,是让 LLM 提取出指定的信息,即 extract。如果要替换成中文的提示词,其实就是从“请写一段XXX的总结/摘要”,变成“请从XX提取相关信息”。
1 | prompt = f""" |
3. 多条评论的摘要
既然已经使用代码调用 LLM 接口了,那么,对于大量的重复工作,我们只需要一个循环遍历就可以解决。如果有很多条评论,我们可以将它们整合成一个数组。然后遍历,就可以快速完成对多条文本的总结。
1 | for i in range(len(reviews)): |
如果想要结果更易于通过代码传递,我们可以在这个循环体外定义一个数组,将结果逐个存入即可。
当然,仅仅是获取这些文本的摘要可能还是不够精炼,我们还是需要亲自阅读这些内容来做出自己的判断,顾客对产品是否满意,文章的主旨是什么,等等。其实,我们还可以指示 LLM 推理文本的情感,帮助我们更进一步提升效率。在第五章,我们将结合 LLM 的推理能力,帮助我们分析文本的情绪、主题等。
Prompt Engineering 提示词工程笔记汇总
- 第一、二章:编写指示的几个指导原则
- 第三章:迭代 Iterative
- 第四章:摘要 Summarizing
- 第五章:推理 Inferring
- 第六章:转化 Transferring
- 第七章:扩充 Expanding
- 第八章:聊天机器人 ChatBot
参考资料
ChatGPT Prompt Engineering for Developers - DeepLearning.AI
B站可以找到搬运翻译的中文版本👆:《吴恩达 x OpenAI Prompt课程》
- 本文作者: Berry
- 本文链接: https://wuxinberry.github.io/2025/01/21/Prompt-tips3/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!