Prompt简介
本指南介绍了如何使用提示(Prompt)与大型语言模型(LLM)进行交互和指令的基础知识。
除非另有说明,否则所有示例都是在 OpenAI 的 playground 中测试的。
它使用默认配置,例如 .text-davinci-003
temperature=0.7
top-p=1
。
基本提示
使用提示已经可以实现很多功能,但结果的质量取决于您提供的信息量。提示可以包含信息,例如您传递给模型的主题或问题,还包括其他细节,例如说明和示例。
这是一个简单提示的基本示例:
天空是
输出信息:
蓝色的 晴天时天空是蓝色的。 在阴天,天空可能是灰色或白色。
如您所见,语言模型输出一个字符串的延续,这些字符串具有意义,给出上下文"The sky is"
输出可能出乎意料,或者与我们希望完成的任务相去甚远。
这个基本示例还强调了就我们具体想要实现的目标提供更多背景或说明的必要性。
让我们试着改进一下:
完成那个句子: 天空是
输出信息:
今天非常美丽。
这个结果更好了吗?好吧,我们告诉模型完成这个句子,所以结果看起来好得多,因为它完全按照我们告诉它要做的(“完成这个句子”)来完成。这种指导模型执行任务的方法称为提示工程。
以上示例是展示今天LLM能够实现的基本内容。今天的LLM能够执行各种高级任务,包括文本摘要、数学推理、代码生成等。
在进行提示工程时,请记住以下几点:
您可以使用简单的命令指导模型执行其他简单任务,例如“写入”、“分类”、“摘要”、“翻译”、“排序”等。
请记住,您还需要进行大量实验,看看哪种指令关键词、上下文和数据最适合您特定的用例和任务。通常,上下文越具体和相关于您要执行的任务,结果就越好。我们将在即将发布的指南中介绍抽样和添加更多上下文的重要性。
我们将在本指南中涵盖更多的能力,包括高级提示技术和提示工程的研究主题。
LLM设置的说明
在处理提示时,您将通过API或直接与LLM交互。您可以配置一些参数,以获得提示的不同结果。
温度-简而言之,温度越低,结果就越确定性,因为总是选择最有可能的下一个令牌。温度升高可能会导致更多的随机性,鼓励更多样化或更具创造性的产出。我们基本上是在增加其他可能代币的权重。在应用方面,我们可能希望将较低的温度用于基于事实的QA,以鼓励更真实、更简洁的响应。对于诗歌创作或其他创造性任务来说,提高温度可能是有益的。
Top_p – 同样,使用top_p,一种温度称为原子核采样的采样技术,您可以控制模型在生成响应时的确定性。如果您正在寻找准确和真实的答案,请保持低调。如果您正在寻找更多样化的回复,请增加到更高的价值。
一般建议是更改一个,而不是两者兼而有之。
在开始一些基本示例之前,请记住,您的结果可能会因您正在使用的LLM版本而异。
标准提示
我们在上面尝试了一个非常简单的提示。标准提示符具有以下格式:
<问题>?
这可以格式化为QA格式,这是许多QA数据集中的标准格式,如下所示:
Q: <问题>? A:
鉴于上述标准格式,一种流行且有效的提示技术被称为少量提示,我们提供了示例。很少有镜头提示可以格式如下:
<问题>? <回答> <问题>? <回答> <问题>? <回答> <问题>?
您已经可以猜测其QA格式版本会是这样的:
Q: <问题>? A: <回答> Q: <问题>? A: <回答> Q: <问题>? A: <回答> Q: <问题>? A:
请记住,不需要使用QA格式。格式取决于手头的任务。例如,您可以执行一个简单的分类任务,并给出示例,演示任务如下:
这太棒了! // 积极的 这不好! // 消极的 哇那部电影太棒了! // 积极的 多么可怕的表演! //
输出信息:
消极的
少数镜头提示可以实现上下文学习,这是语言模型仅举几个示例即可学习任务的能力。我们将在即将发布的指南中看到更多这方面的操作。
提示符的元素
随着我们涵盖了越来越多的提示工程可能出现的示例和应用程序,您会注意到某些元素构成了提示。
提示可以由问题、指令、输入数据和示例组成。问题或说明是提示的必填组件。根据手头的任务,您可能会发现包含输入数据和示例等更多信息也很有用。即将发布的指南中会详细介绍这个内容。
评论 (0)