mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 04:27:39 +00:00
(improvement)(chat) Support compatibility for handling historical primary and foreign data. (#1517)
This commit is contained in:
@@ -11,9 +11,10 @@ import com.tencent.supersonic.headless.api.pojo.request.DictValueReq;
|
|||||||
import com.tencent.supersonic.headless.api.pojo.response.DictItemResp;
|
import com.tencent.supersonic.headless.api.pojo.response.DictItemResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.DictTaskResp;
|
import com.tencent.supersonic.headless.api.pojo.response.DictTaskResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.DictValueResp;
|
import com.tencent.supersonic.headless.api.pojo.response.DictValueResp;
|
||||||
import com.tencent.supersonic.headless.server.task.MetaEmbeddingTask;
|
|
||||||
import com.tencent.supersonic.headless.server.service.DictConfService;
|
import com.tencent.supersonic.headless.server.service.DictConfService;
|
||||||
import com.tencent.supersonic.headless.server.service.DictTaskService;
|
import com.tencent.supersonic.headless.server.service.DictTaskService;
|
||||||
|
import com.tencent.supersonic.headless.server.task.DictionaryReloadTask;
|
||||||
|
import com.tencent.supersonic.headless.server.task.MetaEmbeddingTask;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
@@ -41,6 +42,9 @@ public class KnowledgeController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private MetaEmbeddingTask embeddingTask;
|
private MetaEmbeddingTask embeddingTask;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DictionaryReloadTask dictionaryReloadTask;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* addDictConf-新增item的字典配置
|
* addDictConf-新增item的字典配置
|
||||||
* Add configuration information for dictionary entries
|
* Add configuration information for dictionary entries
|
||||||
@@ -173,4 +177,11 @@ public class KnowledgeController {
|
|||||||
return taskService.queryDictFilePath(dictValueReq, user);
|
return taskService.queryDictFilePath(dictValueReq, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/dict/reload")
|
||||||
|
public boolean reloadKnowledge(@RequestBody @Valid DictValueReq dictValueReq,
|
||||||
|
HttpServletRequest request,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
dictionaryReloadTask.reloadKnowledge();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,11 @@ import com.tencent.supersonic.common.util.BeanMapper;
|
|||||||
import com.tencent.supersonic.common.util.JsonUtil;
|
import com.tencent.supersonic.common.util.JsonUtil;
|
||||||
import com.tencent.supersonic.headless.api.pojo.DimValueMap;
|
import com.tencent.supersonic.headless.api.pojo.DimValueMap;
|
||||||
import com.tencent.supersonic.headless.api.pojo.enums.DimensionType;
|
import com.tencent.supersonic.headless.api.pojo.enums.DimensionType;
|
||||||
|
import com.tencent.supersonic.headless.api.pojo.enums.IdentifyType;
|
||||||
import com.tencent.supersonic.headless.api.pojo.request.DimensionReq;
|
import com.tencent.supersonic.headless.api.pojo.request.DimensionReq;
|
||||||
|
import com.tencent.supersonic.headless.api.pojo.response.DataSetResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
|
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
|
import com.tencent.supersonic.headless.api.pojo.response.ModelResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.DataSetResp;
|
|
||||||
import com.tencent.supersonic.headless.server.persistence.dataobject.DimensionDO;
|
import com.tencent.supersonic.headless.server.persistence.dataobject.DimensionDO;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@@ -86,7 +87,7 @@ public class DimensionConverter {
|
|||||||
if (dimensionDO.getExt() != null) {
|
if (dimensionDO.getExt() != null) {
|
||||||
dimensionResp.setExt(JSONObject.parseObject(dimensionDO.getExt(), Map.class));
|
dimensionResp.setExt(JSONObject.parseObject(dimensionDO.getExt(), Map.class));
|
||||||
}
|
}
|
||||||
dimensionResp.setType(DimensionType.valueOf(dimensionDO.getType()));
|
dimensionResp.setType(getType(dimensionDO.getType()));
|
||||||
dimensionResp.setTypeEnum(TypeEnums.DIMENSION);
|
dimensionResp.setTypeEnum(TypeEnums.DIMENSION);
|
||||||
return dimensionResp;
|
return dimensionResp;
|
||||||
}
|
}
|
||||||
@@ -95,6 +96,16 @@ public class DimensionConverter {
|
|||||||
return convert2DimensionResp(dimensionDO, new HashMap<>());
|
return convert2DimensionResp(dimensionDO, new HashMap<>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static DimensionType getType(String type) {
|
||||||
|
try {
|
||||||
|
//Support compatibility with legacy data.
|
||||||
|
IdentifyType.valueOf(type.toLowerCase());
|
||||||
|
return DimensionType.identify;
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
return DimensionType.valueOf(type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static List<DimensionResp> filterByDataSet(List<DimensionResp> dimensionResps, DataSetResp dataSetResp) {
|
public static List<DimensionResp> filterByDataSet(List<DimensionResp> dimensionResps, DataSetResp dataSetResp) {
|
||||||
return dimensionResps.stream().filter(dimensionResp ->
|
return dimensionResps.stream().filter(dimensionResp ->
|
||||||
dataSetResp.dimensionIds().contains(dimensionResp.getId())
|
dataSetResp.dimensionIds().contains(dimensionResp.getId())
|
||||||
|
|||||||
@@ -363,3 +363,6 @@ alter table s2_chat_memory add `side_info` TEXT DEFAULT NULL COMMENT '辅助信
|
|||||||
|
|
||||||
--20240730
|
--20240730
|
||||||
alter table s2_chat_parse modify column `chat_id` int(11);
|
alter table s2_chat_parse modify column `chat_id` int(11);
|
||||||
|
|
||||||
|
--20240806
|
||||||
|
UPDATE `s2_dimension` SET `type` = 'identify' WHERE `type` in ('primary','foreign');
|
||||||
Reference in New Issue
Block a user