文章目录
Prompt基本定义
驱动大模型进行表达的文本描述
- 例1:画一幅画,呆萌的小猫躺在大泡泡中,可爱温柔,动漫风格,暖系色调,居中,面对镜头,虚拟引擎,棉花糖质感,光线追踪,机制细节,质感细腻,8K,超高清,超广角,极致清晰,丁达尔效应
- 例2:请生成一张统计图,内容为:橘子10个,苹果20个,梨15个,猕猴桃10个
- 例3:帮我撰写一个验证邮箱的正则表达式
Prompt入门公式
- 我想你扮演一个【角色名称】,执行一个【任务名称】,以【格式类型】展示信息
例如:我想你扮演一个【知名直播带货主播】,执行一个【编写一段带货口播文案,商品是口红,要求商品特点突出、语言生动有感染力】,以【Markdown】展示信息 - Prompt=任务+生成主题+细节(可选)+形式(可选)
组成 | 定义 | 示例 |
---|---|---|
任务(必选) | 指明希望完成的任务类型 | “请生成一篇广告文案”、“扮演翻译官” |
生成主体(必选) | 指要生成的主要对象 | “请生成一篇关于狗不理包子的广告文案”中的狗不理包子为主要对象 |
细节(可选) | 细节描述用来丰富最终生成效果 | 如在Prompt中增加“加一些emoji表情点缀” |
形式(可选) | 指明生成后的排版、内容风格 | “用文本描述”、“代码形式生成”、“转为广东话” |
例:我希望你【充当讲故事的人】,你要想出一个【中华文化】的【童话故事】,要求【内容积极向上,与猫猫有关】。请用【广东话讲一下】
优质Prompt
- 表达清晰:普通人也能明白其含义,少用特殊字符(不具备可读性)
- 通用性强:在同类任务上,更换主体词后仍有不错效果
- 生成稳定:相同提示词情况下,多次生成的内容足够稳定
场景 | 实例 |
---|---|
种草推文 | 请用小红书的种草风格,写一篇关于“阿玛尼405口红(烂番茄色)”的种草推文,需要多用点emoji表情,活泼可爱的语气,最后加tag,不超过300字 |
简历润色 | 帮我扩写并优化一下简历中的这句话:“用PaddleSpeech完成原神可莉音频克隆项目,发布在哔哩哔哩后有百万播放量,非常厉害” |
面试准备 | 现在你是百度文心大模型运营面试官,希望你可以给面试常问的几个问题,我的岗位是活动运营 |
歌词生成 | 现在你是方文山的实力粉丝,请写一组歌词,关于青山绿水 |
代码生成 | 请帮我写一个能够读取PDF的代码,需要是Python的形式 |
组装电脑 | 请给出一台总价不超过500元台式机配置单,要图吧垃圾佬的版本,接受二手配件 |
提示词技巧
- 细节法:给出更准确清晰的指令(细节、概括性术语等)
- 分解法:将复杂的任务分解为更简单的子任务(CoTd等思想,Let’s think step by step)
- 投票法:让模型给出多个结果,然后使用模型选择最佳结果(ToT等方法)
- 示例法:提供一个或多个具体例子,提供输入输出示例(one-shot,few-shot等方法)
- 角色法:让模型扮演某个专家、角色回答问题
- 反思法:让模型在回答之后进行反思验证,说明理由(自我一致性等方法)
- 记忆法:构件指令使模型时刻记住任务关键信息,确保不偏离任务解决路径(system级prompt等)
Prompt 优化原理
- 定基础:优先保证任务+生成主体能够生成我们想要的效果。例“请写出一篇影评,电影名为《阿甘正传》”
- 做强调:
2.1 顺序:越靠后的需求描述越有可能“权重降低”
2.2 强调词:描述某一点是自己非常看重的内容,增加“非常”、“强调”、“务必”等词汇来强调自己需求重要程度
2.3 语言风格:优化个人语言表达,尽可能官方、清晰、有逻辑 - 提预设。例“同样的方式也评价一下《肖申克的救赎》吧”、“和阿甘正传相比,谁的分更多呢?”
- 戴高帽:实际上并不需要加一堆细节词,只需要加入一句“你就是游戏大作的特效师”就能得到很不错的效果,这就叫戴高帽(原理:调用相关数据标签)
- 给提示:
- 做假设:由于数据和采样策略的原因,我们很难保证大模型在生成时不会说胡话,那么使用“增加假设”的方式可以让模型在有些犹豫时不进行瞎说。例:“请给出布鲁弗莱高级技工村下午工作人员的变化情况,【如果你的数据存在问题,例如数据不准确、缺乏时效性等,那么可以给出否定答复,例如:目前没有相关数据可供参考。】”
- 做检索:如需要绘制图片,则参考图片类网站中的相应检索词
- 看优化 :找相应的平台或工具对Prompt进行优化
常见应用场景与优化示例
- 拿到应用场景后,先试着判断场景的任务特点,结合任务共性先优化一波
- 再结合场景主体、应用场合的特点,对生成内容的需求做一些补充说明
- 结合该场景下优质内容的来源特点,给大模型一些找信息的“灵感”
以营销场景中【产品海报背景图】生成为例,原始需求是【画一张海岛旅游产品的营销海报背景】
第一步 任务归类、复用该类别技巧
任务:“海报背景”属于AI作画任务
补充:AI作画这类任务的prompt通用技巧,如画风描述
第二步 补充主题特点信息,如判断具体什么画风合适
场景特点:“海岛”特点是不同于大都市的松弛体验
补充:能提现“松弛感”的画风描述,如明亮、手绘、二次元、卡通等
第三步补充应用场合特点信息
应用场合:“营销”、“海报背景”,往往需要后期加文案信息
补充:对画面的具体要求,如对画面结构的描述“画面中间空白、画面四周画上彩色云朵”
第四步 加上一段文案试试看效果,逐步迭代
以【办公效率场景中写文章】为例,原始需求是【写科普高血压患病因素的文章】
第一步:任务归类、复用该类别技巧
任务:“科普文章”属于AI文本生成类任务
补充:这类任务的prompt通用技巧,如:文章结构要求,做强调可能会让生成效果更好
第二步:补充主体特点信息
应用场合:“高血压”、“患病”,受众多位老年朋友
补充:对人群需求特点的具体描述,如通俗易懂;对文章易读性的要求描述,如请分段描述
第三步:补充应用特点信息
应用场合:“科普文章写作”
补充:能生产这类优质内容的生产者假设
以生活场景中【日常学习】为例,原始需求是【写转灰度icon的代码】
第一步:任务归类,复用该类别技巧
任务:代码生成
补充:这类任务的prompt通用技巧,如:细分业务逻辑,适合加“戴高帽”Trick
第二步:细分业务逻辑
逻辑:先转为常见的Icon大小32X32、然后再转为灰度,即可成为灰度icon的代码
第三步:增加Trick
图像处理代码生产者哪里找:“OpenCV”
补充:关于信息来源的描述,如“OpenCV的高手”
以生活场景中【日常学习】为例,原始需求是【给写完的代码做文档】
第一步:任务归类、复用该类别技巧
任务:要代码知识,这是知识问答类任务
补充:这类任务的prompt通用技巧,如:引导模型给出该领域专门内容信息
第二步:结合场景主体特点
需求要素:不同类型的文档呈现形态不一样
补充:生成一份API说明文档
第三步:准确给出题干
场景特点:代码相关文档说明,通常使用Markdown格式
补充:使用Markdown格式
面向场景开发
主要目标:让Prompt从能做好“单个案例”到能做好“具体场景”
以信息抽取场景为例,虽然相关案例之多,但其Prompt共性很强
例如:快递单信息抽取、邮箱地址抽取、日期信息抽取、商品属性抽取、评论观点抽取、处方内容抽取
你是一个【快递单信息】抽取模型,我将粘贴一段待抽取的文本,你需要通过对我输入的文本进行信息抽取,抽取字段是【“姓名”、“电话”、“地址”】。同时,如果我的输入内容存在问题,例如【信息不完善,非快递单信息】,那么可以给出否定答复,例如:输入内容存在错误(【】表示根据实际任务自行修改的内容)
步骤一 | 最小单元测试 | 确认大模型可以完成该类任务 |
---|---|---|
步骤二 | 选择适合的交互方式 | 选择直接交互还是预设任务 |
步骤三 | 归纳输入情况 | 确定Prompt模版 |
步骤四 | 验证Prompt模版通用性 | 验证是否能做好“具体场景” |
步骤五 | 让Prompt更加可靠 | 保证准确性、安全性、稳定性 |
学习prompt进阶教程推荐
1.《吴恩达:为开发人员提供提示工程》
2. 《微软:Prompt提示词工程介绍》
3. 《AiStudio基于大模型的优质Prompt开发课》
4. 《Prompt Engineering Guide》
5. 云上江树:《ChatGPT中文指南》、《LangGPT结构化提示词项目》、langGPT知识库
参考资料
飞浆:《基于大模型的优质Prompt开发课》、《零代码创建Prompt应用实战课》