mirror of
https://github.com/dair-ai/Prompt-Engineering-Guide
synced 2024-11-06 09:20:31 +00:00
114 lines
2.8 KiB
Plaintext
114 lines
2.8 KiB
Plaintext
# 提示的基础知识
|
||
|
||
## 基本提示
|
||
|
||
使用简单提示可以实现很多功能,但结果的质量取决于您提供的信息量以及提示的质量。提示可以包含诸如传递给模型的*指令*或*问题*等信息,并包括其他细节,例如*上下文*、*输入*或*示例*。您可以使用这些元素更好地指导模型,从而获得更好的结果。
|
||
|
||
让我们从一个简单的提示示例开始:
|
||
|
||
*提示*
|
||
```
|
||
The sky is
|
||
```
|
||
|
||
*输出:*
|
||
```
|
||
blue
|
||
|
||
The sky is blue on a clear day. On a cloudy day, the sky may be gray or white.
|
||
```
|
||
|
||
正如您所看到的,语言模型输出了一系列字符串,这些字符串在给定上下文“`The sky is`”的情况下是有意义的。输出可能出乎意料或与我们想要完成的任务相距甚远。
|
||
|
||
这个基本示例还突显了提供更多上下文或说明的必要性,以便更明确地说明我们想要实现的特定内容。
|
||
|
||
让我们尝试稍微改进一下:
|
||
|
||
*提示:*
|
||
```
|
||
Complete the sentence:
|
||
|
||
The sky is
|
||
```
|
||
|
||
*输出:*
|
||
|
||
```
|
||
so beautiful today.
|
||
```
|
||
|
||
这样好了吗?我们告诉模型完成句子,因此结果看起来更好,因为它完全遵循了我们告诉它要做的事情(“完成句子”)。这种设计最佳提示以指导模型执行任务的方法被称为**提示工程**。
|
||
|
||
上面的示例是今天LLM所能实现的基本说明。今天的LLM能够执行各种高级任务,从文本摘要到数学推理到代码生成。
|
||
|
||
## 提示格式
|
||
|
||
我们尝试了一个非常简单的提示。标准提示的格式如下:
|
||
|
||
```
|
||
<Question>?
|
||
```
|
||
|
||
或
|
||
|
||
```
|
||
<Instruction>
|
||
```
|
||
|
||
这可以格式化为问答(QA)格式,这是许多QA数据集中的标准格式,如下所示:
|
||
|
||
```
|
||
Q: <Question>?
|
||
A:
|
||
```
|
||
|
||
像上面这样提示时,也称为*零-shot提示*,即您直接提示模型进行响应,而没有关于您想要实现的任务的任何示例或演示。一些大型语言模型确实具有执行零-shot提示的能力,但这取决于手头任务的复杂性和知识。
|
||
|
||
给定上述标准格式,一种流行且有效的提示技术是所谓的*少样本提示*,其中我们提供示例(即演示)。少样本提示可以格式化如下:
|
||
|
||
```
|
||
<Question>?
|
||
<Answer>
|
||
|
||
<Question>?
|
||
<Answer>
|
||
|
||
<Question>?
|
||
<Answer>
|
||
|
||
<Question>?
|
||
|
||
```
|
||
|
||
QA格式版本如下:
|
||
|
||
```
|
||
Q: <Question>?
|
||
A: <Answer>
|
||
|
||
Q: <Question>?
|
||
A: <Answer>
|
||
|
||
Q: <Question>?
|
||
A: <Answer>
|
||
|
||
Q: <Question>?
|
||
A:
|
||
```
|
||
|
||
请记住,不需要使用QA格式。提示格式取决于手头任务。例如,您可以执行简单的分类任务并提供演示,如下所示:
|
||
|
||
*提示:*
|
||
```
|
||
This is awesome! // Positive
|
||
This is bad! // Negative
|
||
Wow that movie was rad! // Positive
|
||
What a horrible show! //
|
||
```
|
||
|
||
*输出:*
|
||
```
|
||
Negative
|
||
```
|
||
|
||
少样本提示实现了上下文学习,即语言模型在给定少量演示的情况下学习任务的能力。 |