“生成式人工智能应用的有效提示工程原则”

Principles for Effective Prompt Engineering in Generative Artificial Intelligence Applications

在本文中,我将向您介绍生成式AI提示工程的另一个重要概念。AI领域中的提示工程涉及根据特定原则创建简明的文本片段或短语。然后,这些提示与大型语言模型(LLM)结合使用,以有效地生成输出内容。提示工程的过程是一个关键的构建模块,因为构造不当的提示可能导致像ChatGPT这样的LLM模型生成不合逻辑、无意义或与上下文无关的回复。因此,根据定义良好的提示工程原则验证传递给LLM模型API的输入文本被认为是最佳实践。

根据输入短语的意图或目的,模型可以展示各种能力。这些能力可能包括对大量文本或内容进行总结、推断或澄清主题、转换输入文本或扩展提供的信息。通过遵循提示工程的原则,AI模型可以充分发挥其潜力,同时确保准确和与上下文相关的输出。

为什么在设计生成式AI产品时提示工程很重要?

正如您所看到的,有效的提示会使大型语言模型产生最佳回复,而我们将要构建的AI产品将使用该模型。如果在为发送到LLM的输入指令或查询设计提示时没有充分的头脑风暴,该应用程序可能无法满足用户的需求。因此,当我们设计基于生成式AI的产品时,我们应该邀请提示工程师或自然语言分析师进行深入研究,并选择与LLM模型交互时有效的提示。即使产品将生成动态提示,也应遵循明确的指南和原则,以为用户生成准确的结果。

在接下来的章节中,我将向您演示如何使用提示工程以及为什么将其作为一个重要的构建模块,通过一些示例提示、技巧和LLM的回复。

我将使用Python代码和Open AI的”text-davinci-003″ LLM模型,并将温度设置为0,以使LLM的答案始终保持一致而不是随机的。

在运行代码片段之前,请确保安装所需的软件包。

以下简单的代码片段显示了使用OpenAI进行快速提示的示例。

在下面的示例中,我将使用Langchain内置的PromptTemplate类来演示在我们的NextGen AI项目中设计有效提示时应该严格遵循的一些原则作为提示工程的一部分。

有效提示工程的原则(最佳实践):

对于提示工程,没有预定义的硬性规则。没有任何委员会发布的规则书要求我们在进行提示工程时必须遵守。然而,如果我们按照一些指南和最佳实践的原则来进行操作,将有助于从LLM中获得最佳输出,并实现客户满意度。

指令应当明确和具体

让我们看几个例子。

第一个例子中,我将要求模型总结我从维基百科获得的一些内容。我将指示模型仅总结三个反引号(“`)之间提到的内容。

当您将上下文放在分隔符中并添加指令时,不仅可以防止错误的提示注入,还可以明确告诉LLM应该如何处理提供的内容。

在下面的例子中,我将展示如何控制模型的输出。例如,我将要求模型以JSON格式生成三个虚构的电影标题。

为LLM提供有意义的参考文本或内容

在将提示发送给LLM时,如果您希望将答案保持在提供的上下文中,那么应该提供简明的参考文本。OpenAI GPT对输入引用有限制,因此您需要在设计参考内容时付出很多努力。提供有效和正确的参考文本将有助于从LLM中获得最佳输出。

为GPT提供“思考时间”

提示工程应该设计成这样一种方式,即GPT不应该急于回答问题;相反,它应该思考一下,然后提供正确的有意义的答案。如果您在措辞上提供了统计或数学问题,但没有提供思考时间,那么大部分时间LLM模型也会像人类一样犯错误。因此,为了获得正确的答案,您的提示工程应该利用措辞方式,使GPT有一些时间来思考和回答。下面的示例将展示模型如何犯错以及如何纠正。

以下提示指示LLM执行某些任务,但未提供清晰的指示,所以在追求答案时,LLM犯了一个错误,遗漏了第3点的指示。查看结果。

然而,通过一些修改,相同的提示可以为LLM提供更多的思考能力,以输出正确的结果。

应该和不应该做的事情

在进行有效的提示工程时,我们应该做一些事情,也应该避免一些事情,例如:

不应该做的事情:

  • 避免提供过载的信息。
  • 不要问开放性问题,可能会让LLM感到困惑。

应该做的事情:

  • 明确指定您期望的正确输出格式。
  • 包含有意义的上下文。

结论

在本文中,我们探讨了有效提示技术的有价值见解。我们还探讨了精心设计的提示的重要性,并讨论了设计有效提示的基本准则,包括应该和不应该做的事情。还包括一些实际示例来说明这些原则。