[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

@@ -164,7 +164,7 @@ public class EmbeddingServiceImpl implements EmbeddingService {
List<Retrieval> retrievals =
result.matches().stream()
.map(this::convertToRetrieval)
.sorted(Comparator.comparingDouble(Retrieval::getDistance).reversed())
.sorted(Comparator.comparingDouble(Retrieval::getSimilarity))
.limit(num)
.collect(Collectors.toList());
@@ -177,7 +177,7 @@ public class EmbeddingServiceImpl implements EmbeddingService {
private Retrieval convertToRetrieval(EmbeddingMatch<TextSegment> embeddingMatch) {
Retrieval retrieval = new Retrieval();
TextSegment embedded = embeddingMatch.embedded();
retrieval.setDistance(1 - embeddingMatch.score());
retrieval.setSimilarity(embeddingMatch.score());
retrieval.setId(TextSegmentConvert.getQueryId(embedded));
retrieval.setQuery(embedded.text());

View File

@@ -12,7 +12,7 @@ public class Retrieval {
protected String id;
protected double distance;
protected double similarity;
protected String query;
@@ -35,7 +35,7 @@ public class Retrieval {
return false;
}
Retrieval retrieval = (Retrieval) o;
return Double.compare(retrieval.distance, distance) == 0
return Double.compare(retrieval.similarity, similarity) == 0
&& Objects.equal(id, retrieval.id)
&& Objects.equal(query, retrieval.query)
&& Objects.equal(metadata, retrieval.metadata);
@@ -43,6 +43,6 @@ public class Retrieval {
@Override
public int hashCode() {
return Objects.hashCode(id, distance, query, metadata);
return Objects.hashCode(id, similarity, query, metadata);
}
}