Commit 71b28079 authored by linpeiqin's avatar linpeiqin

新增知识格式

parent b0f73831
......@@ -38,6 +38,16 @@ public class KnowledgeConfig {
*/
private String searchDocs;
/**
* 直接更新知识库文档
*/
private String updateDocsById;
/**
* 直接删除知识库文档片段
*/
private String deleteDocsById;
/**
* 上传文件到知识库,并/或进行向量化
*/
......
......@@ -68,16 +68,14 @@ public class KnowledgeManageController {
if (errorMessage != null) {
return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATED_FAILED, errorMessage);
}
KnowledgeManage knowledgeManage = MyModelUtil.copyTo(knowledgeManageDto, KnowledgeManage.class);
knowledgeManage.setKnowledgeCode(PinyinUtil.getPinyin(knowledgeManage.getKnowledgeName()).replace(" ","_"));
String requestBody = "{\n" + " \"knowledge_base_name\": \"" + knowledgeManage.getKnowledgeCode() + "\",\n" + " \"vector_store_type\": \"faiss\",\n" + " \"embed_model\": \"m3e-base\"\n" + "}";
String requestBody = "{\n" + " \"knowledge_base_name\": \"" + knowledgeManageDto.getKnowledgeName() + "\",\n" + " \"vector_store_type\": \"faiss\",\n" + " \"embed_model\": \"m3e-base\"\n" + "}";
try {
String result = proxyPythonService.predictPost(knowledgeConfig.getKnowledgeInterface() + knowledgeConfig.getCreate(), requestBody);
JSONObject jo = JSON.parseObject(result);
Integer code = jo.getIntValue("code");
String msg = jo.getString("msg");
String data = jo.getString("data");
if (code != null && code == 200) {
KnowledgeManage knowledgeManage = MyModelUtil.copyTo(knowledgeManageDto, KnowledgeManage.class);
KnowledgeManage reKnowledgeManage = knowledgeManageService.saveNew(knowledgeManage);
return ResponseResult.success(reKnowledgeManage);
} else {
......@@ -228,7 +226,6 @@ public class KnowledgeManageController {
}
return ResponseResult.success(originalKnowledgeManage);
}
/**
* 删除知识库管理数据。
*
......@@ -279,6 +276,46 @@ public class KnowledgeManageController {
return ResponseResult.success(data);
}
/**
* 直接更新知识库文档。
*
* @param requestBody 请求对象。
* @return 应答结果对象。
*/
@PostMapping("/updateDocsById")
public ResponseResult<String> updateDocsById(@RequestBody String requestBody) {
if (MyCommonUtil.existBlankArgument(requestBody)) {
return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST);
}
String data = null;
try {
data = this.proxyPythonService.predictPost(this.knowledgeConfig.getKnowledgeInterface() + knowledgeConfig.getUpdateDocsById(), requestBody);
} catch (IOException e) {
throw new RuntimeException(e);
}
return ResponseResult.success(data);
}
/**
* 直接删除知识库文档片段。
*
* @param requestBody 请求对象。
* @return 应答结果对象。
*/
@PostMapping("/deleteDocsById")
public ResponseResult<String> deleteDocsById(@RequestBody String requestBody) {
if (MyCommonUtil.existBlankArgument(requestBody)) {
return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST);
}
String data = null;
try {
data = this.proxyPythonService.predictPost(this.knowledgeConfig.getKnowledgeInterface() + knowledgeConfig.getDeleteDocsById(), requestBody);
} catch (IOException e) {
throw new RuntimeException(e);
}
return ResponseResult.success(data);
}
/**
* 删除知识库指定文件。
*
......@@ -354,7 +391,7 @@ public class KnowledgeManageController {
String msg = jo.getString("msg");
String data = jo.getString("data");
if (code != null && code == 200) {
return ResponseResult.create(ErrorCodeEnum.NO_ERROR, msg, data);
return ResponseResult.success(data);
} else {
return ResponseResult.create(ErrorCodeEnum.SERVER_INTERNAL_ERROR, msg, data);
}
......@@ -425,7 +462,7 @@ public class KnowledgeManageController {
if (code != null && code == 200) {
for (KnowledgeManage knowledgeManage : knowledgeManageList) {
for (Object jsonObject : jsonArray) {
if (knowledgeManage.getKnowledgeCode().equals(String.valueOf(jsonObject))) {
if (knowledgeManage.getKnowledgeName().equals(String.valueOf(jsonObject))) {
reKnowledgeManageList.add(knowledgeManage);
}
}
......@@ -456,7 +493,7 @@ public class KnowledgeManageController {
if (code != null && code == 200) {
for (KnowledgeManage knowledgeManage : knowledgeManageList) {
for (Object jsonObject : jsonArray) {
if (knowledgeManage.getKnowledgeCode().equals(String.valueOf(jsonObject))) {
if (knowledgeManage.getKnowledgeName().equals(String.valueOf(jsonObject))) {
reKnowledgeManageList.add(knowledgeManage);
}
}
......@@ -529,6 +566,6 @@ public class KnowledgeManageController {
errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!";
return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage);
}
return this.doDeleteByName(originalKnowledgeManage.getKnowledgeCode());
return this.doDeleteByName(originalKnowledgeManage.getKnowledgeName());
}
}
......@@ -10,6 +10,7 @@
<result column="knowledge_name" jdbcType="VARCHAR" property="knowledgeName"/>
<result column="knowledge_code" jdbcType="VARCHAR" property="knowledgeCode"/>
<result column="knowledge_describe" jdbcType="VARCHAR" property="knowledgeDescribe"/>
<result column="knowledge_format" jdbcType="VARCHAR" property="knowledgeFormat"/>
</resultMap>
<insert id="insertList">
......@@ -21,7 +22,8 @@
update_time,
knowledge_name,
knowledge_code,
knowledge_describe)
knowledge_describe,
knowledge_format)
VALUES
<foreach collection="list" index="index" item="item" separator=",">
(#{item.knowledgeId},
......@@ -31,7 +33,8 @@
#{item.updateTime},
#{item.knowledgeName},
#{item.knowledgeCode},
#{item.knowledgeDescribe})
#{item.knowledgeDescribe},
#{item.knowledgeFormat})
</foreach>
</insert>
......
......@@ -49,4 +49,10 @@ public class KnowledgeManageDto {
*/
@ApiModelProperty(value = "LIKE模糊搜索字符串")
private String searchString;
/**
* 知识格式。
*/
@ApiModelProperty(value = "知识格式")
private String knowledgeFormat;
}
......@@ -48,6 +48,11 @@ public class KnowledgeManage extends BaseModel {
*/
private String knowledgeDescribe;
/**
* 知识格式。
*/
private String knowledgeFormat;
/**
* knowledge_name LIKE搜索字符串。
*/
......
......@@ -48,4 +48,10 @@ public class KnowledgeManageVo extends BaseVo {
*/
@ApiModelProperty(value = "创建人名称")
private Map<String, Object> createUserIdDictMap;
/**
* 知识格式。
*/
@ApiModelProperty(value = "知识格式")
private String knowledgeFormat;
}
......@@ -110,6 +110,10 @@ knowledge:
listFiles: list_files
#搜索知识库
searchDocs: search_docs
#直接更新知识库文档
updateDocsById: update_docs_by_id
#直接删除知识库文档片段
deleteDocsById: delete_docs_by_id
#上传文件到知识库,bing/或进行向量化
uploadDocs: upload_docs
#删除知识库内指定文件
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment