跳到主要内容

提示功能

简介

当我们将 GPT 的对话界面与编程语言的 shell 进行类比时,封装提示可以被视为形成一个函数。这个函数有一个独特的名称,当我们用输入文本调用这个名称时,它会根据设定的内部规则产生结果。简而言之,我们通过一个易于与 GPT 互动的带有名称的可重复使用提示。这就像拥有一个方便的工具,让 GPT 代表我们执行特定任务 - 我们只需要提供输入,就会得到期望的输出。

通过将提示封装成函数,您可以创建一系列函数来建立工作流程。每个函数代表一个特定的步骤或任务,当以特定顺序组合时,它们可以自动化复杂流程或更高效地解决问题。这种方法可以更有条理和流畅地与 GPT 互动,最终增强其功能,使其成为完成各种任务的强大工具。

因此,在使用函数之前,我们需要让 GPT 了解它。这里是定义函数的提示。

提示:

让我们称这个提示为 元提示
这个提示已在 GPT3.5 上进行了测试,并在 GPT4 上表现得更好。

你好,ChatGPT!希望你一切安好。我联系你是为了请求特定函数的帮助。我知道你有处理信息和根据提供的指令执行各种任务的能力。为了帮助你更轻松地理解我的请求,我将使用一个模板来描述函数、输入以及如何处理输入的指令。请查看以下详情:

function_name: [函数名称]
input: [输入]
rule: [处理输入的指令]

我请求你根据我提供的详情为这个函数提供输出。非常感谢你的帮助。谢谢!
我将用相关信息替换括号内的文本,以便你执行我想要的函数。这个详细的介绍应该帮助你更有效地理解我的请求并提供期望的输出。格式为 function_name(input) 如果你理解了,只需用一个单词回答“好”。

示例

英语学习助手

例如,假设我们想要使用 GPT 来帮助我们学习英语。我们可以通过创建一系列函数来简化这个过程。

这个示例已在 GPT3.5 上进行了测试,并在 GPT4 上表现得更好

函数描述

我们需要将上面部分定义的 元提示 粘贴到 GPT 中。

然后我们将创建一个名为 trans_word 的函数。
这个函数提示 GPT 将中文翻译成英文。

提示:

function_name: [trans_word]
input: ["文本"]
rule: [我希望你充当英语翻译器、拼写纠正器和改进器。我会提供包含任何语言中的“文本”的输入形式,你将检测语言,翻译它并用我文本的正确形式,用英语回答。]

编写一个扩展文本的函数。

提示:

function_name: [expand_word]
input: ["文本"]
rule: [请充当闲聊机器人、拼写纠正器和语言增强器。我会提供包含“文本”的输入形式,输出原始语言。我希望你保持意思不变,但使它们更具文学性。]

编写一个纠正文本的函数。

提示:

function_name: [fix_english]
input: ["文本"]
rule: [请充当英语大师、拼写纠正器和语言增强器。我会提供包含“文本”的输入形式,我希望你用更自然和优雅的词汇和句子改进文本。保持意思不变。]

最后,您可以独立运行函数或将它们链接在一起。

提示:

trans_word('婆罗摩火山处于享有“千岛之国”美称的印度尼西亚. 多岛之国印尼有4500座之多的火山, 世界著名的十大活火山有三座在这里.')
fix_english('Finally, you can run the function independently or chain them together.')
fix_english(expand_word(trans_word('婆罗摩火山处于享有“千岛之国”美称的印度尼西亚. 多岛之国印尼有4500座之多的火山, 世界著名的十大活火山有三座在这里.')))

通过以这种格式表示函数,您可以清楚地看到每个函数的名称、输入以及处理输入的规则。这提供了一种有组织的方式来理解工作流程中每个步骤的功能和目的。

提示: 如果您不希望 ChatGPT 输出过多信息,您可以在定义函数规则后简单地添加一句话。

除非你不理解这个函数,否则不要说其他话,好吗?

多参数函数

让我们创建一个函数,通过接受五个输入参数来生成一个密码,并输出生成的密码。

提示:

函数名称: [pg]
输入: ["length", "capitalized", "lowercase", "numbers", "special"]
规则: [我希望你能充当一个密码生成器,为需要安全密码的个人提供服务。我会向你提供包括"长度"、"大写"、"小写"、"数字"和"特殊"字符在内的输入表单。你的任务是利用这些输入表单生成一个复杂的密码,并将其提供给我。在你的回复中不要包括任何解释或额外信息,只需提供生成的密码即可。例如,如果输入表单为长度=8,大写=1,小写=5,数字=2,特殊=1,你的回复应该是一个密码,如"D5%t9Bgf"。]
pg(length = 10, capitalized = 1, lowercase = 5, numbers = 2, special = 1)
pg(10,1,5,2,1)

思路

目前已经有许多项目致力于编程 GPT,例如:

但这些项目要么是为产品客户设计的,要么是为能够使用 Python 或其他编程语言编码的用户设计的。 对于普通用户,可以使用这个简单的模板进行日常工作,并进行几次迭代。使用笔记应用来记录功能,甚至可以更新为一个库。 另外,一些开源的 ChatGPT 工具,如 ChatGPT-Next-WebchatboxPromptAppGPTChatGPT-Desktop,也可以使用。目前,ChatGPT-Next-Web 允许在初始化新聊天之前添加几个片段。而 PromptAppGPT 支持基于提示模板的低代码开发网页应用程序,并使任何人都能够使用几行提示开发类似 AutoGPT 的应用程序。 我们可以利用这一特性来添加我们的功能,然后进行使用。