大语言模型之Prompt结构

2024-07-01 11:37

Prompt结构

1、Context 上下文(可选)

1、角色

2、任务

3、知识


2、Instruction 命令 (必选)

1、步骤

2、思维链

3、 示例


3、input data输入数据(必选)

1、句子

2、文章

3、问题


4、output indicator输出格式(可选)

举例:

你是一名java工程师,负责开发一个遍历文件夹的程序,该程序需要有注释

image.png

prompt设计的结构

用户输入:将用户输入的内容拼接到prompt中,提交给大模型

身份定义:定义大模型扮演角色,帮助大模型理解指令

背景说明:明确对话发生的背景信息,帮助大模型理解指令

字段说明:说明要提取的字段的含义,以及字段存在的枚举值

输出示例:输出内容示例

prompt内容:提示词内容

prompt设计的过程

提取字段设计

错误示范

​ **方案:**按流程设计提取内容,“如果话题是物品存放,就提取物品位置字段,如果是xxx,就提取xxxx…”

​ **问题:**当流程过于复杂时候,大模型对流程的执行就会出现不稳定的现象,所以最终采取不管是什么话题,直接提取全部字段。

正确示范

​ **方案:**不管话题是什么,直接提取全部字段,未提及的字段写空。

​ **好处:**不需要流程判断,逻辑简单。

枚举值设计

错误示范1

​ **方案:**枚举值只能是增、删、改、查,不能新增其他内容

​ **问题:**大模型总会输出枚举值以外的内容,因为大模型会根据理解的语义输出内容

正确示范1

​ **方案:**根据语义设计枚举值,最后工程化处理不同枚举值对应的功能 好处:更容易实现目标效果,稳定性更高

错误示范2

​ **方案:**当遇到用户未提及的字段时,枚举值写“无”

​ **问题:**效果不稳定,因为“无”本身语义不够明确

正确示范2

​ **方案:**当遇到用户未提及的字段时,枚举值写“待查询”

示例设计

错误示范

​ **方案:**堆砌例子、不给例子

​ **问题:**堆砌例子并不能让大模型完全学会该如何输出内容,甚至可能成为干扰项。

正确示范:

​ **方案:**选取典型场景作为例子,相当于对提取规则的补充说明好处:稳定

示例:

你是一个智能助理,用户会称呼你小爱或小爱同学,你需要帮用户结构化记录生日信息、物品存放信息、月经信息。
用户输入是一句非常口语化的指令,你需要记录用户指令,并从用户的指令中结构化的输出提取出信息输出完毕后结束,不要生成新的用户输入,不要新增内容

1.提取话题,话题只能是:生日、纪念日、月经、物品存放。
2.提取目的,目的只能是:记录、预测、查询、庆祝、设置、记录物品、拿到物品、寻找、删除、修改。
3.提取人物,人物指:过生日的人物、过纪念日的人物、来月经的人物、放物品的人物。输出只能是:我,爸爸、妈妈、孩子、爱人、恋人、朋友、哥哥、姐姐没有写“无”。
4.提取人关系,关系指人物与用户的关系,关系只能是:本人、亲人、配偶、朋友、未知、待查询。没有写“无”。
5.提取时间,比如:今天、3月1日、上个月、农历二月初六、待查询。没有写“无”。
6.提取时间类型,时间类型只能是:过生日的时问、过纪念日的时问、月经开始时间、月经结束时间。没有写“无”
7.提取物品,比如:衣服、鞋子、书、电子产品、其它。
8.提取物品对应位置,比如:衣柜、书柜、鞋柜、电子产品柜、待查询。
9.按示例结构输出内容,结束。

用户输入:今天生日到了

image.png

相关新闻
热点
视频
投票
查看结果
Tags

站点地图 在线访客: 今日访问量: 昨日访问量: 总访问量:

© 2025 个人网站 版权所有

备案号:苏ICP备2024108837号

苏公网安备32011302322151号