|
|
|
@ -1,7 +1,10 @@
|
|
|
|
|
package com.dsideal.QingLong.MaxKB.Controller;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.dsideal.QingLong.Base.Model.BaseModel;
|
|
|
|
|
import com.dsideal.QingLong.MaxKB.Model.MaxKbModel;
|
|
|
|
|
import com.dsideal.QingLong.MaxKB.Service.Impl.MaxKbImpl;
|
|
|
|
|
import com.dsideal.QingLong.MaxKB.Service.MaxKbService;
|
|
|
|
|
import com.dsideal.QingLong.Util.CommonUtil;
|
|
|
|
|
import com.dsideal.QingLong.Util.SessionKit;
|
|
|
|
|
import com.jfinal.aop.Before;
|
|
|
|
@ -19,6 +22,10 @@ import java.util.UUID;
|
|
|
|
|
public class MaxKbController extends Controller {
|
|
|
|
|
MaxKbModel mkm = new MaxKbModel();
|
|
|
|
|
BaseModel baseModel = new BaseModel();
|
|
|
|
|
MaxKbService service = new MaxKbService();
|
|
|
|
|
|
|
|
|
|
//不管是谁,都先上传这个QA的个性化文件,逐步改进
|
|
|
|
|
String uploadFile = "D:\\dsWork\\QingLong\\Doc\\MaxKB\\黄海的个人简历【QA版本】.xlsx";
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 判断当前登录人员是否完成知识库的创建
|
|
|
|
@ -43,7 +50,7 @@ public class MaxKbController extends Controller {
|
|
|
|
|
* 创建应用程序和知识库
|
|
|
|
|
*/
|
|
|
|
|
@Before(POST.class)
|
|
|
|
|
public void createApplication() {
|
|
|
|
|
public void createApplication() throws InterruptedException {
|
|
|
|
|
String person_id = SessionKit.get(getRequest(), getResponse(), "person_id");
|
|
|
|
|
if (StrKit.isBlank(person_id)) {
|
|
|
|
|
renderJson(CommonUtil.returnMessageJson(false, "未登录!"));
|
|
|
|
@ -60,25 +67,32 @@ public class MaxKbController extends Controller {
|
|
|
|
|
//1、拷贝生成应用
|
|
|
|
|
String sourceApplicationName = "应用【模板】";
|
|
|
|
|
String targetApplicationName = person_name + "的应用";
|
|
|
|
|
String application_id = mkm.addApplication(sourceApplicationName, targetApplicationName);
|
|
|
|
|
String applicationId = mkm.addApplication(sourceApplicationName, targetApplicationName);
|
|
|
|
|
|
|
|
|
|
//3、拷贝生成知识库
|
|
|
|
|
String sourceDataSetName = "知识库【模板】";
|
|
|
|
|
String targetDataSetName = person_name + "的知识库";
|
|
|
|
|
String dataset_id = mkm.addZsk(sourceDataSetName, targetDataSetName);
|
|
|
|
|
String zskId = mkm.addZsk(sourceDataSetName, targetDataSetName);
|
|
|
|
|
|
|
|
|
|
//4、应用与知识库关联
|
|
|
|
|
Record record = new Record();
|
|
|
|
|
record.set("create_time", LocalDateTime.now());
|
|
|
|
|
record.set("update_time", LocalDateTime.now());
|
|
|
|
|
record.set("id", UUID.randomUUID());
|
|
|
|
|
record.set("application_id", UUID.fromString(application_id));
|
|
|
|
|
record.set("dataset_id", UUID.fromString(dataset_id));
|
|
|
|
|
record.set("application_id", UUID.fromString(applicationId));
|
|
|
|
|
record.set("dataset_id", UUID.fromString(zskId));
|
|
|
|
|
Db.save("application_dataset_mapping", "id", record);
|
|
|
|
|
|
|
|
|
|
//5、生成应用的访问Token
|
|
|
|
|
String access_token = mkm.addAccessToken(application_id);
|
|
|
|
|
//System.out.println("增加成功!access_token=" + access_token);
|
|
|
|
|
//5、给当前人员上传他个人的知识库
|
|
|
|
|
//获取身份识别
|
|
|
|
|
String authCode = MaxKbImpl.getAuthorization();
|
|
|
|
|
String documentId = service.uploadQA(authCode, targetDataSetName, uploadFile);
|
|
|
|
|
//6、手动生成问题
|
|
|
|
|
String modelName = "DeepSeek";//使用哪个模型
|
|
|
|
|
JSONObject res = service.manualQuestion(authCode, targetDataSetName, modelName, documentId);
|
|
|
|
|
//7、生成应用的访问Token
|
|
|
|
|
String access_token = mkm.addAccessToken(applicationId);
|
|
|
|
|
//8、返回结果
|
|
|
|
|
Kv kv = Kv.by("success", true);
|
|
|
|
|
kv.set("message", "创建成功!");
|
|
|
|
|
kv.set("access_token", access_token);
|
|
|
|
|