当前位置:   article > 正文

Prompt Engineering:向ChatGPT提问的艺术_prompt engineering forchatgpt

prompt engineering forchatgpt

1、提示工程简介

不同Prompt生成的汉堡图片 

  • 提示(Prompt)包括传递给语言模型的指令和语境,以实现预期的任务。提示工程(Prompt Engineering)是一种策略(技巧),是开发和优化提示的实践,旨在引导人工智能语言模型(例如 ChatGPT)生成满足用户需求的输出。ChatGPT 创始人 Sam Altman 认为提示词工程是用自然语言编程的黑科技,绝对是一个高回报的技能。 很多人也把提示词看做 AIGC 这个时代的源代码
  • 提示工程与 ChatGPT 之间是相互依赖的。从技术层面看,Prompt是作为输入信息传递给ChatGPT 的文本,在训练和使用这类生成预训练模型时,Prompt是用来激发模型回应的关键文本。模型会根据输入的Prompt分析上下文信息,并生成与之相关的回应。通常,输入的Prompt 越具体,模型生成的回答就越精确。从使用场景来看,用户通过提供一个Prompt来引导ChatGPT,使其生成有针对性的回答。同时,ChatGPT的回答质量也依赖于Prompt的表达效果。一个好的Prompt能帮助ChatGPT更准确地理解用户意图,控制模型并实现更精确、高质量和相关的文本生成,从而生成更符合用户期望的回答。提示工程之所以重要,是因为通过采用有效的提示方法,用户能够充分发挥模型的潜力,提高效率和输出质量,降低误导风险,扩展应用场景等。

2、提示原则

  • 遵循一些提示原则,可以得到更有用和准确的答案:
  1.  明确清晰:确保Prompt表达清晰明确,避免歧义。提供足够的上下文信息,以便AI更好地理解您的问题。
  2. 详细程度:根据需要,指定您希望获得的答案的详细程度。这可以帮助AI为您提供合适长度的回答。
  3. 有针对性:尽量提出具体而有针对性的问题,以便AI能够更准确地为您提供所需信息。
  4. 分步提问:对于复杂或多部分的问题,分解成多个简单的问题,逐个提问。这样可以更容易地获得满意的答案。
  5. 限定范围:如果有需要,限定问题的范围,例如特定时间段、地点或领域等。这将有助于AI为您提供更精确的答案。
  6. 重复与澄清:如果AI没有正确理解您的问题,不要犹豫,尝试用不同的方式重复或澄清问题。
  7. 灵活适应:适应AI的回答风格和表达方式,根据需要调整问题的提法。
  • 提示公式(Prompt Formular)一般包含3个主要元素:任务、指令和角色。这些元素有助于构建高质量的提示,以便引导语言模型(如 ChatGPT)生成满足用户需求的输出。
  1. 任务:明确您希望模型完成的任务,例如提供信息、解决问题或生成特定类型的文本。确保任务表述清晰明确。
  2. 指令:为模型提供具体指导,说明应该如何执行任务。这可能包括上下文信息、预期输出格式或其他重要细节。
  3. 角色:在需要的情况下,为模型设定一个角色,以便更好地理解所需回答的风格、语气或专业背景。这有助于模型生成更符合预期的输出。

将这三个元素结合起来,可以创建有效的提示,引导模型生成准确、高质量和相关的回答。

3、提示技巧

ChatGPT参数:

  • Temperaturetemperature的参数值越小,模型就会返回越确定的一个结果。如果调高该参数值,大语言模型可能会返回更随机的结果。
  • Top_p:同样,使用top_p(与temperature一起称为核采样的技术),可以用来控制模型返回结果的真实性。如果你需要准确和事实的答案,就把参数值调低。如果你想要更多样化的答案,就把参数值调高一些。

简单问题,可以直接提供指令,如 解释某个名词,对于模糊但有界的问题,可以让ChatGPT 类比、罗列等。不同的提示方式可以结合起来,给 ChatGPT 更具体、丰富的上下文信息,有利于生成符合预期的结果。下面是一些常用的提示模板:

1.常规(结构化)提示:提供具体的指令,指导ChatGPT的输出,确保输出的相关性、高质量。 

任务: 生成法律文件 指令:文件应当符合相关法律法规 角色:律师
Prompt1:生成符合相关法律法规的法律文件
Prompt2:作为一个律师,生成符合相关法律法规的法律文件

2.零样本、单样本、小样本提示:在示例较少的情况下,帮助ChatGPT生成文本,适用于:数据有限、具体任务或定义不明确。

3.输入输出提示:

  • 将指令放在提示符的开头,并使用###"""分隔指令

  • 当展示特定的格式要求时,模型会做出更好的反应。这也使得解析多个输出结果变得更加容易。

4.多项选择提示:包含一个问题或任务,以及一组预定义选项,作为可能的答案。

任务:将文本分类为正面、中性、负面 指令:分类应该是预定义选项之一
Prompt:将以下文本分类为正面、中性、负面:【文本】

5.聚类提示:明确根据某些特征进行分组,提示输出内容要包含聚类数量、特定要求等。

6.可解读软提示:提供一些附加信息,使生成的文本更具可解读性、可控性。

任务:生成特定样式的文本 指令: 文字要采用特定时期的风格
Prompt: 生成[特定]风格的文字:[插入上下文]

 可用于语言建模,生成训练样本。

7.生成提示让ChatGPT扮演一个Prompt生成专家,帮助完成/完善/改进你的prompt。

8.链式思维(CoT):让模型学习不仅输出结果还要给出思考过程,可以显著提升LLM的表现。(在prompt的结尾加入"Let's think step by step (让我们一步步思考)“ 也能够取得相近 的效果)。

9.自我一致性通过少样本CoT采样多个不同的推理路径,并使用生成结果选择最一致的答案。有助于提高CoT提示在涉及算术和常识推理的任务中的性能。

4、总结

prompt是与ChatGPT交互中不可或缺的一环。通过准确、明确、简洁的prompt,我们能够更好地引导模型生成有用的回答。了解prompt的原则和经验技巧,有助于提高交互的效果和准确性。因此,在使用ChatGPT时,合理构建和利用prompt是至关重要的,这将为我们带来更加令人满意的交互体验。

参考链接:

https://www.wpsshop.cn/w/Cpp五条/article/detail/601648

推荐阅读
相关标签
  

闽ICP备14008679号