1. 添加测试用例

main
xueqingkun 10 months ago
parent 61d0046f9b
commit ecf3c08edb

@ -0,0 +1,160 @@
package com.supervision;
import cn.hutool.core.collection.CollUtil;
import com.supervision.service.AskService;
import com.supervision.vo.SingleTalkReqVO;
import com.supervision.vo.SingleTalkResVO;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@Slf4j
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@RunWith(SpringJUnit4ClassRunner.class)
public class AskTest {
@Autowired
private AskService askService;
@Test
public void test() {
for (String question : loadQuestion()) {
log.info("======start=======>>>question:{}", question);
SingleTalkReqVO singleTalkReqVO = new SingleTalkReqVO();
singleTalkReqVO.setUserTalk(question);
try {
SingleTalkResVO singleTalkResVO = askService.singleTalk(singleTalkReqVO);
log.info("====end=====>>>answer:{}<<<======end=======", singleTalkResVO.getAnswerText());
} catch (Exception e) {
log.info("====end=====>>>answer:{}<<<======end=======", "error");
}
}
}
@Test
public void test1() {
//
SingleTalkReqVO singleTalkReqVO = new SingleTalkReqVO();
singleTalkReqVO.setUserTalk("退休手续办理完成后,如何查询养老保险待遇的发放情况?");
SingleTalkResVO singleTalkResVO = askService.singleTalk(singleTalkReqVO);
System.out.println("answer: "+singleTalkResVO.getAnswerText());
}
public List<String> loadQuestion(){
String question = "领取养老金的具体条件有哪些?\n" +
"新农保和城居保制度实施时,已年满 60 周岁的人是否可以直接领取基础养老金?\n" +
"参加原新农保或城居保的参保人,需要满足什么条件才能按月领取养老金?\n" +
"缴费累计达到多少年可以按月领取养老金?\n" +
"如果累计缴费年限没有达到规定缴费年限,应该怎么办?\n" +
"继续逐年缴费是否能享受政府缴费补贴?\n" +
"一次性补缴养老保险费是否享受政府缴费补贴?\n" +
"不继续逐年缴费或补缴至规定缴费年限,会有什么影响?\n" +
"60 周岁但累计缴费年限未达到规定的,能否申请按月领取个人账户养老金?\n" +
"个人账户养老金发放有何规定?\n" +
"办理按月领取养老金需要提供哪些材料?\n" +
"如何申请按月领取养老金?\n" +
"办理养老金领取手续的流程是怎样的?\n" +
"养老金的领取方式有哪些?\n" +
"领取养老金的资格如何审核?\n" +
"参保人的年龄和缴费年限以什么为准?\n" +
"不同地区的养老金办理条件是否相同?\n" +
"是否可以代办养老金领取手续?\n" +
"办理过程中如有疑问,如何咨询?\n" +
"养老金的发放时间是如何规定的?\n" +
"非干部身份的参保人办理退休需要提供离职证明吗?\n" +
"办理女干部在工人岗位退休的其他条件是什么?\n" +
"达龄月台账未出时,申请办理退休的具体流程是怎样的?\n" +
"单位延缴或个人延缴的情况下,办理退休有哪些注意事项?\n" +
"机要转档的具体流程和要求是什么?\n" +
"退休员工签领《养老保险待遇决定书》时还需要提供其他材料吗?\n" +
"办理退休手续的时间有限制吗?\n" +
"如果参保人档案未通过机要转至我局,该如何办理退休手续?\n" +
"参保人档案的审核标准是什么?\n" +
"退休手续办理完成后,如何查询养老保险待遇的发放情况?\n" +
"办理深圳市城乡居民养老保险需要哪些具体材料?\n" +
"深圳市企业职工养老保险养老金申请表如何获取?\n" +
"非深圳市户籍可以办理城乡居民养老保险吗?\n" +
"办理退休手续时,必须本人前往社保经办机构吗?\n" +
"代办退休手续需要提供哪些材料?\n" +
"退休年龄是如何确定的?\n" +
"深圳市养老保险业务办理委托书的格式是怎样的?\n" +
"办理养老待遇业务的具体流程是什么?\n" +
"线上办理养老待遇业务的具体操作步骤是什么?\n" +
"如何查询办理退休手续的进度?\n" +
"退休员工签领《养老保险待遇决定书》后多久能领回员工档案材料?\n" +
"办理退休手续的时间有没有限制?\n" +
"档案通过机要转至我局后,多久会通知当事人前来办理退休手续?\n" +
"办理退休手续需要满足哪些条件?\n" +
"女干部在工人岗位退休的具体条件是什么?\n" +
"身份证丢失了怎么办理退休手续?\n" +
"户口簿的信息需要与实际情况完全一致吗?\n" +
"港澳通行证或香港身份证的作用是什么?\n" +
"人事档案包括哪些内容?\n" +
"没有人事档案可以办理退休手续吗?\n" +
"授权委托书需要公证吗?\n" +
"办理退休手续的依据是什么?\n" +
"不同岗位的退休年龄有何区别?\n" +
"退休手续可以提前办理吗?\n" +
"办理退休手续后,养老金如何发放?\n" +
"养老保险待遇决定书有什么作用?\n" +
"退休人员如何领取养老金?\n" +
"养老金的计算方式是怎样的?\n" +
"办理退休手续时,需要缴纳费用吗?\n" +
"退休后养老金会随着时间调整吗?\n" +
"办理退休手续可以委托多人代办吗?\n" +
"退休人员去世后,养老金如何处理?\n" +
"办理退休手续后,如果发现信息有误如何更正?\n" +
"不同地区的办理流程和材料是否相同?\n" +
"线上办理途径是否只能通过“深圳社保”公众号?\n" +
"怎么办理退休?\n" +
"办理材料是否需要原件和复印件?\n" +
"材料提交后多久能办理完成?\n" +
"如果材料不齐全,可以线上补充提交吗?\n" +
"办理过程中如果有疑问,可以通过哪些方式咨询?\n" +
"退休人员的养老金是否会受到其他因素的影响?\n" +
"办理退休手续后,还需要注意哪些事项?\n" +
"缴费年限不足 15 年,是否可以一次性补缴?\n" +
"办理退休手续时,是否需要提供健康证明?\n" +
"退休人员是否需要进行资格认证?\n" +
"办理退休手续后,是否可以更改领取养老金的银行账户?\n" +
"退休人员的养老金是否会按时足额发放?\n" +
"如果对养老金金额有疑问,如何查询和核实?\n" +
"办理退休手续的过程中,如何保障个人信息的安全?\n" +
"我社保交够15年是不是就可以办理退休了\n" +
"社保交够15年是不是就不用交了\n" +
"企业女职工退休年龄如何确定怎么确定是50周岁退休还是55周岁退休\n" +
"领取失业金对退休金金额是否有影响\n" +
"有高级职称,退休时退休金高吗\n" +
"到退休年龄了缴费不够15年怎么办能一次性补齐吗\n" +
"退休金的计算公式是什么能领多少退休金\n" +
"职工的养老金何时领?\n" +
"单位如何为职工办理养老金申领手续?\n" +
"今后的养老金发放信息哪里查?\n" +
"社保缴费中断过,会影响养老金申领吗?\n" +
"养老保险缴费年限不够怎么办?\n" +
"现在退休证还有么,怎么办理?\n" +
"基本养老保险有哪些?\n" +
"个人养老金如何开账户?\n" +
"退休后去哪里领取个人养老金\n" +
"基本养老金的构成包括哪些方面\n" +
"职工社保和灵活就业都买了,多少岁退休\n" +
"之前单位缴过社保,现在自己交社保,退休年龄怎么算\n" +
"深户女的有营业执照的多大年龄退休\n" +
"港资公司女员工退休年龄\n";
return CollUtil.newArrayList(question.split("\n"));
}
}

