|
|
|
@ -14,31 +14,41 @@ public class MaxKbService {
|
|
|
|
|
public static MaxKbModel mm = new MaxKbModel();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 上传文件到知识库
|
|
|
|
|
* 获取数据集ID
|
|
|
|
|
*
|
|
|
|
|
* @param dataSetName 数据集名称
|
|
|
|
|
* @param uploadFile 文件路径
|
|
|
|
|
* @param zskName 知识库名称
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static void uploadQA(String dataSetName, String uploadFile) {
|
|
|
|
|
List<Record> list = mm.getDataSetList(dataSetName);
|
|
|
|
|
public static String getZskId(String zskName) {
|
|
|
|
|
List<Record> list = mm.getDataSetList(zskName);
|
|
|
|
|
if (list.size() > 1) {
|
|
|
|
|
System.out.println("数据集:【" + dataSetName + "】名称重复,请检查后重新运行!");
|
|
|
|
|
return;
|
|
|
|
|
System.out.println("数据集:【" + zskName + "】名称重复,请检查后重新运行!");
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
if (list.isEmpty()) {
|
|
|
|
|
System.out.println("数据集:【" + dataSetName + "】不存在,请检查后重新运行!");
|
|
|
|
|
return;
|
|
|
|
|
System.out.println("数据集:【" + zskName + "】不存在,请检查后重新运行!");
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
//数据集ID
|
|
|
|
|
String zskId = list.getFirst().getStr("id");
|
|
|
|
|
return list.getFirst().getStr("id");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 上传文件到知识库
|
|
|
|
|
*
|
|
|
|
|
* @param zskName 数据集名称
|
|
|
|
|
* @param uploadFile 文件路径
|
|
|
|
|
*/
|
|
|
|
|
public static String uploadQA(String zskName, String uploadFile) {
|
|
|
|
|
//数据集ID
|
|
|
|
|
String zskId = getZskId(zskName);
|
|
|
|
|
//在上传文档前,需要删除掉旧的同名文档
|
|
|
|
|
File fi = new File(uploadFile);
|
|
|
|
|
String fileName = fi.getName();
|
|
|
|
|
//获取身份识别
|
|
|
|
|
String authCode = MaxKbImpl.getAuthorization();
|
|
|
|
|
//上传文档
|
|
|
|
|
List<com.jfinal.plugin.activerecord.Record> listDocuments = mm.getDocumentListByDataSetId(zskId);
|
|
|
|
|
List<Record> listDocuments = mm.getDocumentListByDataSetId(zskId);
|
|
|
|
|
for (Record record : listDocuments) {
|
|
|
|
|
String documentName = record.getStr("name");
|
|
|
|
|
if (documentName.equals(fileName)) {
|
|
|
|
@ -51,12 +61,7 @@ public class MaxKbService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//上传新的文档
|
|
|
|
|
String documentId = MaxKbImpl.uploadQA(authCode, zskId, uploadFile);
|
|
|
|
|
//2、需要重新生成问题
|
|
|
|
|
String modelName = PropKit.get("modelName");
|
|
|
|
|
String model_id = getModelIdByModelName(modelName);
|
|
|
|
|
//生成问题
|
|
|
|
|
MaxKbImpl.generateQuestion(authCode, zskId, model_id, documentId);
|
|
|
|
|
return MaxKbImpl.uploadQA(authCode, zskId, uploadFile);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -85,19 +90,9 @@ public class MaxKbService {
|
|
|
|
|
/**
|
|
|
|
|
* 上传文档
|
|
|
|
|
*/
|
|
|
|
|
public static String _bach(String dataSetName, String uploadFile) {
|
|
|
|
|
List<Record> list = mm.getDataSetList(dataSetName);
|
|
|
|
|
if (list.size() > 1) {
|
|
|
|
|
System.out.println("数据集:【" + dataSetName + "】名称重复,请检查后重新运行!");
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
if (list.isEmpty()) {
|
|
|
|
|
System.out.println("数据集:【" + dataSetName + "】不存在,请检查后重新运行!");
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
public static String _bach(String zskName, String uploadFile) {
|
|
|
|
|
//数据集ID
|
|
|
|
|
String zskId = list.getFirst().getStr("id");
|
|
|
|
|
|
|
|
|
|
String zskId = getZskId(zskName);
|
|
|
|
|
//上传文件
|
|
|
|
|
JSONObject jo = splitDocument(uploadFile);
|
|
|
|
|
JSONArray ja = jo.getJSONArray("data");
|
|
|
|
@ -113,22 +108,13 @@ public class MaxKbService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 批量生成相关问题
|
|
|
|
|
* @param dataSetName 数据集名称
|
|
|
|
|
* @param documentId 文档id
|
|
|
|
|
*
|
|
|
|
|
* @param documentId 文档id
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static String batch_generate_related(String dataSetName, String documentId) {
|
|
|
|
|
List<Record> list = mm.getDataSetList(dataSetName);
|
|
|
|
|
if (list.size() > 1) {
|
|
|
|
|
System.out.println("数据集:【" + dataSetName + "】名称重复,请检查后重新运行!");
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
if (list.isEmpty()) {
|
|
|
|
|
System.out.println("数据集:【" + dataSetName + "】不存在,请检查后重新运行!");
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
public static String batch_generate_related(String zskName, String documentId) {
|
|
|
|
|
//数据集ID
|
|
|
|
|
String zskId = list.getFirst().getStr("id");
|
|
|
|
|
String zskId = getZskId(zskName);
|
|
|
|
|
return MaxKbImpl.batch_generate_related(MaxKbImpl.getAuthorization(), zskId, documentId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|