面向开发者的提示词工程④——文本推断(Inferring)

文章目录

前言

面向开发者的提示词工程------导读
在这节课中,你将从产品评论和新闻文章中推断情感和主题。

举了个商品评论的例子

python 复制代码
lamp_review_zh = """
我需要一盏漂亮的卧室灯,这款灯具有额外的储物功能,价格也不算太高。\
我很快就收到了它。在运输过程中,我们的灯绳断了,但是公司很乐意寄送了一个新的。\
几天后就收到了。这款灯很容易组装。我发现少了一个零件,于是联系了他们的客服,他们很快就给我寄来了缺失的零件!\
在我看来,Lumina 是一家非常关心顾客和产品的优秀公司!
"""

一、情感(正向/负向)

通用输入:

python 复制代码
prompt = f"""
以下用三个反引号分隔的产品评论的情感是什么?

评论文本: ```{lamp_review_zh}```
"""
response = get_completion(prompt)
print(response)

输出:

python 复制代码
情感是积极的/正面的。

限制输入:

python 复制代码
prompt = f"""
以下用三个反引号分隔的产品评论的情感是什么?

用一个单词回答:「正面」或「负面」。

评论文本: ```{lamp_review_zh}```
"""
response = get_completion(prompt)
print(response)

输出:

python 复制代码
正面

二、识别情感类型

输入:

python 复制代码
# 中文
prompt = f"""
识别以下评论的作者表达的情感。包含不超过五个项目。将答案格式化为以逗号分隔的单词列表。

评论文本: ```{lamp_review_zh}```
"""
response = get_completion(prompt)
print(response)

输出:

python 复制代码
满意,感激,信任,赞扬,愉快

三、识别愤怒

对于很多企业来说,了解某个顾客是否非常生气很重要。

输入:

python 复制代码
# 中文
prompt = f"""
以下评论的作者是否表达了愤怒?评论用三个反引号分隔。给出是或否的答案。

评论文本: ```{lamp_review_zh}```
"""
response = get_completion(prompt)
print(response)

输出:

python 复制代码

四、从客户评论中提取产品和公司名称

对于这些评论来说,弄清楚是什么物品,谁制造了该物品,弄清楚积极和消极的情感,以跟踪特定物品或特定制造商的积极或消极情感趋势,可能会很有用。

在下面这个示例中,我们要求它将响应格式化为一个 JSON 对象,其中物品和品牌是键。

输入:

python 复制代码
prompt = f"""
从评论文本中识别以下项目:
- 评论者购买的物品
- 制造该物品的公司

评论文本用三个反引号分隔。将你的响应格式化为以 "物品" 和 "品牌" 为键的 JSON 对象。
如果信息不存在,请使用 "未知" 作为值。
让你的回应尽可能简短。
  
评论文本: ```{lamp_review_zh}```
"""
response = get_completion(prompt)
print(response)

输出:

python 复制代码
{
  "物品": "卧室灯",
  "品牌": "Lumina"
}

五、一次完成多项任务

提取上面所有这些信息使用了 3 或 4 个 prompt,但实际上可以编写单个 prompt 来同时提取所有这些信息。

输入:

python 复制代码
prompt = f"""
从评论文本中识别以下项目:
- 情绪(正面或负面)
- 审稿人是否表达了愤怒?(是或否)
- 评论者购买的物品
- 制造该物品的公司

评论用三个反引号分隔。将您的响应格式化为 JSON 对象,以 "Sentiment"、"Anger"、"Item" 和 "Brand" 作为键。
如果信息不存在,请使用 "未知" 作为值。
让你的回应尽可能简短。
将 Anger 值格式化为布尔值。

评论文本: ```{lamp_review_zh}```
"""
response = get_completion(prompt)
print(response)

输出:

复制代码
{
  "Sentiment": "正面",
  "Anger": false,
  "Item": "卧室灯",
  "Brand": "Lumina"
}

若觉得文章对你有帮助,随手『点赞』、『收藏』、『关注』,也是对我的支持。