[improvement](chat) Optimize the Schema Mapping rules (#1649)

This commit is contained in:
lexluo09
2024-09-10 22:58:34 +08:00
committed by GitHub
parent 183caf7931
commit 879696e493
20 changed files with 202 additions and 122 deletions

View File

@@ -51,13 +51,13 @@ public class EmbeddingRecallRecognizer extends PluginRecognizer {
continue;
}
plugin.setParseMode(ParseMode.EMBEDDING_RECALL);
double distance = embeddingRetrieval.getDistance();
double score = parseContext.getQueryText().length() * (1 - distance);
double similarity = embeddingRetrieval.getSimilarity();
double score = parseContext.getQueryText().length() * similarity;
return PluginRecallResult.builder()
.plugin(plugin)
.dataSetIds(dataSetList)
.score(score)
.distance(distance)
.distance(similarity)
.build();
}
}
@@ -73,7 +73,9 @@ public class EmbeddingRecallRecognizer extends PluginRecognizer {
if (!CollectionUtils.isEmpty(embeddingRetrievals)) {
embeddingRetrievals =
embeddingRetrievals.stream()
.sorted(Comparator.comparingDouble(o -> Math.abs(o.getDistance())))
.sorted(
Comparator.comparingDouble(
o -> Math.abs(o.getSimilarity())))
.collect(Collectors.toList());
embeddingResp.setRetrieval(embeddingRetrievals);
}

View File

@@ -65,7 +65,7 @@ public class MetricRecommendProcessor implements ExecuteResultProcessor {
List<Retrieval> retrievals =
retrieveQueryResults.stream()
.flatMap(retrieveQueryResult -> retrieveQueryResult.getRetrieval().stream())
.sorted(Comparator.comparingDouble(Retrieval::getDistance))
.sorted(Comparator.comparingDouble(Retrieval::getSimilarity))
.distinct()
.collect(Collectors.toList());
Set<Long> metricIds =