Prompt入门指南

OpenAI

Views:  times Updated on December 28, 2023 Posted by elmagnifico on December 28, 2023

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

image-20231228032751550

可以看到输出的格式基本正确

角色扮演,通常叫做4A模型

Act 角色
Action 执行,需要回答的问题
Advise 注意,背景限制
Additional 额外的补充,输入的内容

选择题

选择题比较简单

角色:描述LLM在这里扮演的角色是什么样的,核心就是给出来问题的背景信息和约束

问题描述:说清楚要处理的是什么问题

选择描述:说明选项是什么

示例:

小明在笑,请给出小明当前的心情是好,还是坏?请输出好或者坏

image-20231228033534086

选择题的方式叫做,Few-shot prompt,也就是少量样本提示

自学习

Prompt导致回答的结果和Prompt的设定有非常强的相关性,从而导致一个问题在类似的Prompt下可能会有不同的回答。为了避免这个问题,你可能可以排列组合你的Prompt,或者让你的Prompt也学习起来

Prompt自学习就可以就能解决Prompt本身模板化严重的问题

参数技巧

有一些隐藏性的参数会影响到LLM的回答

temperature用来影响模型在生成文本时的随机性和多样性的一个可调参数(为 0 到 1 之间的浮点数)

image-20231228040151782

step by step,让LLM在回答的过程中输出思考的流程,然后再回答,这样我们就可以简单的看出来为什么他是这么思考的,以及我们后续要如何调整Prompt

image-20231228040522634

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/