ChatGPT prompt最佳实践
在使用ChatGPT的过程中,它通常回答得不错,但我们也发现GPT偶尔会长篇大论/找不到重点/无法理解题意/没有给出我们想要的回答。
没关系,在这篇文章中,我会给出一些例子,帮助大家从GPT中获得更好结果。
这些方法结合使用通常会产生更好的效果,在某些场景下,也有可能不生效。具体的情况需要大家多花一些时间,多尝试不同的技巧,多一些耐心给GPT。
本文中,我会使用✔️表示正确用例,❌表示错误用例。
将问题描述清楚
第一条,其实也是最重要的一条,把你的问题描述清楚。ChatGPT不是创世神,它不会读心术,它只是一个大语言模型,请多给它一些信息,多给它一些引导。想像它是你的同事,顾问,而不是搜索引擎。
❌ 怎么反转字符串?
✔️ 在java中,如何反转字符串?
❌ 谁是总统?
✔️ 在2020年1月,美国总统是谁?
做什么/不要做什么
与其告知GPT不能干什么,不妨告诉GPT能干什么。你想要的是明确的答案,加入更多限定词,告知模型能干什么,回答的效率会更高,且预期会更明确。
❌ 给我推荐一部电影,不要恐怖片
✔️ 给我推荐一部好莱坞科幻电影
增加示例
在某些场景下,有些需求很难通过文字指令传递给 AI,即使描述出来了,AI 也不能很好地理解。
❌ 请为 “树莓味无糖百事可乐” 设计广告词
✔️ 你充当广告商。你需要为我的产品设计一个口号,以下是示例。我的产品是 “树莓味无糖百事可乐”
一切,从家开始!(中国石油)
吃饱了没有?(康师傅)
用心良苦,只为你!(乐虎)
活出精彩,从鲜橙多开始!(鲜橙多)
这世界,我们拥有!(中国平安)
它,比想象中更丰富!(易拉罐)
好吃不过农夫山泉!(农夫山泉)
你,值得拥有!(格力)
想不到的,都在这里!(淘宝)
使用引导词
使用引导词,引导模型输出特定内容。在prompt中,增加一个引导,在引导中给出一些上下文背景,可以告诉GPT怎样开始回答。
例如,我们需要补全代码时,我们可以给chatgpt写一个开头,它就会延续这个开头来进行回答。
❌ 反转字符串 工具类
✔️
/**
* 反转字符串 工具类
*/
public class
设定角色或人物
在上一篇文章中,我们提到可以给ChatGPT设定一个角色/人物,让 AI 生成的内容更符合你的需求。
❌ 请给我一些Java面试问题
✔️ 我想让你担任Java开发工程师面试官。我将成为候选人,您将向我询问Java开发工程师职位的面试问题。我希望你只作为面试官回答。不要一次写出所有的问题。我希望你只对我进行采访。问我问题,等待我的回答。
使用特殊符号分割指令和需要处理的文本
有时候,我们会输入一些特定的文本,然后通过指令,告诉GPT需要对文本进行什么样的操作。这时候,就需要用到特殊符号将文本包裹起来,让文本和指令分开。
例如:
“””
some text
“””
描述格式
假设你想要ChatGPT按照你想要的格式输出内容,你可以把具体的格式描述给它。
✔️例子1:
✔️例子2:
请分析苹果公司在2023年的市值能达到多少
格式:
进阶内容 Zero and Few Shot Prompting
Zero Shot、One Shot和Few Shot是一些机器学习中常用的概念,它们用于描述在特定任务中所需的训练样本数量。
Zero Shot(零样本)学习:在这种情况下,模型需要在没有看到过目标类别训练样本的情况下进行预测。它通过学习从已知类别到目标类别之间的语义关联来实现。例如,如果一个模型仅在”狗”和”猫”这两个类别上进行训练,而之后需要对”鸟”进行分类,它可以利用先前学到的知识来进行预测。
Few Shot(少样本)学习:模型在每个目标类别上只能获得很少的训练样本。通常,Few Shot学习涉及到在目标类别的有限样本上进行迁移学习或元学习,以便在遇到新样本时进行分类。
在与ChatGPT对话的过程中,我们可以给 ChatGPT 一个简短的 prompt,比如 描述某部电影的故事情节
,它就可以生成一个关于该情节的摘要。这种情况,就叫做 Zero Shot
, 这也是我们最常用的手段,这种提问方式有一些优点,但也存在很多缺点。
Zero Shot的优点
- 简单,易上手,提问者无需告诉ChatGPT如何进行回答,它会通过使用预先训练的语言模型和一些示例或提示。
Zero Shot的缺点
- 依赖于预训练的语言模型,这些模型可能会受到训练数据集的限制和偏见。比如在使用 ChatGPT 的时候,它常常会在一些投资领域,使用男性的「他」,而不是女性的「她」。那是因为训练 ChatGPT 的数据里,提到金融投资领域的内容,多为男性。
- 输出有时可能不够准确,或不符合预期。这可能需要对模型进行进一步的微调或添加更多的提示文本来纠正。
另一种情况,我们可以预先设定一些对话,用来引导ChatGPT按照我们想要的方向来生成回答。在上一篇文章中,我们了解到了prompt中,messages
由system
、user
或assistant
组成,那么,我们可以模拟一些对话,来引导ChatGPT。
预先设定好对话后,每次给ChatGPT一个单词,它就会按照你给定的demo格式进行返回,无需再每次再使用prompt命令它。
用这种方式,我们可以构建出很多有用的角色。例如,词典,一个外教老师,一个emoji查询器,一个投资顾问….
That’s all
以上就是我要分享的一些最佳实践,现在的ChatGPT很聪明,也很笨拙。取决于你要如何去使用和引导它,希望这篇文章能够对你带来一些启发。
Finally
2022年底,GPT3.5 发布了,截止2023年7月,GPT4,new bing,google bard,auto gpt还有一系列AI图像处理,语音处理模型相继发布。
我们正处在一个变革的转折点,第四次工业革命已经开始了,这一次革命,带来的生产力提升是爆炸式的,甚至有可能超过前三次的总和。我们理应抱着学习,开放,包容的态度来接受和拥抱这次变革,否则,与一百多年前的清政府闭关锁国有什么区别呢?
在这AI革命的浪潮中,希望大家都能够不断学习和适应新的技术和工作方式,在这变革的时代劈荆斩棘,乘风破浪,早日达到自我实现和财富自由!