10种实用的Prompt技巧图解

Python与算法之美

共 1934字,需浏览 4分钟

 · 2023-06-22

收集整理了prompt engineering的10种实用技巧,以图解的方式解释了它们的主要原理。

本文追求以极简风格逼近这些方法的第一性原理,把黑话翻译成人话,并使用图片范例进行说明。

同时也加入了一些自己的理解,如有出入欢迎指正。

一,Structured Prompt (结构化提示词)

可以按照 prompt = 角色 + 任务 + 要求 + 提示  的结构设计清晰明了的提示词。

简单地说,这个结构就是要告诉chatgpt: 你是谁?你要做什么?要做成什么样?要如何做?


二,Prompt Creator (提示词生成器)

简单地说,就是让ChatGPT扮演一个提示词生成专家,帮助你完成/完善/改进 你的prompt。

三,One/Few Shot Prompt   (单样本/少样本提示)

没有范例:zero shot;给1个范例 one shot;几个范例:few shot;

如果有许许多多的范例,可以尝试finetune模型权重。

四,COT(Chain of Thought,思维链)

在few shot prompt的范例中给出思维链,让模型学习不仅输出结果还要给出思考过程。可以显著提升LLM的表现。

五,Self-Consistency COT (一致性思维链)

把temprature 调成大于0,如0.4. 然后让模型多回答几次,对回答结果进行投票,可以显著改善 COT。

六,Zero-Shot COT (零样本思维链)

不提供范例,只在prompt的结尾加入"Let's think step by step (让我们一步步思考)“ 能够取得接近 COT的效果。

也可以试试: Let's work this out in a step by step way to be sure we have the right answer.  让我们逐步解决这个问题,以确保我们得到正确的答案。

根据测试这个 咒语效果更好。

七,Self-ask Prompt   (自我提问)

在prompt范例中引导LLM将一个复杂的问题拆分为简单的子问题,逐个回答,然后汇总成为答案。

和COT思维链效果有些类似,但同时要求LLM提出子问题并给出答案,对生成内容的约束更大,有时候效果更好。

八,ReACT(Reaon+Act 协同思考和动作 )

按照 think(思考)->act(行动)->observation(观察)->think→act→observation...的模式来解决问题。

ReACT是以强化学习这种范式实现的,需要定义一个可以交互的环境env。

智能体agent就是LLM。act就是和环境交互(如查询互联网,调用工具,执行代码等)。

AutoGPT也是这种强化学习范式prompt的产物,AutoGPT设计的主要prompt模式如下:

Thoughts(当前的思考)->Reasoning(推理过程->Plan(后续计划)->Criticism(自我批判审视)->Next action(下一步行动)

九,Reflexion (失败后自我反思)

按照 任务->尝试->评估->如果失败则反思(Reflection)失败原因->再次尝试→...的模式来解决问题。

加了Reflection步骤可以明显提升成功率。作者认为反思步骤可以帮助LLM建立长期记忆或者经验。

Reflection也是以强化学习范式实现的,需要定义一个可以交互的环境env,和ReACT出自同一批作者。

十,Langchain

将本地文档做成知识库,根据Query问题按照文本emedding向量相似度查询到最相关的知识内容,按照模版拼接到Prompt中。

核心技术是Embedding算法,以及向量数据库查询。





公众号算法美食屋后台回复关键词:chatgpt,获取本文notebook源码以及吃货更多chatgpt相关prompt技巧分享~


浏览 29
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报