提示工程
提示工程
1、概述
Prompt Engineering: 提示工程
提示词要素
-
指令:想要模型执行的特定任务或指令
-
上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应
-
输入数据:用户输入的内容或问题
-
输出指示:指定输出的类型或格式
提示模型
-
零样本提示(Zero-Shot Prompting)
- 即用户不提供任务结果相关的示范,直接提示语言模型给出任务相关的回答
-
角色扮演提示(Role Prompting)
-
少样本提示(Few-Shot Prompting)
- 用户提供少量的提示范例,例如任务说明等
-
参数设置
-
思维链提示(Chain of Thought Prompting)
-
零样本思维链提示(Zero-Shot Chain of Thought Prompting)
1.1、零样本提示(Zero-Shot Prompting)
标准的提示词:
-
指令:你需要模型完成的任务
-
上下文信息:这里的上下文信息有两个作用
-
给AI划定一个信息范围
-
给AI提供一些额外的信息,从而让AI能更好的执行指
-
-
问题:你需要模型解答的问题
-
输出要求:你需要模型的回答所遵照的要求,这里的要求可以是格式、条数等,也可以是回答风格。
零样本提示格式:
案例:
案例:文本分类
1.2、少样本提示(Few-shot)
零样本提示可以通过简单的自然语言向AI下达指令,但是如果指令复杂化的情况下就不好描述了。
少样本提示的关键核心就是:举个栗子!通过给AI提供一个示例样本来控制AI的回复。
案例
案例:英语单词查询助手
案例:控制输出的格式
这是 openai-cookbook 中关于 Few shot 的介绍:few-shot
1.3、角色扮演(Role Prompting)
ChatGpt Prompt Generator: 指定角色,这个工具会生成对应角色的提示词
提示词-角色库
让AI扮演一个你要求的角色,AI会基于这个角色来执行你所给的指令
直接上案例…
1.4、参数设置
ChatGPT常见的参数如下:
参数设置名称 | 参数说明 | 参数设置范围 | 参数设置示例 |
---|---|---|---|
model | 模型类型,表示ChatGPT的具体模型架构。 | 字符串,例如:“gpt-3.5-turbo” | “gpt-3.5-turbo” |
prompt | 用户提供的对话或输入,用于模型的上下文。 | 字符串 | “Translate the following English text to French: {text}” |
temperature | 控制输出的随机性,较高值增加随机性。 | 浮点数,通常在0和1之间 | use “temperature” value of 1 in our conversation |
max_tokens | 限制生成文本的最大标记数,控制输出长度。 | 整数 | use “max_tokens” value of 300 in our conversation |
top_p | 仅在top-p(nucleus)中采样标记,用于控制多样性。 | 浮点数,通常在0和1之间 | use “top_p” value of 0.3 in our conversation |
frequency_penalty | 提高高频词汇的惩罚项,以促使生成更多不常见的词汇。 | 浮点数,通常在-2和2之间 | use “frequency_penalty” value of 1.5 in our conversation |
presence_penalty | 提高已生成词汇的惩罚项,以促使生成更多新词汇。 | 浮点数,通常在0和1之间 | use “presence_penalty” value of 0.2 in our conversation |
stop | 设置一个停止词,用于指导生成的文本何时结束。 | 字符串 | “###” |
1.5、思维链提示(Chain-of-Thought Prompting,COT)
简单来说,思维链提示也是少样本提示的一种,不过这个样本换成了与逻辑推理相关的样本。
案例
1.6、零样本思维链提示(Zero-Shot CoT prompting)
魔法咒语
1.7、自我一致性提示
投票:使用大语言模型来处理较为复杂的文本的时候,为了确保处理结果的准确性,我们通常会使用同一段提示词产生多个结果,然后取出现次数最多的那个结果作为最终结果。
1.8、知识生成提示(Generated Knowledge Prompting)
让gpt大模型基于全网能获得的公共数据来进行生成所需要的内容
案例:
1.9、提示词公式
提示词万用公式=明确任务或需求+限定范围或主题+指定格式或结构+确定语气或风格+指定关键信息或要素
通过这个结构的不同组合,相信你就可以写出自己想要提示词。
1、明确任务或需求: 在提示词中清楚地指明你希望生成的文本的目标或任务,如描述、解释、比较、总结等。
例如:请描述一下巴黎塞纳河的历史和文化意义。
解释一下量子力学的基本原理和应用。
2、限定范围或主题: 在提示词中指定特定的主题、领域或背景,以便模型生成与之相关的内容。
例如:在美食领域中,介绍一些著名的法国菜。 关于人工智能领域的发展趋势和挑战进行一番讨论。
3、指定格式或结构: 如果你有特定的文本格式或结构要求,可以在提示词中明确指定,如列表、段落、标题等。
例如:请列出五个理由,解释为什么健康饮食对人体重要。
给我写一篇关于旅行的短文,包括引言、正文和结论。
4、确定语气或风格: 如果你希望生成的文本有特定的语气、风格或口吻,可以在提示词中表达清楚。
例如:以幽默的口吻给我讲一个笑话。 用诗歌的形式表达对自然的赞美。
5、指定关键信息或要素: 在提示词中提供关键的信息或要素,以确保生成的文本包含所需的内容。
3、资源
ChatGPT手册
ChatGPT 提示词高阶技能:零次、一次和少样本提示
OpenAI-CookBook - 提示词教程
如何使用大语言模型
ChatGPT Prompts Awesome
ChatGPT SEO prompts
SEO工具网站
提示工程指南
电子书推荐:
《如何用ChatGPT赚钱:策略、技巧和战术》
[《聊天提示的艺术:制作清晰有效的提示指南》](The Art of ChatGPT Prompting: A Guide to Crafting Clear and Effective Prompts)
《保护GPT:攻击和防御ChatGPT应用程序的实用介绍》
[ChatGPT提示生成器应用程序](ChatGPT Prompt Generator - a Hugging Face Space by merve)