ChatGPT Prompting开发实战(八)

一. 什么是归纳总结式的prompt开发

有时候需要对一段文本进行归纳总结,那么可以采取以下的方案:

-按照给定单词、句子或者字符的数量限制来让模型裁剪文本,使内容更精炼

-基于聚焦的主题进行总结

-只根据需求抽取相关的文本信息,不需要整段文本内容

除了上面列出的几种方式之外,还可能有额外的一些需求,譬如给出多段文本,要求模型同时对这些文本进行归纳总结。

接下来会给出具体示例,通过调用模型“gpt-3.5-turbo”来演示并解析如何针对以上谈到的这些文本归纳总结的需求,编写相应的prompts。

二. 结合案例演示解析如何使用prompt进行文本归纳总结

首先给出一段需要进行归纳总结的文本:

prod_review = """

Got this panda plush toy for my daughter's birthday, \

who loves it and takes it everywhere. It's soft and \ 

super cute, and its face has a friendly look. It's \ 

a bit small for what I paid though. I think there \ 

might be other options that are bigger for the \ 

same price. It arrived a day earlier than expected, \ 

so I got to play with it myself before I gave it \ 

to her.

"""

首先按照给定词汇数量限制的方式进行总结。

prompt示例如下:

prompt = f"""

Your task is to generate a short summary of a product \

review from an ecommerce site. 

Summarize the review below, delimited by triple 

backticks, in at most 30 words. 

Review: ```{prod_review}```

"""

response = get_completion(prompt)

print(response)

打印输出结果如下:

This panda plush toy is loved by the reviewer's daughter, but they feel it is a bit small for the price.

接下来修改prompt,针对产品物流这个主题进行总结。

prompt示例如下:

prompt = f"""

Your task is to generate a short summary of a product \

review from an ecommerce site to give feedback to the \

Shipping deparmtment. 

Summarize the review below, delimited by triple 

backticks, in at most 30 words, and focusing on any aspects \

that mention shipping and delivery of the product. 

Review: ```{prod_review}```

"""

response = get_completion(prompt)

print(response)

打印输出结果如下:

The customer is happy with the product but suggests offering larger options for the same price. They were pleased with the early delivery.

继续修改prompt,从产品价格和价值方面进行总结。

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}```

"""

response = get_completion(prompt)

print(response)

打印输出结果如下:

The reviewer is satisfied with the quality and appearance of the panda plush toy but feels that it is overpriced compared to similar options available.

下面通过修改prompt达到只抽取相关的文本信息的目的,而不需要对整段文本进行概括总结。

prompt示例如下:

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}```

"""

response = get_completion(prompt)

print(response)

打印输出结果如下:

The shipping department should take note that the product arrived a day earlier than expected.

接下来额外给出另外3段文本,要求模型对这4段文本同时进行总结,条件就是输出内容不能超过指定的字数限制。

review_1 = prod_review 

# review for a standing lamp

review_2 = """

Needed a nice lamp for my bedroom, and this one \

had additional storage and not too high of a price \

point. Got it fast - arrived in 2 days. The string \

to the 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. Then I had a \

missing part, so I contacted their support and they \

very quickly got me the missing piece! Seems to me \

to be a great company that cares about their customers \

and products. 

"""

# review for an electric toothbrush

review_3 = """

My dental hygienist recommended an electric toothbrush, \

which is why I got this. The battery life seems to be \

pretty impressive so far. After initial charging and \

leaving the charger plugged in for the first week to \

condition the battery, I've unplugged the charger and \

been using it for twice daily brushing for the last \

3 weeks all on the same charge. But the toothbrush head \

is too small. I’ve seen baby toothbrushes bigger than \

this one. I wish the head was bigger with different \

length bristles to get between teeth better because \

this one doesn’t.  Overall if you can get this one \

around the $50 mark, it's a good deal. The manufactuer's \

replacements heads are pretty expensive, but you can \

get generic ones that're more reasonably priced. This \

toothbrush makes me feel like I've been to the dentist \

every day. My teeth feel sparkly clean! 

"""

# review for a blender

review_4 = """

So, they still had the 17 piece system on seasonal \

sale for around $49 in the month of November, about \

half off, but for some reason (call it price gouging) \

around the second week of December the prices all went \

up to about anywhere from between $70-$89 for the same \

system. And the 11 piece system went up around $10 or \

so in price also from the earlier sale price of $29. \

So it looks okay, but if you look at the base, the part \

where the blade locks into place doesn’t look as good \

as in previous editions from a few years ago, but I \

plan to be very gentle with it (example, I crush \

very hard items like beans, ice, rice, etc. in the \ 

blender first then pulverize them in the serving size \

I want in the blender then switch to the whipping \

blade for a finer flour, and use the cross cutting blade \

first when making smoothies, then use the flat blade \

if I need them finer/less pulpy). Special tip when making \

smoothies, finely cut and freeze the fruits and \

vegetables (if using spinach-lightly stew soften the \ 

spinach then freeze until ready for use-and if making \

sorbet, use a small to medium sized food processor) \ 

that you plan to use that way you can avoid adding so \

much ice if at all-when making your smoothie. \

After about a year, the motor was making a funny noise. \

I called customer service but the warranty expired \

already, so I had to buy another one. FYI: The overall \

quality has gone done in these types of products, so \

they are kind of counting on brand recognition and \

consumer loyalty to maintain sales. Got it in about \

two days.

"""

reviews = [review_1, review_2, review_3, review_4]

prompt示例如下:

for i in range(len(reviews)):

    prompt = f"""

    Your task is to generate a short summary of a product \ 

    review from an ecommerce site. 

    Summarize the review below, delimited by triple \

    backticks in at most 20 words. 

    Review: ```{reviews[i]}```

    """

    response = get_completion(prompt)

print(i, response, "\n")

打印输出结果如下:

0 Panda plush toy is loved by daughter, soft and cute, but small for the price. Arrived early. 

1 Great lamp with storage, fast delivery, excellent customer service, and easy assembly. Highly recommended. 

2 The reviewer recommends the electric toothbrush for its impressive battery life, but criticizes the small brush head. 

3 The reviewer found the price increase after the sale disappointing and noticed a decrease in quality. 

你可能感兴趣的:(AI,prompt,chatgpt,大模型开发,自然语言处理,人工智能)