0%

大模型-Prompt调优

大模型 Prompt 调优技巧

参考资料

大模型 prompt 指在大语言模型应用中,用于 “提示” 模型唤起特定能力以解决实际问题的提问方式。早期它被称作 “输入形式” 或 “输入模板”,后来 “prompt”(提示)这一叫法因契合大语言模型语境,能准确体现其在调用模型能力方面的关键作用,成为公认术语。

Prompt 要素

  1. 指令
  2. 上下文
  3. 输入数据
  4. 输出指示

Prompt 原则

  1. 指令需要清晰、具体
    1. 可以使用分隔符来清晰地表示输入的不同部分(上下文、指令、用户输入等),还可以防止提示词注入(用户输入的文本与提示词冲突)
    2. 寻求结构化的输出
    3. 要求模型自己检查是否满足需要的条件
    4. 提供示例,可以帮助模型检查是否正确,同时使其更好地理解需求
  2. 给模型思考过程
    1. 指定任务完成步骤
    2. 指导模型在下结论前确定一个自己的解决方法,防止因为用户输入的方法错误而引导向错误的结果

此部分参考了:面向开发者的LLM入门教程,细节及案例可以参考该博客

Prompt 框架

RTF 框架

Role-Task-Format,指定大模型的角色,需要完成的任务,以及数据返回的格式

RISEN 框架

Role-Instructions-Steps-Goal-Narrowing,角色,命令、步骤、目标、约束。其实和 RTF 模型差不多,增加了任务的步骤以及最终目标

RODES 框架

Role-Objective-Details-Examples-Sense Check 角色,目标,详细细节,示例,感官检查

思考链模式

增加提示词让大模型逐步思考,比如:“让我们逐步思考”,这样的话可以处理更复杂的任务

密度链模式

“Chain of Density”(CoD)是通过建立一系列相互关联的紧密提示来指导AI生成具体和连续的输出。这些提示相互链接,形成一个“密度链”,从而更有针对性地引导AI达到预期的输出。一般用于生成文本摘要,概念比较抽象,直接看例子:

文章:{{ 文章 }}

请你为上述文章生成越来越精简,且信息丰富的摘要。

请重复以下两个步骤5次。

步骤 1. 从文章中找出1-3项先前摘要中遗漏的信息实体“informative entity”(以“;“分隔)。

步骤 2. 生成一个新的摘要,长度相同,内容更紧凑,其中涵盖先前摘要中所有的信息实体“informative entity”以及缺失实体“Missing entity”。

_“缺失实体”是指:

– 与主题相关。

– 具体但简洁(5个或更少的字)。

– 未在先前摘要中出现。

– 文章中存在的,不能自行编造。

– 位于文章中的任何位置。

指南:

– 第一次的摘要应该很长(4-5句,约80个字),但信息不具体,除了被标记的“缺失实体”外,几乎不包含任何信息。 例如,使用冗长的语言和填充词(例如“本文讨论”)填充词汇,以达到80个字。

– 每个字都很重要:重写先前的摘要,使其更加流畅,并为其他信息腾出空间。

– 通过融合、压缩和删除像文章讨论之类的非信息短语来腾出空间。

– 摘要应该高度密集、简洁,但要容易理解,无需参考原文即可轻松理解。

– “缺失实体”可以放在新摘要中的任何位置。

– 不能从先前的摘要中删除信息。 如果无法腾出空间,请减少新加入的信息。

记住,每个摘要的字数应该一致。

回复格式为JSON。 JSON是一个长度为5的列表,其中包含“Missing_Entities”和“Denser_Summary”两个键值。

参考资料:

  1. 大模型Prompt技巧全解析
  2. 密度链 Chain of Density(CoD)-最新发布的提示工程
  3. 面向开发者的LLM入门教程