大模型Prompt总结
在与大模型进行交流的过程中,由于用户经验不足、模型差异性会出现Prompt指令不当的问题,因此需要通过Prompt工程,使用户能够控制模型的输出,使其生成相关、准确且高质量的文本。:在我们输入一段很长文本给大模型时,由于字数限制大模型可能无法全部读取,此时我们能将全篇文本进行分段,将前面内容让大模型总结从而将总结的内容衔接后面的内容,达到层层递进理解的效果。:我们在提出问题时可以在开头加一个"用户
Prompt定义
Prompt也叫提示词,是给大模型的指令。它可以是一个问题、一段文字描述。大模型会基于 prompt 所提供的信息,生成对应的文本结果输出。
在提示词工程中,Prompt的定义涵盖了角色、任务和指令三个主要元素。
角色 | Prompt中还包括模型在生成文本时应扮演的角色。这有助于更好地定义模型的行为,确保生成的文本符合用户预期。 |
任务 | Prompt明确而简洁地陈述了用户要求模型生成的内容。这包括在特定应用场景中,用户希望模型完成的任务或生成的文本类型。 |
指令 | 模型在生成文本时应遵循的指令是Prompt中的关键要素之一。这些指令具体规定了模型生成文本的方式,通过清晰的语言来引导模型以获得所需的输出。 |
Prompt例子:
你是一位房地产顾问,你需要通过置业顾问和客户的“历史对话”,获取客户的基本信息、家庭信息、购房偏好等标签结果,并按照“输出格式”的要求输出结果。
历史对话如下:
……
要求:
1、你通过分析【文本信息】,获取客户的基本信息 or 家庭信息 or 居住信息 or 购房偏好等内容。
2、如果历史对话中没有提及相关信息,请在输出结果对应的字段填null。
3、严格按照“输出格式”的要求输出结果。
4、【单选题】必须输出单个结果,【多选题】必须输出1个或者多个结果。
5、提取的标签只输出结果,不要有备注和推理过程。例如://、# 等。
6、历史对话要详细阅读,一步一步思考,结果推理过程需要仔细分析。
7、输出主观描述:大模型根据自己对“历史对话”的理解,进行总结输出。
……
输出格式如下:
{
"客户姓名":…,
"性别":…,## 单选题:女 or 男 or 未知
"联系电话":…,## 例如:1xxx
"其他电话1":…,## 例如:1xxx
"其他电话2":…,## 例如:1xxx
"出生年份":…,## 格式:xxxx
"出生日期":…,## 格式:xxxx-xx-xx
"年龄阶段":…,## 单选题:24以下 or 25-29 or 30-34 or 35-39 or 40-44 or 45-49 or 50-54 or 55-59 or 60以上
"证件类型":…,## 单选题:身份证 or 护照 or 港澳台居民居住证 or 外国人永久居留身份证 or 港澳居民来往内地通行证 or 台湾居民来往大陆通行证 or 军官证 or 其他。备注:如无描述则填默认值:身份证
"证件号码":…,
"国籍":…,## 例如:中国 or 日本 or 朝鲜…。备注:如无描述则填默认值:中国
"民族":…,## 例如:汉族 or 蒙古族回族 or 藏族…。备注:如无描述则填默认值:汉族
"教育程度":…,## 单选题:小学 or 初中 or 高中 or 专科 or 职校 or 大专 or 本科 or 硕士 or 博士及以上 or 海归 or 未知
"婚姻状况":…,## 单选题:未知 or 未婚 or 已婚 or 离异 or 丧偶
"家庭结构":…,## 单选题:单身 or 两口之家 or 三口之家 or 四口之家 or 五口之家及以上
"子女人数":…,## 单选题:0 or 1 or 2 or 3及以上
"子女年龄段":…,## 单选题:0-6 or 7-12 or 13-15 or 16-18 or 19-22 or 23-25 or 26-30 or 30以上
"小孩教育情况":…,## 单选题:幼儿园前 or 幼儿园 or 小学 or 初中 or 高中/专科 or 职校 or 大专 or 本科 or 硕士 or 博士及以上 or 海归 or 未知
......
}
Prompt工程例子
在与大模型进行交流的过程中,由于用户经验不足、模型差异性会出现Prompt指令不当的问题,因此需要通过Prompt工程,使用户能够控制模型的输出,使其生成相关、准确且高质量的文本。这需要进行不断迭代。
例子:
假设我们的目标是让模型生成关于科技新闻的文章。初始时,我们可能给出一个简单的Prompt:
“生成一篇关于最新科技进展的文章。”
然而,模型可能会输出一些泛泛的信息,不够深入或专业。通过Prompt工程的迭代过程,我们会逐步优化Prompt。首先,我们可能会尝试明确指定一些关键词,如:
“以量子计算为主题,生成一篇科技新闻文章。”
这样,模型更有可能生成与量子计算相关的深入内容。在分析模型的输出时,我们可能发现某些输出仍然不够准确或不符合我们的预期。因此,下一步迭代中,我们可以进一步细化Prompt:
“以量子计算为主题,强调其在未来技术发展中的影响,生成一篇深度科技报道。”
通过这个反复的过程,我们不仅让模型更好地理解我们的需求,也提高了生成内容的相关性和质量。这个例子展示了Prompt工程迭代的过程,通过调整指令和任务描述,逐步优化模型的输出,使其更好地满足特定场景的需求。
例子:
第一版:
1. 如果历史对话中没有提及相关信息,请在输出结果对应的字段填null。
2. 严格按照"输出格式"的要求以json的形式输出结果。
3. 对话要详细阅读,一步一步思考,结果推理过程需要仔细分析。例如:"年龄段":1.提取客户的生日;2.根据生日推算客户的年龄;3.如果客户直接提到年龄,则无需计算,直接提取年龄信息。
4.【单选题】必须输出单个结果,【多选题】必须输出1个或者多个结果。
5. 提取的标签只输出结果,不要有备注和推理过程。例如://、# 等
第二版:
1. 如果历史对话中没有提及相关信息,请在输出结果对应的字段填null。
2. 严格按照"输出格式"的要求以json的形式输出结果。
3. 对话要详细阅读,一步一步思考,结果推理过程需要仔细分析。例如:"年龄段":1.提取客户的生日;2.根据生日推算客户的年龄;3.如果客户直接提到年龄,则无需计算,直接提取年龄信息。
4.【单选题】必须输出单个结果,【多选题】必须输出1个或者多个结果。
5. 提取的标签只输出结果,不要有备注和推理过程。例如://、# 等
6. 必须仔细挖掘对话内容,尽可能多的填充标签结果。
7. 提取的所有标签必须从【历史对话】提取出结果可用信息,提取不出来就多分析几次,进行语义推断。
例子:
第一版:
"婚姻状况":…,## 单选题:未知 or 未婚 or 已婚 or 离异 or 丧偶
"家庭结构":…,## 单选题:单身 or 两口之家 or 三口之家 or 四口之家 or 五口之家及以上
第二版:
"婚姻状况":…,## 单选题:未知 or 未婚 or 已婚 or 离异 or 丧偶。请确保提取的内容精确且无遗漏。
"家庭结构":…,## 单选题:单身 or 两口之家 or 三口之家 or 四口之家 or 五口之家及以上。请确保提取的内容精确且无遗漏。
Prompt工程的格式
在对于每个场景中,在编写prompt时需要考虑三个部分,分别是角色、任务、指令。
角色:该场景下大模型需要担任的角色
Prompt: “你是一位房地产顾问。”
任务:大模型需要完成的任务上述prompt要求的推荐最佳旅行目的地就是我们向大模型提出的任务。
Prompt: “你需要通过置业顾问和客户的‘历史对话’,获取客户的基本信息、家庭信息、购房偏好等标签结果,并按照“输出格式”的要求输出结果。”
指令:
Prompt: “假设你是一名资深旅行顾问,请为我推荐旅行目的地。让我们一步一步思考,按照以下内容进行:
首先需要了解用户的兴趣和喜好,例如历史、自然、文化等。
然后,需要考虑用户的预算和旅行时间,为用户提供合理的建议。
最后,应该总结推荐的目的地,并解释为什么这是最佳选择。”
思维链:模型响应被指示一步一步地进行并呈现所涉及的所有步骤。
Prompt: “历史对话要详细阅读,一步一步思考,结果推理过程需要仔细分析。”
Prompt: “如字段提取不完整,逐步推测并补充主观标签信息。”
Prompt工程的要求
在优化prompt的时候需要注意以下几点:
多提供关键词:关键词和指令提示相结合,更具体和有针对性地生成文本。
Prompt: “你是一个智能家居分析高手,你需要分析用户对智能家居发出的指令并从用户的指令中结构化的输出提取出信息。输出完毕后结束,不要新增内容。
定义的字段为设备类型、操作类型、设备参数、设置值、提醒时间、操作场所。
用户输入:把卧室空调温度调至25度。”
Response:
“
设备类型:‘空调’
操作类型:‘设置’
设备参数:‘温度’
设置值:‘25度’
操作场所:‘卧室’
”
把事情说详细:工作安排的命令和要求越详细,我们完成的工作才能越加符合预期,在训练大模型时亦是如此,将要点都详细的告诉大模型往往效果会更好。
Prompt: “你是一位擅长创作春联的专家,请根据我提供的主题为我写出一副与主题相关的春联,其中你提供的春联必须满足三引号中的4个格式要求:
'''
1、上下联字数必须相同。
2、上联末句尾字用仄声,下联末句尾字用平声。
3、要词性相对,位置相同。即名词对名词,动词对动词,形容词对形容词,数量词对数量词,副词对副词,而且相对的词必须在相同的位置上。
4、上下联的含义必须相互衔接,但用词又不能重复。
'''
接下来我将提供给你我的主题和新的要求:主题:龙年、大吉”
Response: “上联:龙腾云海春光美 下联:吉兆丰年福满堂”
指定输出长度:在生成文本时,若我们需要限定字数,此时需要告诉大模型相关信息,避免生成字数过少或过多。
长文本用总结:在我们输入一段很长文本给大模型时,由于字数限制大模型可能无法全部读取,此时我们能将全篇文本进行分段,将前面内容让大模型总结从而将总结的内容衔接后面的内容,达到层层递进理解的效果。
开头可加约束:我们在提出问题时可以在开头加一个"用户输入的问题:",这样相当于强调我们主要要分析的内容是开头输入的这部分内容,帮助大模型更好的进行分析。
更多推荐
所有评论(0)