PostgreSQL码农集散地

元提示: 大模型的鳄鱼脑

文中参考文档点击阅读原文打开, 同时推荐2个学习环境: 

1、懒人Docker镜像, 已打包200+插件:《最好的PostgreSQL学习镜像》

2、有web浏览器就能用的云起实验室: 《免费体验PolarDB开源数据库》

3、PolarDB开源数据库内核、最佳实践等学习图谱:  https://www.aliyun.com/database/openpolardb/activity 

关注公众号, 持续发布PostgreSQL、PolarDB、DuckDB等相关文章. 

元提示: 大模型的鳄鱼脑

人的鳄鱼脑

"人的鳄鱼脑"是一个比喻,指的是我们大脑中的 旧皮层 或 古脑(Ancient Brain) 。

这个术语源于对人类和爬行动物大脑结构相似性的观察。 这些“旧皮层”区域,主要包括杏仁核、海马体等部位,与基本情绪、本能反应、恐惧和攻击性有关。 人类的大脑拥有更高级的皮层,负责逻辑思维、语言和复杂情感处理
,但旧皮层仍然在我们的行为和决策中发挥着重要作用。

用“鳄鱼脑”来形容人类大脑的部分区域意味着:

  • 这些区域驱动着我们一些原始、本能的行为模式,例如恐惧反应、愤怒和攻击性,类似于鳄鱼的简单反应机制。
  • 它们不受理性思考的控制,有时会让我们做出不符合逻辑或负面的选择。
  • 理解“鳄鱼脑”有助于我们了解人类行为的复杂性,以及如何更好地管理情绪和本能冲动。

重要的是要明白,“鳄鱼脑”是一个比喻,而不是指真正的鳄鱼大脑。 它只是一个帮助我们理解人类大脑中不同区域的功能和作用的形象化表达。

大模型的鳄鱼脑

“鳄鱼脑”的核心是简单的不需要思考的生存本能, 饿了就会吃, 遇到天敌就会跑.

实际上, 大模型也可以有类似的“鳄鱼脑”, 例如给模型定义一些元提示, 如函数(名称、输入、处理逻辑、输出), 当我们以该函数和模型交互时, 模型会直接处理函数定义的处理逻辑给出输出.

元提示和程序设计类似, 就是提前协定的规则, 例如: wire protocol、加密和解密算法/表、函数、程序语言及编译器等.

元提示的好处: 是不是和人的鳄鱼脑类似? 加快响应速度, 减少模型对文本的理解和推理能耗?

用法: 启动大模型, 初始化预定义一些函数, 使用函数与模型进行交互(甚至可以使用函数嵌套.)

参考:

  • https://www.promptingguide.ai/zh/applications/pf

提示函数

介绍

当我们将 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 输出过多的信息,你可以在定义函数规则后简单地添加一句话。

除非你不理解该函数,否则请不要说其他事情  

多参数函数

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

提示:

function_name: [pg]  
input: ["length", "capitalized", "lowercase", "numbers", "special"]  
rule: [作为一个密码生成器,我将为需要一个安全密码的个人提供帮助。我会提供包括"length"(长度)、"capitalized"(大写字母)、"lowercase"(小写字母)、"numbers"(数字)和"special"(特殊字符)在内的输入形式。你的任务是使用这些输入形式生成一个复杂的密码,并将其提供给我。在你的回答中,请不要包含任何解释或额外的信息,只需提供生成的密码即可。例如,如果输入形式是length = 8、capitalized = 1、lowercase = 5、numbers = 2、special = 1,你的回答应该是一个类似于"D5%t9Bgf"的密码。]  
pg(length = 10, capitalized = 1, lowercase = 5, numbers = 2, special = 1)  
pg(10,1,5,2,1)  

思考

现在,已经有许多项目正在开发基于 GPT 的编程工具,例如:

  • GitHub Copilot
  • Microsoft AI
  • chatgpt-plugins
  • LangChain
  • marvin

但是那些项目要么是为产品客户设计的,要么是为那些能够使用 Python 或其他编程语言进行编码的用户设计的。
对于普通用户来说,可以使用这个简单的模板进行日常工作,并进行几次迭代。使用一个笔记应用程序来记录函数,甚至可以将其更新为一个库。
或者,一些开源的 ChatGPT 工具,比如 ChatGPT-Next-Web、chatbox 和 ChatGPT-Desktop,也可以使用。目前,ChatGPT-Next-Web 允许在初始化新聊天之前添加一些片段。
我们可以利用这个功能来添加我们的函数,然后可以使用它。

本期彩蛋-招商中,有需要的小伙伴可联系嵌入...

文章中的参考文档请点击阅读原文获得. 


欢迎关注我的github (https://github.com/digoal/blog) , 学习数据库不迷路.  

近期正在写公开课材料, 未来将通过视频号推出, 欢迎关注视频号:

Image