(improvement)(semantic) save metric default query config (#503)

Co-authored-by: jolunoluo
This commit is contained in:
LXW
2023-12-13 21:29:15 +08:00
committed by GitHub
parent 2c7afd0d55
commit f89be48e98
24 changed files with 255 additions and 84 deletions

View File

@@ -18,6 +18,9 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/***
* A mapper that forms a cluster from connectable models
*/
public class ModelClusterMapper implements SchemaMapper {
@Override

View File

@@ -11,6 +11,7 @@ import com.tencent.supersonic.chat.api.pojo.request.QueryFilter;
import com.tencent.supersonic.chat.api.pojo.request.QueryFilters;
import com.tencent.supersonic.chat.api.pojo.request.QueryReq;
import com.tencent.supersonic.common.pojo.Constants;
import com.tencent.supersonic.knowledge.dictionary.builder.BaseWordBuilder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;
import java.util.List;
@@ -19,8 +20,6 @@ import java.util.stream.Collectors;
@Slf4j
public class QueryFilterMapper implements SchemaMapper {
private Long frequency = 9999999L;
private double similarity = 1.0;
@Override
@@ -37,7 +36,7 @@ public class QueryFilterMapper implements SchemaMapper {
schemaElementMatches = Lists.newArrayList();
schemaMapInfo.setMatchedElements(modelId, schemaElementMatches);
}
addValueSchemaElementMatch(schemaElementMatches, queryReq.getQueryFilters());
addValueSchemaElementMatch(queryContext, schemaElementMatches, queryReq.getQueryFilters());
}
private void clearOtherSchemaElementMatch(Long modelId, SchemaMapInfo schemaMapInfo) {
@@ -48,7 +47,8 @@ public class QueryFilterMapper implements SchemaMapper {
}
}
private List<SchemaElementMatch> addValueSchemaElementMatch(List<SchemaElementMatch> candidateElementMatches,
private List<SchemaElementMatch> addValueSchemaElementMatch(QueryContext queryContext,
List<SchemaElementMatch> candidateElementMatches,
QueryFilters queryFilter) {
if (queryFilter == null || CollectionUtils.isEmpty(queryFilter.getFilters())) {
return candidateElementMatches;
@@ -62,10 +62,11 @@ public class QueryFilterMapper implements SchemaMapper {
.name(String.valueOf(filter.getValue()))
.type(SchemaElementType.VALUE)
.bizName(filter.getBizName())
.model(queryContext.getRequest().getModelId())
.build();
SchemaElementMatch schemaElementMatch = SchemaElementMatch.builder()
.element(element)
.frequency(frequency)
.frequency(BaseWordBuilder.DEFAULT_FREQUENCY)
.word(String.valueOf(filter.getValue()))
.similarity(similarity)
.detectWord(Constants.EMPTY)

View File

@@ -118,6 +118,7 @@ public class QueryReqBuilder {
for (Filter dimensionFilter : queryStructReq.getDimensionFilters()) {
QueryStructReq req = new QueryStructReq();
BeanUtils.copyProperties(queryStructReq, req);
req.setModelIds(new HashSet<>(queryStructReq.getModelIds()));
req.setDimensionFilters(Lists.newArrayList(dimensionFilter));
queryStructReqs.add(req);
}