基于文心的提示词攻略:给定规则批量生成结构化数据
大模型开发/技术交流
- Prompt
- 文心大模型
2023.08.221842看过
今天为大家带来文心一言代码生成功能的实践,给定一定规则,让文心一言批量生成结构化数据。
在文心一言Prompt构造建议规范文章中整理了文心一言Prompt的规范,今天为大家带来文心一言代码生成功能的实践,给定一定规则,让文心一言批量生成结构化数据。
以下是文心一言Prompt的要点
Prompt要点
|
|
以下是文心一言生成结构化数据的prompt示例
1、IQL是iCafe内部自定义的查询语言,所有用户的查询条件都需要翻译成为IQL,具体的规则如下:AND:与OR:或in:属于,后面用()括起来一组条件,如in (Bug,Story)not in:不属于,后面用()括起来一组条件=:是什么!=:不是什么is empty:为空is not empty:非空>:大于<:小于~:like,用于关键词搜索,表示包含!~:not like,用于关键词搜索,表示不包含2、字段(field)是IQL的key,相当于SQL中的字段,字段有类型(type),IQL是使用字段名字组装的,根据类型的不同该字段应用的IQL表达式不同,具体映射关系如下:space: in、not incontain_child_space: = true or falseplan_box: in、not inproject_management: in、not inrel_issue: in、not inparent_field: in、not inTAG_TREE: in、not inUSER_PICKER: in、not inUSER_PICKER_SINGLE: =、!=NUMBER_FIELD: >、<、=RICH_TEXT: ~、!~SELECT_LIST: in、not inSELECT_LIST_MULTIPLE: in、not inRADIO_FIELD: in、not inCHECK_BOX_FIELD: inFREE_TEXT_FIELD: ~、!~TEXT_AREA_FIELD: ~、!~URL_FIELD: ~、!~DATE_TIME:普通语法:{field} > yyyy-mm-dd AND {field} < yyyy-mm-dd高级语法:- 当日 : {field} = currentDay- 当周 : {field} = currentWeek- 当月 : {field} = currentMonth- 当季度 : {field} = currentQuarter- 当年 : {field} = currentYear- 昨天 : {field} = lastDay- 上周 : {field} = lastWeek- 上月 : {field} = lastMonth- 上季度 : {field} = lastQuarter- 最近n天 : {field} = before-n-days- 最近n周 : {field} = before-n-weeks- 最近n月 : {field} = before-n-months- 最近n季度 : {field} = before-n-quarters- 后n天 : {field} = after-n-days3、可用于IQL的系统字段和类型的映射关系如下:结束日期:DATE_TIME计划开始日期:DATE_TIME计划结束日期:DATE_TIME计划开始开发日期:DATE_TIME实际开始开发日期:DATE_TIME计划开发完成日期:DATE_TIME实际开发完成日期:DATE_TIME计划联调日期:DATE_TIME计划提测日期:DATE_TIME实际提测日期:DATE_TIME计划上车日期:DATE_TIME计划测试完成日期:DATE_TIME实际测试完成日期:DATE_TIME计划上线日期:DATE_TIME实际上线日期:DATE_TIME截止日期:DATE_TIME开始时间:DATETIME_FIELD结束时间:DATETIME_FIELD故事点:NUMBER_FIELDPM负责人:USER_PICKER4、IQL生成注意的地方:- IQL中不包含 "- 当包含“我、我的”的时候使用currentUser,currentUser后边不需要携带括号- IQL具有复杂度分级(level),包含字段数量2个以内,为简单;包含字段数量3-5个,为复杂;包含字段数量5个以上,为极难5、以下为一些场景案例:- 流程状态为已开始、已提测且类型为Feature的卡片,并且标题包含“iCafe”,且在创建时间在本周内的类型 in (Feature) AND 流程状态 in (已开始,已提测) AND (标题 ~ iCafe) AND 创建时间 = currentWeek- 张三和李四负责的开始时间在一个月之内的Story卡片负责人 in (张三,李四) AND 开始时间 = before-1-months AND 类型 = Story- 我最近一周未完成的卡片解决时间 is empty AND 创建时间 = before-1-weeks以 问题: {Question}, 答案: {Answer} 为模版,注意问题中不需要携带查询二字,且问题复杂或极难,每一个问题都要包含时间类型字段。Now,开始生成20条IQL,逐行输出### Response:[{"Question": "流程状态为已开始、已提测且类型为Feature的卡片,并且标题包含“iCafe”,且在创建时间在本周内的","Answer": "类型 in (Feature) AND 流程状态 in (已开始,已提测) AND (标题 ~ iCafe) AND 创建时间 = currentWeek"},{"Question": "张三和李四负责的开始时间在一个月之内的Story卡片","Answer": "负责人 in (张三,李四) AND 开始时间 = before-1-months AND 类型 = Story"},{"Question": "我最近一周未完成的卡片","Answer": "解决时间 is empty AND 创建时间 = before-1-weeks"},{"Question": "计划提测日期是昨天的卡片","Answer": "计划提测日期 = lastDay"},{"Question": "截止日期是下周的Bug卡片","Answer": "截止日期 = currentWeek AND 类型 = Bug"},{"Question": "故事点大于5的已完成的卡片","Answer": "故事点 > 5 AND 流程状态 = 已完成"},{"Question": "计划开始日期在最近两周之内且负责人为空的卡片","Answer": "计划开始日期 = before-2-weeks AND 负责人 is empty"},{"Question": "包含“重要”关键词且结束日期是当月的任务","Answer": "标题 ~ 重要 AND 结束日期 = currentMonth"},{"Question": "类型为Bug的未解决且故事点不为空的卡片","Answer": "类型 = Bug AND 解决时间 is empty AND 故事点 is not empty"},{"Question": "开始时间是前一天的任务","Answer": "开始时间 = lastDay"},{"Question": "我负责的计划开始日期在过去一周之内的Story卡片","Answer": "负责人 = currentUser AND 计划开始日期 = before-1-weeks AND 类型 = Story"},{"Question": "我负责的Bug卡片","Answer": "负责人 = currentUser AND 类型 = Bug"},{"Question": "开发完成日期在最近一个月之内的Story和Bug卡片","Answer": "(开发完成日期 = before-1-months) AND (类型 in (Story, Bug))"},{"Question": "包含“紧急”的标题且负责人是张三的任务","Answer": "标题 ~ 紧急 AND 负责人 = 张三"},{"Question": "计划开发完成日期是今天且负责人不是我自己的任务","Answer": "计划开发完成日期 = currentDay AND 负责人 != currentUser"},{"Question": "最近三天内解决的问题","Answer": "解决时间 = before-3-days"},{"Question": "计划提测日期是下周的任务","Answer": "计划提测日期 = nextWeek"},{"Question": "我上周完成的Story卡片","Answer": "负责人 = currentUser AND 流程状态 = 已完成 AND 类型 = Story AND 解决时间 = lastWeek"},{"Question": "类型不是Feature且负责人是张三或李四的卡片","Answer": "类型 != Feature AND 负责人 in (张三, 李四)"},{"Question": "最近一个季度计划开始日期在将来的任务","Answer": "计划开始日期 = after-n-quarters"},{"Question": "计划提测日期是未来一周的任务","Answer": "计划提测日期 = after-n-weeks"}]
评论