mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-14 13:47:09 +00:00
fix existSegment bug which embedding search not has min-score,so that… (#1410)
This commit is contained in:
@@ -79,15 +79,12 @@ public class EmbeddingServiceImpl implements EmbeddingService {
|
|||||||
Map<String, String> filterCondition = new HashMap<>();
|
Map<String, String> filterCondition = new HashMap<>();
|
||||||
filterCondition.put(TextSegmentConvert.QUERY_ID, queryId);
|
filterCondition.put(TextSegmentConvert.QUERY_ID, queryId);
|
||||||
Filter filter = createCombinedFilter(filterCondition);
|
Filter filter = createCombinedFilter(filterCondition);
|
||||||
|
|
||||||
EmbeddingSearchRequest request = EmbeddingSearchRequest.builder()
|
EmbeddingSearchRequest request = EmbeddingSearchRequest.builder()
|
||||||
.queryEmbedding(embedding).filter(filter).maxResults(1).build();
|
.queryEmbedding(embedding).filter(filter).minScore(1.0d).maxResults(1).build();
|
||||||
|
|
||||||
EmbeddingSearchResult result = embeddingStore.search(request);
|
EmbeddingSearchResult result = embeddingStore.search(request);
|
||||||
List<EmbeddingMatch<TextSegment>> relevant = result.matches();
|
List<EmbeddingMatch<TextSegment>> relevant = result.matches();
|
||||||
|
|
||||||
boolean exists = CollectionUtils.isNotEmpty(relevant);
|
boolean exists = CollectionUtils.isNotEmpty(relevant);
|
||||||
|
|
||||||
cache.put(queryId, exists);
|
cache.put(queryId, exists);
|
||||||
return exists;
|
return exists;
|
||||||
}
|
}
|
||||||
@@ -126,10 +123,8 @@ public class EmbeddingServiceImpl implements EmbeddingService {
|
|||||||
Filter filter = createCombinedFilter(filterCondition);
|
Filter filter = createCombinedFilter(filterCondition);
|
||||||
EmbeddingSearchRequest request = EmbeddingSearchRequest.builder()
|
EmbeddingSearchRequest request = EmbeddingSearchRequest.builder()
|
||||||
.queryEmbedding(embeddedText).filter(filter).maxResults(num).build();
|
.queryEmbedding(embeddedText).filter(filter).maxResults(num).build();
|
||||||
|
|
||||||
EmbeddingSearchResult result = embeddingStore.search(request);
|
EmbeddingSearchResult result = embeddingStore.search(request);
|
||||||
List<EmbeddingMatch<TextSegment>> relevant = result.matches();
|
List<EmbeddingMatch<TextSegment>> relevant = result.matches();
|
||||||
|
|
||||||
RetrieveQueryResult retrieveQueryResult = new RetrieveQueryResult();
|
RetrieveQueryResult retrieveQueryResult = new RetrieveQueryResult();
|
||||||
retrieveQueryResult.setQuery(queryText);
|
retrieveQueryResult.setQuery(queryText);
|
||||||
List<Retrieval> retrievals = new ArrayList<>();
|
List<Retrieval> retrievals = new ArrayList<>();
|
||||||
@@ -154,7 +149,6 @@ public class EmbeddingServiceImpl implements EmbeddingService {
|
|||||||
retrieveQueryResult.setRetrieval(retrievals);
|
retrieveQueryResult.setRetrieval(retrievals);
|
||||||
results.add(retrieveQueryResult);
|
results.add(retrieveQueryResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user