少样本提示(Few-shot Prompting)是一种利用大语言模型从少量示例样本中学习并处理任务的方法。它的核心思想是利用大语言模型的上下文学习能力,通过在提示中增加“示例样本”来启发大语言模型达到举一反三的效果。这种方法避免了重新训练或者微调模型,是一种非常经济的做法。
让我们看看下面这个纠正错别字的例子。
# 任务描述
请对以下每一行文本纠错,找出其中的错别字,并按照“输出格式”输出。
# 待纠错文本
熊猫打滚,可爱又玩皮
熊猫血,珍贵无敝
熊猫国宝,人见人哀
# 输出格式
原始文本行(错字→对字)
# 输出结果
->
输出结果:
熊猫打滚,可爱又调皮 → 玩皮
熊猫血,珍贵无比 → 无敝
熊猫国宝,人见人爱 → 哀
我们可以看到,大语言模型并没有真正理解任务要求,它只是根据自己的常识和偏好给出了答案。为了进一步提升效果,我们可以在提示中提供一个具体的输出示例,让大语言模型根据示例学习这种处理任务的模式,示例如下:
# 任务描述
请对以下每一行文本纠错,找出其中的错别字,并按照“输出格式”输出。
# 错别字
熊猫打滚,可爱又玩皮
熊猫血,珍贵无敝
熊猫国宝,人见人哀
# 输出格式
原始文本行(错字→对字)
# 输出示例
熊猫眼,黑白分名(名→明)
...
# 输出结果
->
输出结果:
熊猫打滚,可爱又玩皮(玩→顽)
熊猫血,珍贵无敝(敝→比)
熊猫国宝,人见人哀(哀→爱)
可以看到,大语言模型仅仅通过这一个示例学就会了任务处理模式并输出了正确的结果。
当然,有时候仅通过一个示例可能还不够,需要持续地给大语言模型提供更多的示例才能达到更好的效果。在接下来的这个例子中。我们想让大语言模型根据一个动物的名称,输出它的表情符号、喜欢的食物的表情符号,以及居住区域的旗帜符号,提示如下:
# 任务描述
我会给你一个动物名称,请按照如下格式输出。
# 示例
输入->熊猫
输出->熊猫 🐼 🎋 🇨🇳
# 输入
袋鼠
# 输出
输出结果:
袋鼠 🦘
可以看到,大语言模型只输出了袋鼠的表情符号。我们尝试给大语言模型增加更多的示例,如下:
# 任务描述
我会给你一个动物名称,请按照如下格式输出:
# 示例
## 示例1
输入->熊猫
输出->熊猫 🐼 🎋 🇨🇳
## 示例2
输入->考拉
输出->考拉 🐨 🌿 🇦🇺
# 输入
袋鼠
# 输出
输出结果:
袋鼠 🦘 🌿 🇦🇺
可以看到,这次完全地达到了预期的效果输出。
小样本提示是一种非常强大的技术,它可以让大语言模型从少量的示例中学习处理任务的模式,而不需要大量的计算资源和标注数据。从而有效地提高大语言模型输出效果。
通过以上这些示例,我们不难发现少样本提示在大语言模型应用中展现出的强大力量,它以巧妙的方式,用少量示例就能引导模型准确完成任务。如果你想要更系统地学习提示工程相关知识,深入挖掘大语言模型的更多潜力,推荐你阅读《AI 原生应用开发:提示工程原理与实战》,这本书为你精心搭建起从理论到实践的桥梁,让你全面掌握提示工程的核心要点。点击这里,开启提示工程的深度探索之旅吧。