main
黄海 7 months ago
parent 27b08a19d8
commit 2b06e4b5a7

@ -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 {
//数据源

@ -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<Record> 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<Record> 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);
}
}

@ -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);
}
}

@ -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("恭喜,所有操作成功完成!");
}
}

@ -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("恭喜,所有操作成功完成!");
}
}

@ -8,5 +8,3 @@ baseUrl=http://10.10.14.206:8080
# MaxKB系统的管理员账号
MaxKBUsername=admin
MaxKBPassword=Dsideal4r5t6y7u!@#
# 大语言模型名称【通义千问qwen-max】
modelName=DeepSeek
Loading…
Cancel
Save