ChatGPT工程——第三部分(探索不同的使用案例)

ChatGPT中文站
Photo by Scott Graham on Unsplash

在ChatGPT Prompt Engineering 系列的第一部分中,我们学习了关于ChatGPT和不同类型的大型语言模型的知识。我们还探讨了可以指导我们进行提示工程的原则和策略。在第二部分中,我们深入了解了迭代提示开发过程,这有助于开发人员在与Instruction Tuned LLMs一起工作时精细化他们的提示。该过程涉及修改提示以实现所需的结果。

在我们系列的第三部分,标题为“探索不同的用例”,我将深入探讨几个选定的用例,在这些用例中,ChatGPT Prompt工程可以被有效地应用。虽然有许多潜在的应用,但我将专注于探索两个或可能三个具体的用例。通过研究这些例子,我们可以更深入地了解如何利用提示工程在实际情况下实现所需的结果。所以,让我们深入挖掘这些选定的用例,揭示ChatGPT Prompt工程的可能性。

在探索不同的用例之前,重要的是导入必要的库并创建一个帮助函数,使 prompt 的使用更加容易。

import openai
import os
openai.api_key = "YOUR OPEN AI API KEY"
def get_completion(prompt, model="gpt-3.5-turbo"):
messages = [{"role": "user", "content": prompt}]
response = openai.ChatCompletion.create(
model=model,
messages=messages,
temperature=0,
)
return response.choices[0].message["content"]

用例1:总结

在今天快节奏的世界中,信息过载是一个普遍的挑战,让我们没有足够的时间阅读详尽的文本。大型语言模型通过启用文本摘要来提供一个令人信服的解决方案。

总结是将信息凝练到其关键点,提供对主要思想和重要细节的简明理解,而不需要完整的阅读。就像有一个熟练的讲故事的人,提炼一个故事的精华,让我们快速抓住核心信息,而不会在细节中迷失。总结简化了复杂的信息,使其易于获取,节省了宝贵的时间和精力。

让我们深入一个示例,探索文本摘要的优势。

product_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.
"""

优势1:用一个词/句子/字数限制来概括。

针对那些正在开发大量评论的电子商务网站的人来说,使用工具来总结长篇评论非常有价值。这种方法可以使您高效地浏览更多的评论,深入了解客户的想法和反馈。同时保持html结构。

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: ```{product_review}```
"""

response = get_completion(prompt)
print(response)
ChatGPT中文站
Text Summarization with word/sentence/character limit

优点2:以运输和交货为重点进行总结。

生成摘要时,必须考虑您心中具体的目的。举个例子,如果您的目标是向物流部门提供反馈,那么关键是要相应地调整提示。这样,您可以生成一个高度相关和适用于业务中特定一组人的摘要。

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: ```{product_review}```
"""

response = get_completion(prompt)
print(response)
ChatGPT中文站
Summarizing with a focus on shipping and delivery

与ChatGPT合作不仅仅有摘要的好处。要探索使用此模型的更多优势,您可以参考GitHub获取更详细的信息。

使用案例2:推断

在传统的机器学习工作流程中,从文本中提取情感(积极或消极)通常涉及收集标记数据集、训练模型、部署到云端和推断。虽然这种方法非常有效,但它需要大量的劳动力。此外,必须为每个特定任务(如情感分析或命名实体识别)训练和部署单独的模型。相比之下,使用大型语言模型,您可以通过提供精心设计的提示,仅使用单个模型完成所有这些任务。

让我们来深入一个例子,探索文本推断的优势。

movie_review = """
John wick stands out in a crowd of overdone ,uninspired and boring action adventure films, \
John wick shouldn't of been as good as it is but with some great acting and fun world building \
John wick makes for a fantastic movie. My main issue with most movies similar to John wick are \
that most of the fight scenes have to many cuts so you can barely see what's going on. John wick \
doesn't have this issue in any of its action scenes. Every fight scene is fun, exciting and a \
massive thrill ride, there are also just the right amount of fight scenes so they don't fill \
like director just randomly threw some in with no thought or reason other than just to keep \
the viewer entertained, also each location that the fight scene is filmed in is very different \
from the last and that helps keep all the fight scenes fresh and exciting to watch.
"""

优点1:执行情感分析

情感分析,也称为意见挖掘,是一种从文本中确定和提取主观信息,以识别其情感或情感色彩的过程。它涉及使用自然语言处理(NLP)技术来分析和分类文本数据为积极、消极或中性。

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

Review text: '''{movie_review}'''
"""
response = get_completion(prompt)
print(response)
ChatGPT中文站
Sentiment Analysis

