输入“/”快速插入内容

Task2:Prompt工程

3813
4770
19
5
一、LLM类型
我们要了解LLM有什么类型,以及哪种LLM可以用prompt?
预测型语言模型(如 RNN、GPT 等):
工作原理是基于序列生成,通过逐步预测下一个词构建整个句子。
示例:RNN 在给定一段文本的情况下,会基于历史上下文预测后续的词语。早期的 LLM 如 GPT-2 等也是基于这种方式。
提示驱动型语言模型(如 GPT-3、ChatGPT):
这类模型通过 prompts(提示)生成基于更复杂指令的内容。用户提供一个 prompt 后,模型会依据它生成相应的回答、文本或执行其他特定任务。
这类模型适合广泛的场景,比如编写文章、代码生成、对话机器人等,且通过 prompt 工程可以优化输出质量。
二、prompt概念
Prompt 是什么
在大语言模型(LLM)中,Prompt 是用户输入给模型的文本或指令,用于引导模型生成所需的输出。简单来说,prompt 是用户与模型之间的对话起点,它告诉模型该执行什么任务或生成什么类型的内容。
举一个生动的例子:将大模型当成人,你是老板,你需要告诉你的员工(大模型)要做什么,你的命令是否表达清楚,影响着你的员工是否能完成的你要求。
Prompt 的作用
Prompt 在模型生成过程中起着核心作用,模型根据 prompt 的内容进行推断、生成和决策。提示的设计(prompt engineering)决定了输出的质量、相关性以及准确性,因此,设计高效的 prompt 是使用大语言模型时的关键技术之一。
prompt工程
提示工程关键原则
1. 原则1 - 编写清晰具体的指令
模型的输入需要明确且精确,以确保生成的输出符合预期。含糊或不完整的提示往往会导致不理想的结果。以下是一些策略可以帮助编写更清晰的提示。
1.1 策略1 - 使用定界符清楚地限定输入的不同部分
为了避免混淆,将不同的输入部分用定界符如 <>[] 或者双引号等标记出来。这样可以清楚地定义问题、上下文、任务要求等,使模型能够更好地解析输入,避免信息混杂。
示例:
代码块
“为以下段落创建总结:<文本内容>”
1.2 策略2 - 要求结构化输出
通过要求模型以特定的结构输出结果,可以减少生成内容的模糊性和不一致性。这尤其适用于生成表格、代码块或多步骤解答时。
示例:
代码块
“将以下问题分为三部分解答:1. 解释问题,2. 提供解决方案,3. 总结。”
1.3 策略3 - 要求模型检查是否满足条件
提示中可以要求模型自我检查,确认它的输出是否满足某些特定的条件。这样可以减少错误输出,并鼓励模型主动校正。
示例:
代码块
“回答以下问题,并确保回答包含三个关键点。如果没有,请重新检查并补充。”
1.4 策略4 - 小批量提示
在复杂任务中,分解提示为较小的子任务并分别进行处理,可以显著提高模型的输出质量。通过逐步构建和组合答案,模型能更准确地完成整体任务。
示例:
代码块
“首先描述这个问题的背景。接着,给出可能的解决方法。最后,总结一下你的结论。”
2. 原则2 - 给模型充足的思考时间
为了得到更深思熟虑和完整的回答,给模型时间去"思考"或推理是很重要的。通过引导模型逐步推导出解决方案,而非匆忙得出结论,可以获得更高质量的结果。
2.1 策略5 - 指定完成任务的步骤
通过指定逐步完成任务的步骤,可以帮助模型更好地思考问题。每一步明确且结构化,能够引导模型做出更深入的推理和判断。
示例:
代码块
“请分步骤描述如何解决这个问题:首先定义问题,接着列出可能的解决方案,然后分析优缺点,最后得出结论。”
2.2 策略6 - 指导模型(在急于得出结论之前)制定自己的解决方案
鼓励模型在得出结论前,先生成一个完整的推理链或自己的解决思路。这样可以避免匆忙得出结论,提高回答的准确性和全面性。
示例:
代码块
“在得出结论前,请先列出你认为合理的几个解决方法,并分别分析它们的优缺点。”
3. 模型的局限性