diff --git a/src/main/java/Tools/MaxKb/GenerateQAExcel.java b/src/main/java/Tools/MaxKb/GenerateQA.java similarity index 96% rename from src/main/java/Tools/MaxKb/GenerateQAExcel.java rename to src/main/java/Tools/MaxKb/GenerateQA.java index bae8ba19..5d595ded 100644 --- a/src/main/java/Tools/MaxKb/GenerateQAExcel.java +++ b/src/main/java/Tools/MaxKb/GenerateQA.java @@ -9,7 +9,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.*; -public class GenerateQAExcel { +public class GenerateQA { public static void main(String[] args) throws IOException { //数据源 diff --git a/src/main/java/Tools/MaxKb/Service/MaxKbService.java b/src/main/java/Tools/MaxKb/Service/MaxKbService.java index 684c8bb4..b539f8e0 100644 --- a/src/main/java/Tools/MaxKb/Service/MaxKbService.java +++ b/src/main/java/Tools/MaxKb/Service/MaxKbService.java @@ -4,14 +4,14 @@ import Tools.MaxKb.Service.Impl.MaxKbImpl; import Tools.MaxKb.Model.MaxKbModel; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.jfinal.kit.PropKit; +import com.dsideal.QingLong.Util.CommonUtil; import com.jfinal.plugin.activerecord.Record; import java.io.File; import java.util.List; public class MaxKbService { - public static MaxKbModel mm = new MaxKbModel(); + MaxKbModel mm = new MaxKbModel(); /** * 获取数据集ID @@ -19,7 +19,7 @@ public class MaxKbService { * @param zskName 知识库名称 * @return */ - public static String getZskId(String zskName) { + public String getZskId(String zskName) { List list = mm.getDataSetList(zskName); if (list.size() > 1) { System.out.println("数据集:【" + zskName + "】名称重复,请检查后重新运行!"); @@ -39,7 +39,7 @@ public class MaxKbService { * @param zskName 数据集名称 * @param uploadFile 文件路径 */ - public static String uploadQA(String zskName, String uploadFile) { + public String uploadQA(String zskName, String uploadFile) { //数据集ID String zskId = getZskId(zskName); //在上传文档前,需要删除掉旧的同名文档 @@ -71,7 +71,7 @@ public class MaxKbService { * @param modelName 模型名称 * @return */ - public static String getModelIdByModelName(String modelName) { + public String getModelIdByModelName(String modelName) { List list = mm.getModel(modelName); if (list.isEmpty()) return null; return list.getFirst().getStr("id"); @@ -83,14 +83,14 @@ public class MaxKbService { * @param uploadFile * @return */ - public static JSONObject splitDocument(String uploadFile) { + public JSONObject splitDocument(String uploadFile) { return MaxKbImpl.uploadDocumentSplit(MaxKbImpl.getAuthorization(), uploadFile); } /** * 上传文档 */ - public static String _bach(String zskName, String uploadFile) { + public String _bach(String zskName, String uploadFile) { //数据集ID String zskId = getZskId(zskName); //上传文件 @@ -112,7 +112,7 @@ public class MaxKbService { * @param documentId 文档id * @return */ - public static String batch_generate_related(String zskName, String documentId) { + public String batch_generate_related(String zskName, String documentId) { //数据集ID String zskId = getZskId(zskName); return MaxKbImpl.batch_generate_related(MaxKbImpl.getAuthorization(), zskId, documentId); @@ -126,7 +126,18 @@ public class MaxKbService { * @param documentId 文档Id * @return */ - public static JSONObject generateQuestion(String zskName, String modelName, String documentId) { + public JSONObject generateQuestion(String zskName, String modelName, String documentId) throws InterruptedException { + //等待模型生成问题完毕 + while (true) { + boolean finish = autoIndexed(documentId); + if (finish) { + //手动生成问题 + JSONObject res = generateQuestion(zskName, modelName, documentId); + break; + } + Thread.sleep(500); + System.out.println(CommonUtil.getCurrentTime() + " 正在等待模型生成问题完毕..."); + } return MaxKbImpl.generateQuestion(getZskId(zskName), getModelIdByModelName(modelName), documentId); } @@ -136,7 +147,7 @@ public class MaxKbService { * @param documentId 文档id * @return */ - public static boolean autoIndexed(String documentId) { + public boolean autoIndexed(String documentId) { return mm.autoIndexed(documentId); } } diff --git a/src/main/java/Tools/MaxKb/UploadDocument.java b/src/main/java/Tools/MaxKb/UploadDocument.java index 3495e09d..7de7b4b5 100644 --- a/src/main/java/Tools/MaxKb/UploadDocument.java +++ b/src/main/java/Tools/MaxKb/UploadDocument.java @@ -8,6 +8,8 @@ public class UploadDocument { //要上传的文档内容 static String uploadFile = "D:\\dsWork\\QingLong\\Doc\\MaxKB\\黄海的个人简历.txt"; + public static MaxKbService service = new MaxKbService(); + public static void main(String[] args) throws Exception { //加载配置文件 PropKit.use("MaxKb.properties"); @@ -16,9 +18,9 @@ public class UploadDocument { //测试上传 String dataSetName = "知识库【模板】"; - String documentId = MaxKbService._bach(dataSetName, uploadFile); + String documentId = service._bach(dataSetName, uploadFile); //生成问题 - String res = MaxKbService.batch_generate_related(dataSetName, documentId); + String res = service.batch_generate_related(dataSetName, documentId); System.out.println(res); } } \ No newline at end of file diff --git a/src/main/java/Tools/MaxKb/UploadQA.java b/src/main/java/Tools/MaxKb/UploadQA.java new file mode 100644 index 00000000..a6c5f4a0 --- /dev/null +++ b/src/main/java/Tools/MaxKb/UploadQA.java @@ -0,0 +1,28 @@ +package Tools.MaxKb; + +import Tools.MaxKb.Service.MaxKbService; +import Tools.MaxKb.Util.MaxKbUtil; +import com.jfinal.kit.PropKit; + +public class UploadQA { + //要上传的QA知识内容 + static String uploadFile = "D:\\dsWork\\QingLong\\Doc\\MaxKB\\黄海的个人简历【QA版本】.xlsx"; + static MaxKbService service = new MaxKbService(); + + public static void main(String[] args) throws Exception { + //加载配置文件 + PropKit.use("MaxKb.properties"); + //初始化数据库 + MaxKbUtil.Init(); + + //1、上传文件 + String zskName = "知识库【模板】"; + String documentId = service.uploadQA(zskName, uploadFile); + + //2、手动生成问题 + String modelName = "DeepSeek";//使用哪个模型 + service.generateQuestion(zskName, modelName, documentId); + + System.out.println("恭喜,所有操作成功完成!"); + } +} \ No newline at end of file diff --git a/src/main/java/Tools/MaxKb/UploadQA1.java b/src/main/java/Tools/MaxKb/UploadQA1.java deleted file mode 100644 index d9397315..00000000 --- a/src/main/java/Tools/MaxKb/UploadQA1.java +++ /dev/null @@ -1,38 +0,0 @@ -package Tools.MaxKb; - -import Tools.MaxKb.Service.MaxKbService; -import Tools.MaxKb.Util.MaxKbUtil; -import com.alibaba.fastjson.JSONObject; -import com.dsideal.QingLong.Util.CommonUtil; -import com.jfinal.kit.PropKit; - -public class UploadQA1 { - //要上传的QA知识内容 - static String uploadFile = "D:\\dsWork\\QingLong\\Doc\\MaxKB\\黄海的个人简历【QA版本】.xlsx"; - - public static void main(String[] args) throws Exception { - //加载配置文件 - PropKit.use("MaxKb.properties"); - //初始化数据库 - MaxKbUtil.Init(); - - //1、上传文件 - String zskName = "知识库【模板】"; - String documentId = MaxKbService.uploadQA(zskName, uploadFile); - //2、使用哪个模型 - String modelName = PropKit.get("modelName"); - //3、等待模型生成问题完毕 - while (true) { - boolean finish = MaxKbService.autoIndexed(documentId); - if (finish) { - //手动生成问题 - JSONObject res = MaxKbService.generateQuestion(zskName, modelName, documentId); - System.out.println(res); - break; - } - Thread.sleep(500); - System.out.println(CommonUtil.getCurrentTime() + " 正在等待模型生成问题完毕..."); - } - System.out.println("恭喜,所有操作成功完成!"); - } -} \ No newline at end of file diff --git a/src/main/resources/MaxKb.properties b/src/main/resources/MaxKb.properties index 7be7272b..8de6698c 100644 --- a/src/main/resources/MaxKb.properties +++ b/src/main/resources/MaxKb.properties @@ -8,5 +8,3 @@ baseUrl=http://10.10.14.206:8080 # MaxKB系统的管理员账号 MaxKBUsername=admin MaxKBPassword=Dsideal4r5t6y7u!@# -# 大语言模型名称【通义千问qwen-max】 -modelName=DeepSeek \ No newline at end of file