@ -0,0 +1,65 @@
package com.supervision;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Slf4j
public class LogParse {
public static void main(String[] args) {
String input = FileUtil.readString("F:\\tmp\\1\\log\\log.txt", "UTF-8");
if (StrUtil.isEmpty(input)){
log.warn("log file is empty");
return;
}
String[] split = input.split("======start=======");
List<RowData> rowDataList = new ArrayList<>(); // 存储提取的数据
for (String item : split) {
item = "======start=======" + item;
String pattern = "======start=======>>>question:([^\\n]+)\\n((?:(?!===end===).)+)====end=====>>>answer:(.*)<<<======end=======";;
Pattern regex = Pattern.compile(pattern, Pattern.DOTALL); // 创建Pattern对象
Matcher matcher = regex.matcher(item); // 创建Matcher对象
while (matcher.find()) {
rowDataList.add(new RowData(matcher.group(1), matcher.group(3), matcher.group(2)));
}
}
rowDataList.forEach(rowData -> {
System.out.println("question:"+rowData.getQuestion());
System.out.println("answer:"+ rowData.getAnswer());
});
}
@Data
public static class RowData{
private String question;
private String answer;
private String logData;
public RowData(String question, String answer, String logData) {
this.question = question;
this.answer = answer;
this.logData = logData;
}
public RowData() {
}
}
}

