【Prompting】ChatGPT Prompt Engineering开发指南(4)


在本教程中,学习从产品评论和新闻文章中推断出态度和主题。基本设定跟之前教程一致。

产品评论文本

lamp_review = """
Needed a nice lamp for my bedroom, and this one had \
additional storage and not too high of a price point. \
Got it fast.  The string to our lamp broke during the \
transit and the company happily sent over a new one. \
Came within a few days as well. It was easy to put \
together.  I had a missing part, so I contacted their \
support and they very quickly got me the missing piece! \
Lumina seems to me to be a great company that cares \
about their customers and products!!
"""

情感(正/负面)

prompt = f"""
What is the sentiment of the following product review,
which is delimited with triple backticks?

Review text: '''{
      
      lamp_review}'''
"""
response = get_completion(prompt)
print(response)

执行结果:

The sentiment of the product review is positive.

简单点:

prompt = f"""
What is the sentiment of the following product review,
which is delimited with triple backticks?

Give your answer as a single word, either "positive" \
or "negative".

Review text: '''{
      
      lamp_review}'''
"""
response = get_completion(prompt)
print(response)

执行结果:

positive

识别情绪类型

prompt = f"""
Identify a list of emotions that the writer of the \
following review is expressing. Include no more than \
five items in the list. Format your answer as a list of \
lower-case words separated by commas.

Review text: '''{
      
      lamp_review}'''
"""
response = get_completion(prompt)
print(response)

执行结果:

happy, satisfied, grateful, impressed, content

识别愤怒

prompt = f"""
Is the writer of the following review expressing anger?\
The review is delimited with triple backticks. \
Give your answer as either yes or no.

Review text: '''{
      
      lamp_review}'''
"""
response = get_completion(prompt)
print(response)

执行结果:

No

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

prompt = f"""
Identify the following items from the review text:
- Item purchased by reviewer
- Company that made the item

The review is delimited with triple backticks. \
Format your response as a JSON object with \
"Item" and "Brand" as the keys.
If the information isn't present, use "unknown" \
as the value.
Make your response as short as possible.

Review text: '''{
      
      lamp_review}'''
"""
response = get_completion(prompt)
print(response)

执行结果:

{
    
    
  "Item": "lamp",
  "Brand": "Lumina"
}

一次执行多个任务

prompt = f"""
Identify the following items from the review text: 
- Sentiment (positive or negative)
- Is the reviewer expressing anger? (true or false)
- Item purchased by reviewer
- Company that made the item

The review is delimited with triple backticks. \
Format your response as a JSON object with \
"Sentiment", "Anger", "Item" and "Brand" as the keys.
If the information isn't present, use "unknown" \
as the value.
Make your response as short as possible.
Format the Anger value as a boolean.

Review text: '''{
      
      lamp_review}'''
"""
response = get_completion(prompt)
print(response)

执行结果:

{
    
    
  "Sentiment": "positive",
  "Anger": false,
  "Item": "lamp with additional storage",
  "Brand": "Lumina"
}

推断主题

story = """
In a recent survey conducted by the government,
public sector employees were asked to rate their level
of satisfaction with the department they work at.
The results revealed that NASA was the most popular
department with a satisfaction rating of 95%.

One NASA employee, John Smith, commented on the findings,
stating, "I'm not surprised that NASA came out on top.
It's a great place to work with amazing people and
incredible opportunities. I'm proud to be a part of
such an innovative organization."

The results were also welcomed by NASA's management team,
with Director Tom Johnson stating, "We are thrilled to
hear that our employees are satisfied with their work at NASA.
We have a talented and dedicated team who work tirelessly
to achieve our goals, and it's fantastic to see that their
hard work is paying off."

The survey also revealed that the
Social Security Administration had the lowest satisfaction
rating, with only 45% of employees indicating they were
satisfied with their job. The government has pledged to
address the concerns raised by employees in the survey and
work towards improving job satisfaction across all departments.
"""

推断5个主题

prompt = f"""
Determine five topics that are being discussed in the \
following text, which is delimited by triple backticks.

Make each item one or two words long.

Format your response as a list of items separated by commas.

Text sample: '''{
      
      story}'''
"""
response = get_completion(prompt)
print(response)

执行结果:

government survey, job satisfaction, NASA, Social Security Administration, employee concerns
response.split(sep=',')

主题分割
定义topic_list:

topic_list = [
    "nasa", "local government", "engineering",
    "employee satisfaction", "federal government"
]

为某些主题制作新闻提醒

prompt = f"""
Determine whether each item in the following list of \
topics is a topic in the text below, which
is delimited with triple backticks.

Give your answer as list with 0 or 1 for each topic.\

List of topics: {
      
      ", ".join(topic_list)}

Text sample: '''{
      
      story}'''
"""
response = get_completion(prompt)
print(response)

执行结果:

nasa: 1
local government: 0
engineering: 0
employee satisfaction: 1
federal government: 1

执行结果
下一节:探索如何将大型语言模型用于文本转换任务,如语言翻译、拼写和语法检查、音调调整和格式转换。

内容来源:

  1. Deeplearning.AI : 《ChatGPT Prompt Engineering for Developers》

猜你喜欢

转载自blog.csdn.net/ARPOSPF/article/details/130663668
今日推荐