优化对话prompt和数据

main
liu 11 months ago
parent 46aed6769b
commit 6cd585de1d

@ -49,8 +49,8 @@ public class AnswerQuestionHandler {
public String answerSingleQuestion(String question, Map<String,List<String>> detailMap){
List<MessageDTO> messageList = new ArrayList<>();
messageList.add(new MessageDTO("system", "现在你是一个政务事项领域的问答大模型.\n" +
"现在有一个问题,根据这个问题我查到了政策内容\n" +
"请你严格根据政策内容组织成简短的内容来回答这个问题,请不要有文件内容之外的内容"));
"现在有一个问题,根据这个问题我查到了一些政策内容\n" +
"请你对该政策内容进行解读后,将这个问题进行回答.但是注意不要有文件内容之外的政策内容解读"));
messageList.add(new MessageDTO("assistant", "好的"));
messageList.add(new MessageDTO("user", StrUtil.format("政务文件内容:[{}]", JSONUtil.toJsonStr(detailMap))));
messageList.add(new MessageDTO("assistant", "继续"));

@ -44,6 +44,7 @@ public class ConditionJudgeHandler {
/**
* ,
*
* @param question
* @param candidateAnswerList
* @param userAnswer
@ -53,13 +54,14 @@ public class ConditionJudgeHandler {
List<MessageDTO> messageList = new ArrayList<>();
String template = "当我问用户:{},用户给我的回答是:[{}]\n" +
"基于用户的回答,请依次判断以下列表:[{}]中的哪些项满足用户的回答?\n" +
"请从给定列表中找出所有满足的项.以jsonArray格式输出.如果列表中项全部不满足,则返回:未找到";
"请从给定列表中找出所有满足的项.以jsonArray格式输出且只返回jsonArray.jsonArray的格式示例为:```json[\"满足的条件1\",\"满足的条件2\"]```.如果列表中项全部不满足,则返回:未找到";
String judgeAsk = StrUtil.format(template, question, userAnswer, CollUtil.join(candidateAnswerList, ";"));
log.info("conditionJudge问题是:{}", judgeAsk);
messageList.add(new MessageDTO("user", judgeAsk));
String judgeResult = AiUtil.chatByMessage(messageList);
log.info("conditionJudge判断结果是:{}", judgeResult);
if (judgeResult.startsWith("```json")) {
if (judgeResult.contains("```json")) {
judgeResult = StrUtil.subBetween(judgeResult, "```json", "```");
judgeResult = StrUtil.removePrefix(judgeResult, "```json");
judgeResult = StrUtil.removeSuffix(judgeResult, "```");
}

@ -27,11 +27,11 @@ insert edge `condition_edge`() values "1-1-1-1"->"1-1-1-1-1":(),"1-1-1-1-1"->"1-
# 插入三级叶子节点,非深圳城乡居民退休
insert vertex `item_leaf` ( `item_name`) values "1-1-2":("非深圳城乡居民退休");
insert vertex `item_leaf` ( `item_name`) values "1-1-2":("港澳台和外籍人员城乡居民退休");
# 建立连接关系,城乡居保退休下级节点非深圳城乡居民退休
insert edge `dependence_edge`() values "1-1"->"1-1-2":();
# 插入办理条件节点
insert vertex `process_condition` ( `detail`) values "1-1-2-1":("非深圳城乡居民退休条件...内容在update");
insert vertex `process_condition` ( `detail`) values "1-1-2-1":("港澳台和外籍人员退休条件...内容在update");
# 插入叶子节点和办理条件节点之间的关系
insert edge `process_condition_edge`() values "1-1-2"->"1-1-2-1":();
# 插入条件节点,非深圳城乡居民退休

@ -1,33 +1,34 @@
# 更新深圳城乡居民退休条件
# 深圳城乡居民退休条件
UPDATE VERTEX ON process_condition "1-1-1-1" SET detail = "城乡居民养老保险待遇领取条件参保人达到下列条件之一的,可以按月领取养老金。
(一)当地实施原广东省新型农村社会养老保险 (以下简称新农保) 和城镇居民社会养老保险 (以下简称城居保) 制度时已年满60周岁未享受职工基本养老保险待遇以及国家规定的其他养老待遇的不用缴费可以按月领取基础养老金。
(二) 参加了原新农保或城居保的参保人按照其原参加制度的规定年限缴费年满60周岁后可以按月领取养老金。
(三)参保人缴费案计达到15年年满60周岁的可以按月领取养老金。
(四)参保人年满60周岁但案计缴费年限没有达到规定缴费年限的可继实逐年缴费并享受相应的政府缴费补贴。逐年缴费至65周岁仍然没有达到规定缴费年限的可以一次性补缴养老保险费至规定的缴费年限后按月领取养老金但一次性补缴不享受政府的缴费补贴。
(五)参保人年满60周岁、累计缴费年限没有达到规定缴费年限的如不继续逐年缴费或补缴至规定的缴费年限的不发基础养老金可以申请按月领取个人账户养老金发完为止。";
UPDATE VERTEX ON process_condition "1-1-2-1" SET detail = "城乡居民养老保险待遇领取条件参保人达到下列条件之一的,可以按月领取养老金
# 港澳台和外籍人员城乡居民退休城乡居民退休条件
UPDATE VERTEX ON process_condition "1-1-2-1" SET detail = "港澳台和外籍人员城乡居民退休城乡居民养老保险待遇领取条件参保人达到下列条件之一的,可以按月领取养老金
(一)当地实施原广东省新型农村社会养老保险 (以下简称新农保)和城镇居民社会养老保险 (以下简称城居保) 制度时已年满60周岁未享受职工基本养老保险待遇以及国家规定的其他养老待遇的不用缴费可以按月领取基础养老金,
(二)参加了原新农保或城居保的参保人按照其原参加制度的规定年限缴费年满60周岁后可以按月领取养老金
(三)参保人缴费累计达到15年年满60周岁的可以按月领取养老金。
(四)参保人年满60周岁但累计缴费年限没有达到规定缴费年限的可继续逐年缴费并享受相应的政府缴费补贴。逐年缴费至65周岁仍然没有达到规定缴费年限的可以一次性补缴养老保险费至规定的缴费年限后按月领取养老金但一次性补缴不享受政府的缴费补贴。
(五)参保人年满60周岁、累计缴费年限没有达到规定缴费年限的如不继续逐年缴费或补缴至规定的缴费年限的不发基础养老金可以申请按月领取个人账户养老金发完为止.";
# 深圳企业职工退休条件
UPDATE VERTEX ON process_condition "1-2-1-1" SET detail = "如已达到退休年龄且养老缴费年限满15年,且异地社保已转入,可以在深圳办理退休;
如养老保险缴费未满15年 (实际缴费年限+视同缴费年限)则不满足退休条件;您可由请社保延缴或一次性趸缴:养老保险缴费年限满15年后再办理退休申请。
如您还有异地社保没有转入的话,需要您先办理社保转入";
# 广东省其他地区企业职工退休条件
UPDATE VERTEX ON process_condition "1-2-2-1" SET detail = "如已达到退休年龄且养老缴费年限满15年,且异地社保已转入,可以在深圳办理退休;
如养老保险缴费未满15年 (实际缴费年限+视同缴费年限)则不满足退休条件;您可由请社保延缴或一次性趸缴:养老保险缴费年限满15年后再办理退休申请。
如您还有异地社保没有转入的话,需要您先办理社保转入";
# 省外户口企业职工退休条件
# 省外户口企业职工退休条件
UPDATE VERTEX ON process_condition "1-2-3-1" SET detail = "如已达到退休年龄且养老缴费年限满15年,且异地社保已转入,可以在深圳办理退休;
如养老保险缴费未满15年 (实际缴费年限+视同缴费年限)则不满足退休条件;您可由请社保延缴或一次性趸缴:养老保险缴费年限满15年后再办理退休申请。
如您还有异地社保没有转入的话,需要您先办理社保转入";
# 港澳台和外籍人员企业职工退休条件
# 港澳台和外籍人员企业职工退休条件
UPDATE VERTEX ON process_condition "1-2-4-1" SET detail = "如已达到退休年龄且养老缴费年限满15年,且异地社保已转入,可以在深圳办理退休;
如养老保险缴费未满15年 (实际缴费年限+视同缴费年限)则不满足退休条件;您可由请社保延缴或一次性趸缴:养老保险缴费年限满15年后再办理退休申请。
如您还有异地社保没有转入的话,需要您先办理社保转入";
如您还有异地社保没有转入的话,需要您先办理社保转入";

Loading…
Cancel
Save