diff --git a/kbqa-graph/pom.xml b/kbqa-graph/pom.xml
index f815fff..6ab4d2c 100644
--- a/kbqa-graph/pom.xml
+++ b/kbqa-graph/pom.xml
@@ -94,6 +94,12 @@
compile
+
+ org.apache.poi
+ poi-ooxml
+ 4.1.2
+
+
diff --git a/kbqa-graph/src/main/java/com/supervision/ai/AiUtil.java b/kbqa-graph/src/main/java/com/supervision/ai/AiUtil.java
index ef2933e..cb09d05 100644
--- a/kbqa-graph/src/main/java/com/supervision/ai/AiUtil.java
+++ b/kbqa-graph/src/main/java/com/supervision/ai/AiUtil.java
@@ -71,9 +71,11 @@ public class AiUtil {
ChatReqDTO chatReqDTO = new ChatReqDTO();
chatReqDTO.setModel("glm-3-turbo");
chatReqDTO.setMessages(messageList);
- HttpResponse response = HttpRequest.post("https://open.bigmodel.cn/api/paas/v4/chat/completions")
- .body(JSONUtil.toJsonStr(chatReqDTO)).header("Authorization", TOKEN).execute();
- String body = response.body();
+ String body;
+ try (HttpResponse response = HttpRequest.post("https://open.bigmodel.cn/api/paas/v4/chat/completions")
+ .body(JSONUtil.toJsonStr(chatReqDTO)).header("Authorization", TOKEN).execute()) {
+ body = response.body();
+ }
ChatResDTO bean = JSONUtil.toBean(body, ChatResDTO.class);
return bean.getChoices().stream().findFirst().orElseThrow(() -> new RuntimeException("获取政策文件失败")).getMessage().getContent();
}
diff --git a/kbqa-graph/src/main/java/com/supervision/handler/gpt/ItemExtractHandler.java b/kbqa-graph/src/main/java/com/supervision/handler/gpt/ItemExtractHandler.java
index b037801..0c1ae6a 100644
--- a/kbqa-graph/src/main/java/com/supervision/handler/gpt/ItemExtractHandler.java
+++ b/kbqa-graph/src/main/java/com/supervision/handler/gpt/ItemExtractHandler.java
@@ -71,7 +71,7 @@ public class ItemExtractHandler {
public List itemExtractByPossibleItemWithExample(String question, List possible) {
String template = "请根据以下事项列表,从句子中识别并标注出对应的社保业务事项名称。若句子中不能直接对应到任何事项,就找可能性最高的事项。" +
"请确保只识别并标注一种可能性最高的社保业务事项。\n" +
- "事项列表:{}" +
+ "事项列表:{}\n" +
"我现在有一些示例,可供你学习。\n" +
"输入:企业职工多少岁可以退休?输出:企业职工退休\n" +
"输入:深圳的职工退休手续怎么办?输出:深圳企业职工退休\n" +
diff --git a/kbqa-graph/src/test/java/com/supervision/AskTest.java b/kbqa-graph/src/test/java/com/supervision/AskTest.java
index 8abb77e..741070d 100644
--- a/kbqa-graph/src/test/java/com/supervision/AskTest.java
+++ b/kbqa-graph/src/test/java/com/supervision/AskTest.java
@@ -1,6 +1,13 @@
package com.supervision;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.io.file.FileReader;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.poi.excel.ExcelReader;
+import cn.hutool.poi.excel.ExcelUtil;
+import cn.hutool.poi.excel.ExcelWriter;
import com.supervision.service.AskService;
import com.supervision.vo.SingleTalkReqVO;
import com.supervision.vo.SingleTalkResVO;
@@ -11,6 +18,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.charset.Charset;
import java.util.List;
@Slf4j
@@ -19,142 +31,65 @@ import java.util.List;
public class AskTest {
@Autowired
- private AskService askService;
- @Test
- public void test() {
+ private AskService askService;
- for (String question : loadQuestion()) {
- log.info("======start=======>>>question:{}", question);
+ @Test
+ public void test() throws IOException {
+ // 从excel中获取问题,开始循环调用
+ ExcelReader reader = ExcelUtil.getReader("/Users/flevance/Desktop/知识图谱/正常退休业务问题梳理_0422.xlsx", 1);
+ File file = FileUtil.file("/Users/flevance/Java/KBQA/test.log");
+ ExcelWriter writer = ExcelUtil.getWriter("/Users/flevance/Desktop/知识图谱/正常退休业务问题梳理_0422_output.xlsx", "Sheet2");
+
+ // 从第一行开始读取
+ List> readList = reader.read(1);
+ for (int i = 0; i < readList.size(); i++) {
+ List