大语言模型的提示工程:零样本、单样本与少样本提示

具有科技感且简洁的大语言模型提示工程画面

大语言模型的提示工程

大语言模型(LLMs)通过大量数据训练来理解提示并生成答案。提示文本越清晰,LLM 预测下一个可能文本的效果就越好。使用特定的提示技巧可以更有效地从 LLMs 获得相关结果。

零样本(zero-shot)提示

零样本提示是最简单的提示类型,仅提供任务描述和一些供 LLM 开始处理的文本,没有示例。例如,在测试对电影评论进行分类的零样本提示。模型温度设为较低值,使用 gemini-pro 默认的 top-K 和 top-P 值(实际禁用这两个设置)。以下是零样本提示的例子:

  • 目标:将电影评论分类为正面、中立或负面。
  • 模型:gemini-pro
  • 温度:0.1
  • Token 限制:5
  • Top-K:N/A
  • Top-P:1
  • 提示:将以下电影评论分类为正面、中立或负面。
  • 评论:“Her” 是一部揭示了如果 AI 不受控制地继续进化,人类将走向何方的令人不安的研究。我希望有更多像这样的杰作。
  • 情感:正面

单样本(one-shot)和少样本(few-shot)提示

在创建 AI 模型的提示时,提供示例有助于模型理解需求,引导其输出特定结构或模式。

  • 单样本提示:提供一个示例让模型模仿完成任务;少样本提示则提供多个示例,展示模型需遵循的模式,增加模型遵循模式的可能性。
  • 少样本提示:所需示例数量取决于任务复杂性、示例质量和生成式 AI 模型能力等因素,一般至少 3 – 5 个示例,复杂任务可能需更多,受模型输入长度限制可能需更少。

以下是一个解析披萨订单为 JSON 的少样本提示示例:

  • 目标:将披萨订单解析为 JSON 格式
  • 模型:gemini-pro
  • 温度:0.1
  • Token 限制:250
  • Top-K:N/A
  • Top-P:1
  • 提示:将客户的披萨订单解析为有效的 JSON 格式。
  • 示例
    • 我想要一个小号披萨,上面有奶酪、番茄酱和意大利辣香肠。
      • JSON 响应:
{ "size": "small", "type": "normal", "ingredients": [["cheese", "tomato sauce", "peperoni"]] }
  • 另一个示例
    • 我想要一个大号披萨,一半是奶酪和莫扎里拉,另一半是番茄酱、火腿和菠萝。JSON 响应:
{ "size": "large", "type": "half-half", "ingredients": [["cheese", "mozzarella"], ["tomato sauce", "ham", "pineapple"]] }

选择示例的要点

选择示例时,应确保它们与任务相关、多样化且高质量。一个小错误都可能使模型困惑并导致不理想的输出。若希望生成对各种输入都稳健的输出,示例中应包含边缘情况,即不寻常或意外但模型仍应能处理的输入。

总结

本文介绍了零样本、单样本和少样本提示技术,并提供了具体的应用案例。掌握这些技术可以帮助你在实际应用中更有效地利用大语言模型。