main
黄海 7 months ago
parent 5395ceef52
commit 5c71283bce

@ -1,13 +1,16 @@
package Tools.MaxKb.Service.Impl;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject;
import com.jfinal.kit.PathKit;
import com.jfinal.kit.PropKit;
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MaxKbImpl {
@ -194,7 +197,7 @@ public class MaxKbImpl {
.header("Connection", "keep-alive")
.header("Content-Type", "application/json")
.body(body).execute();
return response.body();
return JSONObject.parseObject(response.body()).getJSONArray("data").getJSONObject(0).getString("id");
}
/**
@ -237,4 +240,27 @@ public class MaxKbImpl {
.body();
return result;
}
/**
*
*
* @param authCode
* @param zskId ID
* @param documentId ID
* @return
*/
public static String batch_generate_related(String authCode, String zskId, String documentId) {
String url = baseUrl + "/api/dataset/" + zskId + "/document/batch_generate_related";
String generateRelatedJson = FileUtil.readUtf8String(PathKit.getRootClassPath() + "/MaxKbGenerateRelated.json");
JSONObject jo = JSONObject.parseObject(generateRelatedJson);
jo.remove("document_id_list");
jo.put("document_id_list", Arrays.asList(documentId));
var result = HttpRequest.put(url)
.header("Authorization", authCode)
.header("Content-Type", "application/json")
.body(jo.toString())
.execute()
.body();
return result;
}
}

@ -74,6 +74,7 @@ public class MaxKbService {
/**
*
*
* @param uploadFile
* @return
*/
@ -102,11 +103,32 @@ public class MaxKbService {
JSONArray ja = jo.getJSONArray("data");
JSONArray jaRes = new JSONArray();
for (Object o : ja) {
cn.hutool.json.JSONObject j = (cn.hutool.json.JSONObject) (o);
j.set("paragraphs", j.getJSONArray("content"));
JSONObject j = (JSONObject) (o);
j.put("paragraphs", j.getJSONArray("content"));
j.remove("content");
jaRes.add(j);
}
return MaxKbImpl._bach(MaxKbImpl.getAuthorization(), zskId, jaRes.toString());
}
/**
*
* @param dataSetName
* @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;
}
//数据集ID
String zskId = list.getFirst().getStr("id");
return MaxKbImpl.batch_generate_related(MaxKbImpl.getAuthorization(), zskId, documentId);
}
}

@ -15,8 +15,10 @@ public class UploadDocument {
MaxKbUtil.Init();
//测试上传
String dataSetName = "XXX的知识库";
String res = MaxKbService._bach(dataSetName, uploadFile);
String dataSetName = "知识库【模板】";
String documentId = MaxKbService._bach(dataSetName, uploadFile);
//生成问题
String res = MaxKbService.batch_generate_related(dataSetName, documentId);
System.out.println(res);
}
}

@ -0,0 +1,7 @@
{
"model_id": "f9312e42-c67f-11ef-9a78-0242ac120003",
"prompt": "内容:{data}\n\n请总结上面的内容并根据内容总结生成 5 个问题。\n回答要求\n- 请只输出问题;\n- 请将每个问题放置<question></question>标签中。",
"document_id_list": [
"6a213896-c71a-11ef-b276-0242ac120003"
]
}
Loading…
Cancel
Save