mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:51:00 +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.DictTaskResp;
|
||||
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.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.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -41,6 +42,9 @@ public class KnowledgeController {
|
||||
@Autowired
|
||||
private MetaEmbeddingTask embeddingTask;
|
||||
|
||||
@Autowired
|
||||
private DictionaryReloadTask dictionaryReloadTask;
|
||||
|
||||
/**
|
||||
* addDictConf-新增item的字典配置
|
||||
* Add configuration information for dictionary entries
|
||||
@@ -173,4 +177,11 @@ public class KnowledgeController {
|
||||
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.headless.api.pojo.DimValueMap;
|
||||
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.response.DataSetResp;
|
||||
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.DataSetResp;
|
||||
import com.tencent.supersonic.headless.server.persistence.dataobject.DimensionDO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -86,7 +87,7 @@ public class DimensionConverter {
|
||||
if (dimensionDO.getExt() != null) {
|
||||
dimensionResp.setExt(JSONObject.parseObject(dimensionDO.getExt(), Map.class));
|
||||
}
|
||||
dimensionResp.setType(DimensionType.valueOf(dimensionDO.getType()));
|
||||
dimensionResp.setType(getType(dimensionDO.getType()));
|
||||
dimensionResp.setTypeEnum(TypeEnums.DIMENSION);
|
||||
return dimensionResp;
|
||||
}
|
||||
@@ -95,10 +96,20 @@ public class DimensionConverter {
|
||||
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) {
|
||||
return dimensionResps.stream().filter(dimensionResp ->
|
||||
dataSetResp.dimensionIds().contains(dimensionResp.getId())
|
||||
|| dataSetResp.getAllIncludeAllModels().contains(dimensionResp.getModelId()))
|
||||
dataSetResp.dimensionIds().contains(dimensionResp.getId())
|
||||
|| dataSetResp.getAllIncludeAllModels().contains(dimensionResp.getModelId()))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
@@ -362,4 +362,7 @@ alter table s2_agent add `enable_memory_review` tinyint DEFAULT 0;
|
||||
alter table s2_chat_memory add `side_info` TEXT DEFAULT NULL COMMENT '辅助信息';
|
||||
|
||||
--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