LangGPT —— 让人人都能编写高质量 Prompt

赵嬷嬷
• 阅读 272

LangGPT —— 让人人都能编写高质量 Prompt

要用好现有大模型的能力严重依赖高质量 prompt, 然而编写高质量 prompt 在现阶段还是个手艺活,太依赖个人经验。

虽然也有许多个人自发分享的 prompt 方法、框架,以及吴恩达老师的 prompt 教程,但是现有 Prompt 创建方法还是有各种各样的缺点:

  1. 缺乏系统性:大多是细碎的规则,技巧,严重依赖个人经验
  2. 缺乏灵活性:对他人分享的优质 prompt 进行调整需要直接修改 prompt 内容
  3. 缺乏交互友好性:优质 prompt 的配置和使用太复杂,有时往往还要学习 prompt 用法
  4. 未充分考虑大语言模型的下列特性: (1)偏好分点、条理性叙述 (2)长对话会出现遗忘问题 (3)不同语言间性能存在差距

这也是为什么大家爱收集,分享一些久经考验的 prompt 的原因之一。

随着 GPT-4 模型出来,对 prompt 的依赖有所降低,同时其更强大的基础能力为编写更强大的 prompt 提供了良好的基础,优质的 prompt 能力越来越强大,也越来越复杂。

prompt 编写越来越像 AI 时代的编程语言。

那么有没有可能像学编程一样,掌握一些基础规则和概念,掌握一些编程模式(类似面向对象的编程),即可高效的编写出表现良好稳定的 prompt——即 prompt 编程?

LangGPT

经过初步探索和实验,我们设计了 LangGPT,希望在 prompt 的编程法上迈出一小步。

使用 LangGPT 为大规模生产高质量prompt提供了可能,它有下面的优点:

  1. 系统性:提供“模板”,按照模板填鸭式写上相应内容即可
  2. 灵活性:可以使用“变量”,轻松引用、设置和更改 prompt 中的内容,可编程性好
  3. 使用命令,轻松设置、执行预定义行为,可以无损性能情况下轻松设置中英文切换
  4. 交互友好:“工作流” 轻松定义与用户交互,角色行为等,轻松引导用户使用
  5. 充分利用大模型能力: (1)模块化配置 (2)分点条理性叙述 (3)Reminder 缓解长期记忆缺失问题

LangGPT 的关键语法

LangGPT 变量

我们发现 ChatGPT 可以识别各种良好标记的层级结构内容。大模型可以识别文章的标题,段落名,段落正文等层级结构,如果我们告诉他标题,模型知道我们指的是标题以及标题下的正文内容。

这意味着我们将 prompt 的内容用结构化方式呈现,并设置标题即可方便的引用,修改,设置 prompt 内容。可以直接使用段落标题来指代大段内容,也可以告诉ChatGPT修改调整指定内容。这类似于编程中的变量,因此我们可以将这种标题当做变量使用。

Markdown 的语法层级结构很好,适合编写 prompt,因此 LangGPT 的变量基于 markdown语法。实际上除 markdown外各种能实现标记作用,如 json,yaml, 甚至好好排版好格式 都可以。

变量为 Prompt 的编写带来了很大的灵活性。使用变量可以方便的引用角色内容,设置和更改角色属性。这是一般的 prompt 方法实现起来不方便的。

LangGPT 模板

ChatGPT 十分擅长角色扮演,大部分优质 prompt 开头往往就是 “我希望你作为xxx”,“我希望你扮演xxx” 的句式定义一个角色,只要提供角色说明,角色行为,技能等描述,就能做出很符合角色的行为。

如果你熟悉编程语言里的 “对象”,就知道其实 prompt 的“角色声明”和类声明很像。因此 可以将 prompt 抽象为一个角色 (Role),包含名字,描述,技能,工作方法等描述,然后就得到了 LangGPT 的 Role 模板。

使用 Role 模板,只需要按照模板填写相应内容即可。

除了变量和模板外,LangGPT 还提供了命令,记忆器,条件句等语法设置方法。

LangGPT 咒语生成器

值得一提的是,我们基于 LangGPT 设计了 LangGPT 助手来帮助大家使用 LangGPT, 它会帮助你设计很好的咒语。

图片示例

使用 LangGPT 助手 LangGPT —— 让人人都能编写高质量 Prompt

起名助手

生成起名助手咒语 LangGPT —— 让人人都能编写高质量 Prompt

