共计 2282 个字符,预计需要花费 6 分钟才能阅读完成。
15 年金融华尔兹即将落下帷幕,终于狠下心重拾对于技术的热爱。
#GPT#
== 引子 ==
自 ChatGPT 横空出世以来,在经历短短一个月的“集体悲观”到“热情拥抱”,你会发现各个垂直领域的人工智能风开始吹起来了,尤其是 AIGC 这块儿,态度 180°的大转弯 ?,也算是意料之中的事情。
我和大多数人一样,在最近的工作和学习过程中,使用 AI 工具的频率是越来越高,用得最多的还是 ChatGPT、NotionAl 和 New Bing。一开始也就是尝试性的使用,用的也是简单的 prompt,像上图,基本上没什么需要特别注意的东西,就像在使用搜索引擎一样。可是,随着你的使用的深度越来越高,需求、要求越来越复杂,你可能要经历多次的调整才能得到你想要的结果。比如像这样:
也怪我一开始没有给到 ChatGPT 完整且清晰的指令,但是它这不知道从哪信手拈来的安装流程和命令,我看完是一脸懵逼,这是个啥啊?
有意思的是,这两天 ChatGPT 的 api 接口更新加降价,索性在 VScode 中直接把 ChatGPT 的插件装上了,根据 stable-diffusion-webui 项目的安装步骤,让 ChatGPT 写了一个在 Linux 系统中自动安装的脚本。脚本中包含了判断系统为 Debian 还是 ArchLinux 亦或是 Redhat,同时也添加了判断系统是不是使用了 Miniconda。其实我不太会写 shell 的脚本,但是看起来好像是那么回事。
晚些时候找台 VPS 测试一下,如果可以用,那就分享出来 ?。
==Prompt 在什么情况下变得重要了?==
好了,通过上述几个例子,我好似得出了一个结论,那就是 prompt 真的很重要。
肯定有人会说了,你这不废话么。再说了,网上好多人做了各种各样的 prompt 汇总,我拿过来用不就完了么,切~
别着急,容我解释一下。
我所说的很重要指的是:当你的需求、流程设计或要求不仅仅是一个简单的单词或一个简单语句可以让语义模型生成你想要的结果的情况下,Prompt 的准确性和逻辑性以及重要性就凸显出来了。
怎么理解这个事儿,先上一个案例:
注意图片中的两个部分,第一部分是繁体中文和简体中文的区别(Chinese & Simplified Chinese),我不太清楚为什么会出现这样的问题,但当我没有明确简体中文的时候,模型就可能抽疯给到我一个繁体中文的回复。但当我创建一个 New Chat 的时候,这个问题就不会出现。索性,我精确了我的 prompt 表述,让结果达到我的预期结果;
第二部分是我对输出的结果样式和创建标题的风格进行了自定义,所以得出的结果就如图所示。
案例能说明的是,上述的 prompt 就好像是你在使用 Midjourney 或者 Stable-Diffusion 生成图片一样,越是精美的图片,就越需要精准的关键词,包括正向用词和反向用词。头段时间刷到很多 B 站上的设计 up 主在捣鼓 Midjourney 时候,Prompt 真的是太长了。。。,但是成品的效果就连我这个眼睛看不出来啥是艺术品的人都觉得是真的好看。
== 开干之前的准备工作 ==
首先,抛开我是否是一个专业的工程师或者是资深的程序员这个事,作为使用者肯定要清楚 Prompt 和语义模型之间的关系是什么。可是悲剧的是,我在阅读了几篇论文后,发现我讲不清楚这个事儿。那么只能退而求其次,起码我得知道我如何能高效、准确的创建一个 Prompt 来满足我指定的需求。
所以流程框架就出来了(这里偷个懒,没有制作一个可视化的流程图):
寻找基础资料 (框架) 和工具 ==》使用案例进行剖析 ==》结合自己的需求进行重构或修改 ==》完成符合你要求的 prompt
第一步:寻找资料和工具
好,干货来了:
推荐两个项目,有兴趣的自行查阅(需要魔法)
1.awesome-chatgpt-prompts
就是这名开发者的项目,让我意识到 prompt 重要性的,换句话说,这名开发者也算是我的启蒙老师。TA 的这篇《The Art of ChatGPT Prompting: A Guide to Crafting Clear and Effective Prompts》算是给了我一个理论框架,似乎有些浅显,但是对于刚入门的一个门外汉来说,够用了。
当然,下边还有来自世界不同地区的贡献者提供的各个行业、各个角色的 prompt 用例,可以说是包罗万象,他也有一个自己的独立站,点开大图自行输入前往~。
2.Prompt-Engineering-Guide
就是这个项目,就是他,彻底打碎了我深入研究 prompt 和语义模型关系的信心,我只是看了两篇论文,才发现,这个活可能不是我做的,而是我的搭档去研究的 ?
下面的截图里边可以清楚地看到,这个项目包含了论文、指南、文档、工具和库、数据、博客、指南、教程还有其他读物。
至于哪些是普罗大众都能看懂的而且有用的,容我再补一些专业知识后再单独写一篇进行说明。
这时候准备工作只完成了一半,有这两个项目的加持,还缺一个能让我方便记录我创建 prompt 的工具,在用过了几款浏览器插件之后,我现在用的比较多的是 AIPRM for ChatGPT 这个浏览器插件。
安装完毕后,效果是这样的,他也自带一些他们社区贡献者贡献的 prompt:
另外,推荐 notion 也用上,notionAI 还是挺香的,但因人而异,至少我现在的工作流已经转移到了 notion。
好了,准备工作到这里算是基本上完成了,接下来可以耍一耍,选一个你感兴趣的 prompt,先去试一下,看看使用这种复杂且具有明确指向性的 prompt 能不能得到你想要的效果。
最后,这篇算是开篇,主要说了一些需要提前准备的东西,之后的更新会从不同的使用场景去讲讲实操的内容。