Foreword
Prompt的入门指南,简单使用
Prompt Engineering是一种在自然语言处理领域的技术,它通过设计、优化和评估输入提示(prompt)来引导大规模语言模型(如GPT系列模型)生成期望的输出。简而言之,Prompt Engineering就是找到最佳方式向模型提问,以获得最有用、最准确的回答
Prompt
Prompt,就是如何让AI按照你的设想去完成你的目标
我们一般将给大模型的输入称为 Prompt,将大模型返回的输出称为 Completion,让大模型帮我们做补全
角色扮演
角色:描述LLM在这里扮演的角色是什么样的,核心就是给出来问题的背景信息和约束
问题描述:说清楚要处理的是什么问题
输入描述:给出具体输入给大模型的数据或者命令是什么样的
输出描述:给出具体的输出格式,方便后续的程序采集和处理
示例:
你现在是一个初中三年级的学生(描述背景和文化水平限制)
请回答一下1到9的乘法口诀表?(描述问题、输入)
请输出按照如下格式输出(输出描述)
1*1=1
1*2=2
1*3=3
可以看到输出的格式基本正确
角色扮演,通常叫做4A模型
Act 角色
Action 执行,需要回答的问题
Advise 注意,背景限制
Additional 额外的补充,输入的内容
选择题
选择题比较简单
角色:描述LLM在这里扮演的角色是什么样的,核心就是给出来问题的背景信息和约束
问题描述:说清楚要处理的是什么问题
选择描述:说明选项是什么
示例:
小明在笑,请给出小明当前的心情是好,还是坏?请输出好或者坏
选择题的方式叫做,Few-shot prompt,也就是少量样本提示
自学习
Prompt导致回答的结果和Prompt的设定有非常强的相关性,从而导致一个问题在类似的Prompt下可能会有不同的回答。为了避免这个问题,你可能可以排列组合你的Prompt,或者让你的Prompt也学习起来
Prompt自学习就可以就能解决Prompt本身模板化严重的问题
参数技巧
有一些隐藏性的参数会影响到LLM的回答
temperature用来影响模型在生成文本时的随机性和多样性的一个可调参数(为 0 到 1 之间的浮点数)
step by step,让LLM在回答的过程中输出思考的流程,然后再回答,这样我们就可以简单的看出来为什么他是这么思考的,以及我们后续要如何调整Prompt
Summary
简单入门,深入Prompt还是非常复杂的
Quote
https://zhuanlan.zhihu.com/p/440169921
https://maximliu-85602.medium.com/prompt-engineering%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5%E4%B8%8E%E5%85%A5%E9%97%A8-988afac2131b
https://prompt-engineering.xiniushu.com/getting-started/installation
https://www.aiyzh.com/prompt/58/