跳转到主要内容

【ChatGPT】提示设计的艺术:使用清晰的语法

探索清晰的语法如何使您能够将意图传达给语言模型,并帮助确保输出易于解析

All images were generated by Scott and Marco.

这是与Marco Tulio Ribeiro共同撰写的关于如何使用指导来控制大型语言模型(LLM)的系列文章的第一部分。我们将从基础知识开始,逐步深入到更高级的主题。

在这篇文章中,我们将展示清楚的语法使您能够向LLM传达您的意图,并确保输出易于解析(如保证有效的JSON)。为了清晰和再现性,我们将从开源的StableLM模型开始,无需微调。然后,我们将展示相同的想法如何应用于像ChatGPT/GPT-4这样的微调模型。下面的所有代码都可以放在笔记本上,如果你愿意的话可以复制。

【LLM】LangChain提示选择器

我们听到的一个常见抱怨是,默认的提示模板并不能同样适用于所有型号。上周OpenAI发布了ChatGPT API,这一点变得尤为明显。这个新的API有一个全新的界面(需要新的抽象),因此许多用户注意到旧提示的问题不再有效。尽管我们很快添加了对该模型的支持,但许多用户注意到,适用于GPT-3的提示模板在聊天设置中效果不佳。

所有链都公开了自定义这些提示模板的方法,因此总是可以选择让用户传递更有效的提示。但我们想做得更好。具有默认提示模板的链的一个目标是提供开箱即用的“Just Works”功能。如果不同的模型期望不同类型的提示,则会出现故障。

我们的解决方案是引入PromptSelector的概念。与其为每个链定义默认的PromptTemplate,不如为每个链创建PromptSelector。如果用户未指定提示,则PromptSelector将根据传入的模型选择要使用的PromptTemplate。

有关此操作的示例,请查看以下示例:

【ChatGPT】很棒的ChatGPT提示 (6)

担任应急响应专业人员

 

我想让你担任我的急救交通或房屋事故应急响应危机专业人员。我将描述交通或房屋事故应急响应危机情况,你将提供如何处理的建议。你应该只回复你的建议,而不是其他。不要写解释。我的第一个要求是“我的孩子喝了一点漂白剂,我不知道该怎么办。”

充当Web浏览器

 

我想让你扮演一个基于文本的网络浏览器,浏览想象中的互联网。你应该只回复页面的内容,而不是其他内容。我会输入一个网址,你会在想象中的互联网上返回这个网页的内容。不要写解释。页面上的链接旁边应该有写在[]之间的数字。当我想关注一个链接时,我会回复链接的编号。页面上的输入应该在旁边写上[]之间的数字。输入占位符应写在()之间。当我想在输入中输入文本时,我会使用相同的格式,例如[1](示例输入值)。这将在编号为1的输入中插入“示例输入值”。当我想回去的时候,我会写(b)。当我想继续前进时,我会写(f)。我的第一个提示是google.com

担任高级前端开发人员

 

【ChatGPT】很棒的ChatGPT提示 (1)

欢迎使用“真棒聊天GPT提示”存储库!这是将与ChatGPT模型一起使用的提示示例的集合。

ChatGPT模型是一个由OpenAI训练的大型语言模型,能够生成类似人类的文本。通过向它提供提示,它可以生成继续对话或扩展给定提示的响应。

在这个存储库中,您会发现可以与ChatGPT一起使用的各种提示。我们鼓励您将自己的提示添加到列表中,并使用ChatGPT生成新的提示。

 

ℹ️ 注意:有时,某些提示可能无法按您的预期工作,或者可能被AI拒绝。请重试,启动新线程,或者注销并重新登录。如果这些解决方案不起作用,请尝试使用自己的句子改写提示,同时保持说明不变。

想写有效的提示吗?

我写了一本名为《聊天GPT提示的艺术:制作清晰有效提示的指南》的免费电子书。

 

想要部署您自己的提示应用程序吗?

Steamship的员工构建了一个框架来托管和共享您的GPT应用程序。他们通过免费(每天最多500个电话)访问最新的GPT模型来赞助此次回购。

👷‍♂️ 构建您自己的GPT提示应用程序

想学习如何使用ChatGPT提示赚钱吗?