@ -5,10 +5,7 @@ import cn.hutool.core.io.FileUtil;
import cn.hutool.json.JSONUtil;
import com.supervision.model.KgInfo;
import com.supervision.qanything.QanythingService;
import com.supervision.qanything.dto.ChatResult;
import com.supervision.qanything.dto.CreateKBResult;
import com.supervision.qanything.dto.ResultWrapper;
import com.supervision.qanything.dto.UploadResult;
import com.supervision.qanything.dto.*;
import com.supervision.service.KGService;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
@ -40,8 +37,12 @@ public class YoudaoTest {
@Test
public void qanythingChatTest() throws NoSuchAlgorithmException {
ResultWrapper<ChatResult> chat = qanythingService.chat("居民养老保险关系如何转移?", CollUtil.newArrayList("KB6ada48988e694ad197af53cc0d1e4b78_240328"));
/*ResultWrapper<ChatResult> chat = qanythingService.chat("居民养老保险关系如何转移?", CollUtil.newArrayList("KB6ada48988e694ad197af53cc0d1e4b78_240328"));*/
HistoryDTO historyDTO = new HistoryDTO();
historyDTO.setQuestion("居民养老保险关系如何转移?");
historyDTO.setResponse("居民养老保险关系的转移需要按照相关规定办理手续。根据参考信息中的《城镇企业职工基本养老保险关系转移接续暂行办法》,参保人员在跨省流动就业时,需要向原参保地的社会保险经办机构提出申请,并提供相关材料。新参保地的社保经办机构会审核申请,并在符合条件的情况下发出同意接收函。转移接续手续完成后,参保人员的基本养老保险关系会随之转移到新参保地。具体的转移接续流程和要求可以根据相关部门的规定进行办理。");
ResultWrapper<ChatResult> chat = qanythingService.chat("需要提供哪些材料?", CollUtil.newArrayList(historyDTO),CollUtil.newArrayList("KB6ada48988e694ad197af53cc0d1e4b78_240328"));
System.out.println("====================回答=========================");
System.out.println(chat.getResult().getResponse());
}
@ -132,10 +133,7 @@ public class YoudaoTest {
@Test
public void uploadDocTest() throws IOException {
String kbid = "KB6ada48988e694ad197af53cc0d1e4b78_240328";// 养老退休知识库-dev
FileUtil.walkFiles(new File("F:\\supervision\\doc\\深圳人社\\v0.1相关文档"),(f)->{
if (f.getName().equals("广东省城乡居民基本养老保险实施办法.docx")){
return;
}
FileUtil.walkFiles(new File("F:\\supervision\\doc\\深圳人社\\v0.1相关文档_append"),(f)->{
KgInfo kgInfo = new KgInfo();
kgInfo.setTitle(f.getName().split("\\.")[0]);
try {

Loading…
Cancel
Save