diff --git a/common/src/main/java/com/tencent/supersonic/common/service/impl/EmbeddingServiceImpl.java b/common/src/main/java/com/tencent/supersonic/common/service/impl/EmbeddingServiceImpl.java index c486a59c4..ea6b88363 100644 --- a/common/src/main/java/com/tencent/supersonic/common/service/impl/EmbeddingServiceImpl.java +++ b/common/src/main/java/com/tencent/supersonic/common/service/impl/EmbeddingServiceImpl.java @@ -49,7 +49,7 @@ public class EmbeddingServiceImpl implements EmbeddingService { try { EmbeddingModel embeddingModel = ModelProvider.getEmbeddingModel(); Embedding embedding = embeddingModel.embed(question).content(); - boolean existSegment = existSegment(embeddingStore, query, embedding); + boolean existSegment = existSegment(collectionName,embeddingStore, query, embedding); if (existSegment) { continue; } @@ -62,14 +62,14 @@ public class EmbeddingServiceImpl implements EmbeddingService { } } - private boolean existSegment(EmbeddingStore embeddingStore, TextSegment query, + private boolean existSegment(String collectionName,EmbeddingStore embeddingStore, TextSegment query, Embedding embedding) { String queryId = TextSegmentConvert.getQueryId(query); if (queryId == null) { return false; } // Check cache first - Boolean cachedResult = cache.getIfPresent(queryId); + Boolean cachedResult = cache.getIfPresent(collectionName+queryId); if (cachedResult != null) { return cachedResult; } @@ -82,7 +82,7 @@ public class EmbeddingServiceImpl implements EmbeddingService { EmbeddingSearchResult result = embeddingStore.search(request); List> relevant = result.matches(); boolean exists = CollectionUtils.isNotEmpty(relevant); - cache.put(queryId, exists); + cache.put(collectionName+queryId, exists); return exists; }