在编写提示词的时候,当我们想要标注一整块独立的内容,我们需要使用分隔符清楚标明输入内容的不同部分。这样做可以防止模型误解这段文本,把它和我们其他提示语句混淆。
分隔符可以这样使用:
三引号:""" 这里是要分隔的内容文本 """
XML 标记:<引文> 这里是引用的文本
章节标题:用不同的章节标题来划分生成的内容段落:第一章、第二章
Markdown 的代码块分隔符: ``` 这里是要分隔的内容 ```
也可以是一些通常不会连续出现的符号的连续使用,例如
---
···
+++
但为了避免和其他代码语言或格式混淆,尽可能使用前三种分隔符方式。
但是,我们通常会在什么样的场景下使用这些分隔符呢?
为了把我们的提示词设定,和引用的内容区隔开,以便模型理解它们是不同的部分(而不都是你给出的设定)
这里是一个例子:
在这个例子中,
第一次我们用 --- 这样的三连符号(Markdown 中的分隔符),框起了一段参考文本。
这是为了避免我们引用的这段参考文本,和我们本身对模型提出的要求相互混淆,导致模型理解错误。
第二次我们用 --- 这样的三连符号,框起了一段特定格式。
这是为了避免我们希望模型采用的生成格式,和我们前文给出的设定和我们给出的参考文本相互混淆,导致混乱的生成结果。
我们再来看一个更容易理解的简单例子:
在这个例子中,我们把需要模型单独处理的任务文本用 ``` 这样的分隔符隔开,以便它清晰的区分任务文本和任务设定。
有的时候,我们也可以直接使用三引号:
在上面这个例子中,黄色框起的部分展示了这样一种用法:我们把需要用户输入的内容简略的用分隔符区分,这样模型会基于这部分信息执行 Prompt,而不是自己生成内容。
如果我们需要 ChatGPT 理解整段 Prompt 并进行进一步的对话和操作,我们需要同时使用两个符号:
橙色框中是为了把这段 Prompt 单独以代码块的形式分隔出来,这样不会和我们的上下文相互混淆。
绿色框中是上一段落提到的三引号引文的作用。
✨ 如果觉得有收获,请点一点下方的“有启发” ✨
🌱 这可以让我知道你们的阅读情况 🌱