mirror of
https://github.com/dair-ai/Prompt-Engineering-Guide
synced 2024-11-02 15:40:13 +00:00
a458efc27b
Signed-off-by: liyun <liyun@yunify.com>
120 lines
2.9 KiB
Plaintext
120 lines
2.9 KiB
Plaintext
# 基本概念
|
||
|
||
## 基础提示词
|
||
|
||
您可以通过简单的提示词(Prompts)获得大量结果,但结果的质量与您提供的信息数量和完善度有关。一个提示词可以包含您传递到模型的_指令_或_问题_等信息,也可以包含其他详细信息,如_上下文_、_输入_或_示例_等。您可以通过这些元素来更好地指导模型,并因此获得更好的结果。
|
||
|
||
看下面一个简单的示例:
|
||
|
||
_提示词_
|
||
|
||
```
|
||
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" 完成续写。 而输出的结果可能是出人意料的,或远高于我们的任务要求。
|
||
|
||
基于以上示例,如果想要实现更具体的目标,我们还必须提供更多的背景信息或说明信息。
|
||
|
||
可以按如下示例试着完善一下:
|
||
|
||
_提示词_
|
||
|
||
```
|
||
完善以下句子:
|
||
|
||
The sky is
|
||
```
|
||
|
||
_输出结果_
|
||
|
||
```
|
||
so beautiful today.
|
||
```
|
||
|
||
结果是不是要好一些了?本例中,我们告知模型去完善句子,因此输出的结果和我们最初的输入是完全符合的。**提示工程**(Prompt Engineering)就是探讨如何设计出最佳提示词,用于指导语言模型帮助我们高效完成某项任务。
|
||
|
||
以上示例基本说明了现阶段的大语言模型能够发挥的功能作用。它们可以用于执行各种高级任务,如文本概括、数学推理、代码生成等。
|
||
|
||
## 提示词格式
|
||
|
||
前文中我们还是采取的比较简单的提示词。 标准提示词应该遵循以下格式:
|
||
|
||
```
|
||
<问题>?
|
||
```
|
||
|
||
或
|
||
|
||
```
|
||
<指令>
|
||
```
|
||
|
||
这种可以被格式化为标准的问答格式,如:
|
||
|
||
```
|
||
Q: <问题>?
|
||
A:
|
||
```
|
||
|
||
以上的提示方式,也被称为_零样本提示(zero-shot prompting)_,即用户不提供任务结果相关的示范,直接提示语言模型给出任务相关的回答。某些大型语言模式有能力实现零样本提示,但这也取决于任务的复杂度和已有的知识范围。
|
||
|
||
基于以上标准范式,目前业界普遍使用的还是更高效的_小样本提示(Few-shot Prompting)_范式,即用户提供少量的提示范例,如任务说明等。小样本提示一般遵循以下格式:
|
||
|
||
```
|
||
<问题>?
|
||
<答案>
|
||
|
||
<问题>?
|
||
<答案>
|
||
|
||
<问题>?
|
||
<答案>
|
||
|
||
<问题>?
|
||
|
||
```
|
||
|
||
而问答模式即如下:
|
||
|
||
```
|
||
Q: <问题>?
|
||
A: <答案>
|
||
|
||
Q: <问题>?
|
||
A: <答案>
|
||
|
||
Q: <问题>?
|
||
A: <答案>
|
||
|
||
Q: <问题>?
|
||
A:
|
||
```
|
||
|
||
注意,使用问答模式并不是必须的。你可以根据任务需求调整提示范式。比如,您可以按以下示例执行一个简单的分类任务,并对任务做简单说明:
|
||
|
||
_提示词_
|
||
|
||
```
|
||
This is awesome! // Positive
|
||
This is bad! // Negative
|
||
Wow that movie was rad! // Positive
|
||
What a horrible show! //
|
||
```
|
||
|
||
_输出结果_
|
||
|
||
```
|
||
Negative
|
||
```
|
||
|
||
语言模型可以基于一些说明了解和学习某些任务,而小样本提示正好可以赋能上下文学习能力。
|