如果您发现自动生成的评论过长或者更喜欢模型简洁的回复,以便于后处理。您可以通过调整提示来实现这一点。

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

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

Review text: '''{movie_review}'''
"""
response = get_completion(prompt)
print(response)
ChatGPT中文站
sentiment analysis after preprocessing

优点2:识别情感类型

现在,让我们来看另一个提示,继续关注电影评论。在这种情况下,提示如下:“确定撰写下一篇评论的作者传达的一组情感。将列表限制在最多五个项目。”

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: '''{movie_review}'''
"""

response = get_completion(prompt)
print(response)
ChatGPT中文站
different types of emotions identified

此外,使用ChatGPT时利用推断还有其他好处。为了探索这种方法的额外优势,您可以访问GitHub获取更多信息。

使用案例3: 转换

大型语言模型擅长将输入从一种格式转换为另一种格式。例如,它们可以将用一种语言编写的文本有效地转换或翻译成另一种语言。此外,它们擅长协助拼写和语法纠正。

让我们深入例子,探索转变的优势。

优点1:翻译

大型语言模型通过使用来自多种来源的大量文本数据进行训练,包括互联网的广阔领域。因此,它们获得了执行翻译的能力,涵盖许多语言。这些模型拥有数百种语言的知识,尽管掌握程度有所不同。

prompt = f"""
Translate the following English text to German: \
```Hi, I would like to order a blender```
"""

response = get_completion(prompt)
print(response)
ChatGPT中文站
English to German translation

优点2:通用翻译器

身在跨国电商公司的IT部门负责人职位上。你会接收到来自用户的 IT 问题报告,其各自使用不同的本地语言表达。你的团队由来自世界各地、只能使用自己本地语言的个人组成。在这种情况下,你所需要的是一种通用翻译工具,来弥补沟通上的隔阂!

user_messages = [
"La performance du système est plus lente que d'habitude.", # System performance is slower than normal
"Mi monitor tiene píxeles que no se iluminan.", # My monitor has pixels that are not lighting
"Il mio mouse non funziona", # My mouse is not working
"Mój klawisz Ctrl jest zepsuty", # My keyboard has a broken control key
"我的屏幕在闪烁" # My screen is flashing
]


for issue in user_messages:
prompt = f"Tell me what language this is: ```{issue}```"
breakpoint()
lang = get_completion(prompt)
print(f"Original message ({lang}): {issue}")

prompt = f"""
Translate the following text to English : ```{issue}```
"""

response = get_completion(prompt)
print(response, "\n")
ChatGPT中文站
Universal Translator

在使用ChatGPT时,利用转换技术有额外的好处。要了解更多转换的优点,请参考GitHub存储库以获取更多信息。

结论

总结

ChatGPT表现出了显著的多功能性,适用于各种用例。其中一个突出的应用是它的摘要能力,可以将冗长的文本或文章压缩成简洁的摘要。此外,ChatGPT在推理方面表现出色,可以根据给定提示回答问题并生成连贯的响应。此外,它的转化能力使其能够在语言之间转换文本并协助语法和拼写纠正。凭借其广泛的应用范围,ChatGPT展示了增强语言处理和交流任务多个方面的潜力。在本系列的下一节中,我们将探讨使用ChatGPT API、Python和Gradio创建聊天机器人的过程。

参考资料

  • 深度学习.ai ChatGPT 为开发者提供的提示工程
  • 如何使用ChatGPT来总结一篇文章
  • 请参考以下链接了解更多关于ChatGPT的用例:https://research.aimultiple.com/chatgpt-use-cases/

2023-10-20 16:52:28 AI中文站翻译自原文