分享
微软提示工程技术
输入“/”快速插入内容
微软提示工程技术
本指南将指导你提示设计和提示工程方面的一些高级技术。 如果你不熟悉提示工程,建议从
提示工程指南简介
开始。
虽然提示工程的原则可以在许多不同的模型类型间归纳,但某些模型需要专用的提示结构。 对于
Azure
OpenAI
GPT
模型,目前有两个不同的
API
,提示工程可以在其中发挥作用:
•
聊天补全
API
•
补全
API
每种
API
要求以不同的格式输入数据,这反过来又会影响整体的提示设计。 聊天补全 API 支持
ChatGPT
和
GPT-4
模型。 这些模型旨在接收存储在字典数组中的
类似聊天的特定脚本
格式的输入。
补全
API
支持较旧的 GPT-3 模型,并且具有更灵活的输入要求,即它接受没有特定格式规则的文本字符串。 从技术上讲,
ChatGPT
模型可与任一 API 一起使用,但我们强烈建议对这些模型使用聊天补全 API。 若要了解更多,请参阅
使用这些 API 的深入指南
。
本指南中的技术将指导你提高使用大型语言模型 (LLM) 生成的响应的准确性和基础。 但是,请务必记住,即使有效地使用了提示工程,你仍需要验证模型生成的响应。 仅仅因为精心制作的提示适用于某个特定方案并不一定意味着它能更广泛地推广到某些用例。 了解
LLM 的限制
与了解如何利用其优势一样重要。
本指南不深入介绍聊天补全消息结构背后的机制。 如果你不熟悉以编程方式与
ChatGPT
和
GPT-4
模型交互,建议
先阅读有关聊天补全
API
的操作指南
。
系统消息
系统消息包含在提示的开头,用于为模型提供上下文、说明或与用例相关的其他信息。 可以使用系统消息来描述助手的个性,定义模型应回答和不应回答的内容,以及定义模型响应的格式。
下面的示例显示了示例系统消息和生成的模型响应:
系统消息的其他一些示例包括:
•
“助手是由
OpenAI
训练的大型语言模型。”
•
“助手是一种智能
聊天机器人
,旨在帮助用户回答有关
Azure
OpenAI
服务的技术问题。 仅使用以下上下文回答问题,如果不确定答案,可以说“我不知道”。
•
“助手是一种智能
聊天机器人
,旨在帮助用户回答其税务相关问题。”
•
“你是一名助手,旨在从文本中提取实体。 用户将粘贴文本字符串,你将使用从文本中提取的实体作为
JSON
对象进行响应。 下面是输出格式的示例:
代码块
Plain Text
{
"name"
:
""
,
"company"
:
""
,
"phone_number"
:
""
}
需要了解的一个重要细节是,即使你在系统消息中指示模型在不确定答案时回答“我不知道”,这并不能保证此请求得到履行。 设计良好的系统消息可以增加产生特定结果的可能性,但仍可能会生成不正确的响应,可能会与系统消息中的指令的意图相矛盾。
少样本学习
使语言模型适应新任务的一个常见方法是使用少样本学习。 在少样本学习中,需要在提示中提供一组训练示例,以便为模型提供额外的上下文。
使用聊天补全
API
时,用户和助手之间的一系列消息(以
新的提示格式
编写)可以作为进行少样本学习的示例。 这些例子可以用来引导模型以某种方式相应,模仿特定的行为,并为常见的问题提供种子答案。
上表介绍了基本的提示结构,但有关确切提示格式的详细说明,需要参考
聊天补全指南
。
非聊天场景
虽然聊天补全
API
已优化为处理多回合对话,但它也可用于非聊天场景。 例如,对于
情绪分析
场景,可以使用以下提示:
从明确的说明开始