Merge pull request #9 from daikon12/supersonic-local

[improvement][chat] rename dictionaryInfo to knowledgeInfo
This commit is contained in:
Jun Zhang
2023-06-22 09:24:56 +08:00
committed by GitHub
6 changed files with 21 additions and 20 deletions

View File

@@ -31,7 +31,7 @@ public class ChatConfigBase {
/**
* information about dictionary about the domain
*/
private List<KnowledgeInfo> dictionaryInfos;
private List<KnowledgeInfo> knowledgeInfos;
/**
* available status

View File

@@ -30,7 +30,7 @@ public class ChatConfigInfo {
/**
* information about dictionary about the domain
*/
private List<KnowledgeInfo> dictionaryInfos;
private List<KnowledgeInfo> knowledgeInfos;
/**
* available status

View File

@@ -33,7 +33,7 @@ public class ChatConfigRichInfo {
/**
* information about dictionary about the domain
*/
private List<KnowledgeInfo> dictionaryInfos;
private List<KnowledgeInfo> knowledgeInfos;
/**
* available status

View File

@@ -154,7 +154,7 @@ public class ChatConfigUtils {
JsonUtil.toList(chaConfigDO.getDefaultMetrics(), DefaultMetricInfo.class));
chaConfigDescriptor.setVisibility(JsonUtil.toObject(chaConfigDO.getVisibility(), ItemVisibility.class));
chaConfigDescriptor.setEntity(JsonUtil.toObject(chaConfigDO.getEntity(), Entity.class));
chaConfigDescriptor.setDictionaryInfos(JsonUtil.toList(chaConfigDO.getKnowledgeInfo(), KnowledgeInfo.class));
chaConfigDescriptor.setKnowledgeInfos(JsonUtil.toList(chaConfigDO.getKnowledgeInfo(), KnowledgeInfo.class));
chaConfigDescriptor.setStatusEnum(StatusEnum.of(chaConfigDO.getStatus()));
chaConfigDescriptor.setCreatedBy(chaConfigDO.getCreatedBy());

View File

@@ -14,6 +14,7 @@ import com.tencent.supersonic.chat.domain.pojo.config.ItemVisibilityInfo;
import com.tencent.supersonic.chat.domain.pojo.config.KnowledgeInfo;
import com.tencent.supersonic.knowledge.domain.pojo.DictUpdateMode;
import com.tencent.supersonic.knowledge.domain.pojo.DimValue2DictCommand;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@@ -22,6 +23,7 @@ import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -37,7 +39,7 @@ public class DictMetaUtils {
private final DefaultSemanticInternalUtils defaultSemanticUtils;
public DictMetaUtils(SemanticLayer semanticLayer,
DefaultSemanticInternalUtils defaultSemanticUtils) {
DefaultSemanticInternalUtils defaultSemanticUtils) {
this.semanticLayer = semanticLayer;
this.defaultSemanticUtils = defaultSemanticUtils;
}
@@ -129,21 +131,21 @@ public class DictMetaUtils {
}
private void fillDimValueDOList(List<DimValueDO> dimValueDOList, Long domainId,
Map<Long, DimSchemaResp> dimIdAndDescPair) {
Map<Long, DimSchemaResp> dimIdAndDescPair) {
ChatConfigRichInfo chaConfigRichDesc = defaultSemanticUtils.getChatConfigRichInfo(domainId);
if (Objects.nonNull(chaConfigRichDesc)) {
List<DefaultMetric> defaultMetricDescList = chaConfigRichDesc.getDefaultMetrics();
List<KnowledgeInfo> dictionaryInfos = chaConfigRichDesc.getDictionaryInfos();
if (!CollectionUtils.isEmpty(dictionaryInfos)) {
List<KnowledgeInfo> knowledgeInfos = chaConfigRichDesc.getKnowledgeInfos();
if (!CollectionUtils.isEmpty(knowledgeInfos)) {
List<Dim4Dict> dimensions = new ArrayList<>();
dictionaryInfos.stream()
.filter(dictionaryInfo -> dictionaryInfo.getIsDictInfo()
&& isVisibleDim(dictionaryInfo, chaConfigRichDesc.getVisibility()))
.forEach(dictionaryInfo -> {
if (dimIdAndDescPair.containsKey(dictionaryInfo.getItemId())) {
DimSchemaResp dimensionDesc = dimIdAndDescPair.get(dictionaryInfo.getItemId());
knowledgeInfos.stream()
.filter(knowledgeInfo -> knowledgeInfo.getIsDictInfo()
&& isVisibleDim(knowledgeInfo, chaConfigRichDesc.getVisibility()))
.forEach(knowledgeInfo -> {
if (dimIdAndDescPair.containsKey(knowledgeInfo.getItemId())) {
DimSchemaResp dimensionDesc = dimIdAndDescPair.get(knowledgeInfo.getItemId());
//default cnt
if (CollectionUtils.isEmpty(defaultMetricDescList)) {
@@ -156,9 +158,9 @@ public class DictMetaUtils {
}
String bizName = dimensionDesc.getBizName();
dimensions.add(new Dim4Dict(dictionaryInfo.getItemId(), bizName,
dictionaryInfo.getBlackList(), dictionaryInfo.getWhiteList(),
dictionaryInfo.getRuleList()));
dimensions.add(new Dim4Dict(knowledgeInfo.getItemId(), bizName,
knowledgeInfo.getBlackList(), knowledgeInfo.getWhiteList(),
knowledgeInfo.getRuleList()));
}
});
@@ -173,10 +175,10 @@ public class DictMetaUtils {
}
}
private boolean isVisibleDim(KnowledgeInfo dictionaryInfo, ItemVisibilityInfo itemVisibilityDesc) {
private boolean isVisibleDim(KnowledgeInfo knowledgeInfo, ItemVisibilityInfo itemVisibilityDesc) {
if (Objects.isNull(itemVisibilityDesc) || CollectionUtils.isEmpty(itemVisibilityDesc.getBlackDimIdList())) {
return true;
}
return !itemVisibilityDesc.getBlackDimIdList().contains(dictionaryInfo.getItemId());
return !itemVisibilityDesc.getBlackDimIdList().contains(knowledgeInfo.getItemId());
}
}

View File

@@ -3,7 +3,6 @@ insert into s2_user (id, `name`, password, display_name, email) values (2, 'jack
insert into s2_user (id, `name`, password, display_name, email) values (3, 'tom','123456','tom','tom@xx.com');
insert into s2_user (id, `name`, password, display_name, email) values (4, 'lucy','123456','lucy','lucy@xx.com');
insert into s2_chat_config (`id` ,`domain_id` ,`default_metrics`,`visibility`,`entity_info` ,`dictionary_info`,`created_at`,`updated_at`,`created_by`,`updated_by`,`status` ) values (1,1,'[{"metricId":1,"unit":7,"period":"DAY"}]','{"blackDimIdList":[],"blackMetricIdList":[]}','{"entityIds":[2],"names":["用户","用户姓名"],"detailData":{"dimensionIds":[1,2],"metricIds":[2]}}','[{"itemId":1,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":2,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":3,"type":"DIMENSION","blackList":[],"isDictInfo":true}]','2023-05-24 18:00:00','2023-05-25 11:00:00','admin','admin',1);
insert into s2_chat_config (id, domain_id, default_metrics, visibility, entity_info, dictionary_info, created_at, updated_at, created_by, updated_by, status) values (2, 1, '[{"metricId":1,"unit":7,"period":"DAY"}]','{"blackDimIdList":[],"blackMetricIdList":[]}','{"entityIds":[2],"names":["用户","用户姓名"],"detailData":{"dimensionIds":[1,2],"metricIds":[2]}}','[{"itemId":1,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":2,"type":"DIMENSION","blackList":[],"isDictInfo":true},{"itemId":3,"type":"DIMENSION","blackList":[],"isDictInfo":true}]','2023-05-24 18:00:00', '2023-05-25 11:00:00', 'admin', 'admin', 1 );
insert into s2_chat (chat_id, `chat_name`, create_time, last_time, creator,last_question,is_delete,is_top) values (1, '超音数访问统计','2023-06-10 10:00:52.495','2023-06-10 10:00:52','admin','您好欢迎使用内容智能小Q','0','0');