Skip to content

Commit 899a6c4

Browse files
authored
Remove deprecated EmbeddingStore.findRelevant API (#121)
## Change This is a part of langchain4j/langchain4j#2750 ## General checklist - [ ] There are no breaking changes - [ ] I have added unit and/or integration tests for my change - [ ] The tests cover both positive and negative cases - [ ] I have manually run all the unit and integration tests in the module I have added/changed, and they are all green <!-- Before adding documentation and example(s) (below), please wait until the PR is reviewed and approved. --> - [ ] I have added/updated the [documentation](https://github.com/langchain4j/langchain4j/tree/main/docs/docs) - [ ] I have added an example in the [examples repo](https://github.com/langchain4j/langchain4j-examples) (only for "big" features
1 parent c647e3a commit 899a6c4

File tree

2 files changed

+18
-17
lines changed

2 files changed

+18
-17
lines changed

langchain4j-azure-ai-search-spring-boot-starter/src/test/java/dev/langchain4j/azure/aisearch/spring/AutoConfigIT.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import dev.langchain4j.rag.content.retriever.azure.search.AzureAiSearchQueryType;
1616
import dev.langchain4j.rag.query.Query;
1717
import dev.langchain4j.store.embedding.EmbeddingMatch;
18+
import dev.langchain4j.store.embedding.EmbeddingSearchRequest;
1819
import dev.langchain4j.store.embedding.EmbeddingStore;
1920
import dev.langchain4j.store.embedding.azure.search.AzureAiSearchEmbeddingStore;
2021
import org.junit.jupiter.api.AfterEach;
@@ -237,8 +238,12 @@ void should_provide_ai_search_embedding_store() {
237238
embeddingStore.add(embedding, textSegment);
238239
}
239240

240-
Embedding relevantEmbedding = embeddingModel.embed("fruit").content();
241-
List<EmbeddingMatch<TextSegment>> relevant = embeddingStore.findRelevant(relevantEmbedding, 3);
241+
EmbeddingSearchRequest searchRequest = EmbeddingSearchRequest.builder()
242+
.queryEmbedding(embeddingModel.embed("fruit").content())
243+
.maxResults(3)
244+
.build();
245+
246+
List<EmbeddingMatch<TextSegment>> relevant = embeddingStore.search(searchRequest).matches();
242247
assertThat(relevant).hasSize(3);
243248
// TODO uncomment after https://github.com/langchain4j/langchain4j/issues/1617 is closed
244249
// assertThat(relevant.get(0).embedding()).isNotNull();

langchain4j-spring-boot-tests/src/test/java/dev/langchain4j/store/embedding/spring/EmbeddingStoreAutoConfigurationIT.java

+11-15
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,11 @@ void should_provide_embedding_store_without_embedding_model() {
6161

6262
awaitUntilPersisted(context);
6363

64-
List<EmbeddingMatch<TextSegment>> relevant = embeddingStore.findRelevant(embedding, 10);
64+
EmbeddingSearchRequest searchRequest = EmbeddingSearchRequest.builder()
65+
.queryEmbedding(embedding)
66+
.maxResults(10)
67+
.build();
68+
List<EmbeddingMatch<TextSegment>> relevant = embeddingStore.search(searchRequest).matches();
6569
assertThat(relevant).hasSize(1);
6670

6771
EmbeddingMatch<TextSegment> match = relevant.get(0);
@@ -90,23 +94,15 @@ void should_provide_embedding_store_with_embedding_model() {
9094

9195
awaitUntilPersisted(context);
9296

93-
List<EmbeddingMatch<TextSegment>> relevant = embeddingStore.findRelevant(embedding, 10);
94-
assertThat(relevant).hasSize(1);
95-
96-
EmbeddingMatch<TextSegment> match = relevant.get(0);
97-
assertThat(match.score()).isCloseTo(1, withPercentage(1));
98-
assertThat(match.embeddingId()).isEqualTo(id);
99-
assertThat(match.embedding()).isEqualTo(embedding);
100-
assertThat(match.embedded()).isEqualTo(segment);
101-
102-
// New API
103-
EmbeddingSearchResult<TextSegment> searchResult = embeddingStore.search(EmbeddingSearchRequest.builder()
97+
EmbeddingSearchRequest searchRequest = EmbeddingSearchRequest.builder()
10498
.queryEmbedding(embedding)
10599
.maxResults(10)
106-
.build());
100+
.build();
101+
102+
List<EmbeddingMatch<TextSegment>> matches = embeddingStore.search(searchRequest).matches();
103+
assertThat(matches).hasSize(1);
107104

108-
assertThat(searchResult.matches()).hasSize(1);
109-
match = searchResult.matches().get(0);
105+
EmbeddingMatch<TextSegment> match = matches.get(0);
110106
assertThat(match.score()).isCloseTo(1, withPercentage(1));
111107
assertThat(match.embeddingId()).isEqualTo(id);
112108
assertThat(match.embedding()).isEqualTo(embedding);

0 commit comments

Comments
 (0)