咒语效果 LangGPT —— 让人人都能编写高质量 Prompt

邮件助手

生成邮件助手咒语 LangGPT —— 让人人都能编写高质量 Prompt

咒语效果 LangGPT —— 让人人都能编写高质量 Prompt

更多精彩

LangGPT 还在探索开发阶段,有问题欢迎反馈,更欢迎更多的人参与进来! 欢迎关注+star,欢迎共同参与!

LangGPT 项目地址

https://github.com/yzfly/LangGPT

点赞
收藏
评论区
推荐文章
添砖java的啾 添砖java的啾
2年前
如何编写高质量的代码
<sectionid"nice"datatool"mdnice编辑器"datawebsite"https://www.mdnice.com"style"lineheight:1.6;wordbreak:breakword;wordwrap:breakword;textalign:left;fontfamily:OptimaRegul
一文讲透产品经理如何用好ChatGPT
我基于GPT4,梳理了帮助产品经理全流程提效的方法,整理了一些prompt,本文旨在分享这些收获,希望能抛砖引玉。
Wesley13 Wesley13
2年前
VBA中msgbox的用法小结
1、作用在消息框中显示信息,并等待用户单击按钮,可返回单击的按钮值(比如“确定”或者“取消”)。通常用作显示变量值的一种方式。2、语法MsgBox(Prompt\,Buttons\\,Title\\,Helpfile,Context\)参数说明:(1)Prompt,必需的参数,为字符串,作为显示在消息框中的消息文本。
Wesley13 Wesley13
2年前
JS弹出对话框的三种方式
JS弹出对话框的三种方式我们用到了alert()方法、prompt()方法、prompt()方法,都是在网页有一个弹出框,那么就让我们探究一下他们之间的区别:一、第一种:alert()方法<html<head<title编写html页面</title
Wesley13 Wesley13
2年前
2016.10月我看过的资料们
!(https://static.oschina.net/uploads/space/2016/1013/115940_eU4X_2444023.jpg)《JavaScript的三种消息框alert,confirm,prompt(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fbl
Wesley13 Wesley13
2年前
MYSQL初级学习笔记一:MYSQL常用命令和数据库操作(DDL)!(视频序号:初级_3,4)
知识点一:MYSQL常用命令(3)登入方法:一,mysql–u账号–p密码退出方法:一,EXIT,QUIT修改MYSQL命令提示符:连接上客户机之后,通常使用prompt命令修改;连接客户机时,通常使用参数指定,mysql–uroot–proot–prompt提示符常用的提示符参数:\\D:完整的日期
【保姆级教程】如何用Rust编写一个ChatGPT桌面应用 | 京东云技术团队
为什么我们需要一个桌面应用原因实在太多,我们需要便捷地导出记录,需要在回答长度超长的时候自动加上“继续”,需要收藏一些很酷很实用的prompt......(首先我假设你是一名如我一样习惯用IDEA开发的java仔)
京东云开发者 京东云开发者
6个月前
不黑箱,不抽卡,分分钟带你拿捏SD中的色彩控制 | 京东云技术团队
导言颜色控制一直是AIGC的难点,prompt会污染、img2img太随机…今天带来利用controlnet,实现对画面颜色的有效控制。都说AIGC是抽卡,但对把它作为工具而非玩具的设计师,必须掌握如何控制它,让我们一起开始可控AI生成。想给AI点颜色瞧瞧
高耸入云 高耸入云
5个月前
什么是Prompt Engineering-提示工程
一、什么是提示工程(PromptEngineering)提示工程,也称为"Γ指令工程"。在人工智能领域,Prompt指的是用户给大型语言模型发出的指令。例如,"Γ讲个笑话"、"Γ用Python编个贪吃蛇游戏"、"Γ给男/女朋友写封情书"等。虽然看似简单,但
京东云开发者 京东云开发者
5个月前
新一代“垫图”神器,IP-Adapter的完整应用解读
导读不用训练lora,一张图就能实现风格迁移,还支持多图多特征提取,同时强大的拓展能力还可接入动态prompt矩阵、controlnet等等,这就是IPAdapter,一种全新的“垫图”方式,让你的AIGC之旅更加高效轻松。都是“垫图”,谁能还原你心中的图
赵嬷嬷
赵嬷嬷
Lv1
同是天涯沦落人,相逢何必曾相识!
文章
1
粉丝
0
获赞
0
热门文章

暂无数据