Skip to content

Commit 8c28c6d

Browse files
sobychackomarkpollack
authored andcommitted
Gemfire vector store builder refactoring
1 parent 71584e5 commit 8c28c6d

File tree

8 files changed

+379
-86
lines changed

8 files changed

+379
-86
lines changed

spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreAutoConfiguration.java

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import org.springframework.ai.embedding.BatchingStrategy;
2222
import org.springframework.ai.embedding.EmbeddingModel;
2323
import org.springframework.ai.embedding.TokenCountBatchingStrategy;
24-
import org.springframework.ai.vectorstore.GemFireVectorStore;
24+
import org.springframework.ai.vectorstore.gemfire.GemFireVectorStore;
2525
import org.springframework.ai.vectorstore.observation.VectorStoreObservationConvention;
2626
import org.springframework.beans.factory.ObjectProvider;
2727
import org.springframework.boot.autoconfigure.AutoConfiguration;
@@ -63,20 +63,23 @@ public GemFireVectorStore gemfireVectorStore(EmbeddingModel embeddingModel, GemF
6363
GemFireConnectionDetails gemFireConnectionDetails, ObjectProvider<ObservationRegistry> observationRegistry,
6464
ObjectProvider<VectorStoreObservationConvention> customObservationConvention,
6565
BatchingStrategy batchingStrategy) {
66-
var builder = new GemFireVectorStore.GemFireVectorStoreConfig.Builder();
6766

68-
builder.setHost(gemFireConnectionDetails.getHost())
69-
.setPort(gemFireConnectionDetails.getPort())
70-
.setIndexName(properties.getIndexName())
71-
.setBeamWidth(properties.getBeamWidth())
72-
.setMaxConnections(properties.getMaxConnections())
73-
.setBuckets(properties.getBuckets())
74-
.setVectorSimilarityFunction(properties.getVectorSimilarityFunction())
75-
.setFields(properties.getFields())
76-
.setSslEnabled(properties.isSslEnabled());
77-
return new GemFireVectorStore(builder.build(), embeddingModel, properties.isInitializeSchema(),
78-
observationRegistry.getIfUnique(() -> ObservationRegistry.NOOP),
79-
customObservationConvention.getIfAvailable(() -> null), batchingStrategy);
67+
return GemFireVectorStore.builder()
68+
.host(gemFireConnectionDetails.getHost())
69+
.port(gemFireConnectionDetails.getPort())
70+
.indexName(properties.getIndexName())
71+
.beamWidth(properties.getBeamWidth())
72+
.maxConnections(properties.getMaxConnections())
73+
.buckets(properties.getBuckets())
74+
.vectorSimilarityFunction(properties.getVectorSimilarityFunction())
75+
.fields(properties.getFields())
76+
.sslEnabled(properties.isSslEnabled())
77+
.embeddingModel(embeddingModel)
78+
.initializeSchema(properties.isInitializeSchema())
79+
.observationRegistry(observationRegistry.getIfUnique(() -> ObservationRegistry.NOOP))
80+
.customObservationConvention(customObservationConvention.getIfAvailable(() -> null))
81+
.batchingStrategy(batchingStrategy)
82+
.build();
8083
}
8184

8285
private static class PropertiesGemFireConnectionDetails implements GemFireConnectionDetails {

spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreProperties.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package org.springframework.ai.autoconfigure.vectorstore.gemfire;
1818

1919
import org.springframework.ai.autoconfigure.vectorstore.CommonVectorStoreProperties;
20-
import org.springframework.ai.vectorstore.GemFireVectorStore;
20+
import org.springframework.ai.vectorstore.gemfire.GemFireVectorStore;
2121
import org.springframework.boot.context.properties.ConfigurationProperties;
2222

2323
/**
@@ -39,61 +39,61 @@ public class GemFireVectorStoreProperties extends CommonVectorStoreProperties {
3939
* "spring.ai.vectorstore.gemfire.host";
4040
*
4141
*/
42-
private String host = GemFireVectorStore.GemFireVectorStoreConfig.DEFAULT_HOST;
42+
private String host = GemFireVectorStore.DEFAULT_HOST;
4343

4444
/**
4545
* The port of the GemFire to connect to. To specify a custom port, use
4646
* "spring.ai.vectorstore.gemfire.port";
4747
*/
48-
private int port = GemFireVectorStore.GemFireVectorStoreConfig.DEFAULT_PORT;
48+
private int port = GemFireVectorStore.DEFAULT_PORT;
4949

5050
/**
5151
* The name of the index in the GemFire. To specify a custom index, use
5252
* "spring.ai.vectorstore.gemfire.index-name";
5353
*/
54-
private String indexName = GemFireVectorStore.GemFireVectorStoreConfig.DEFAULT_INDEX_NAME;
54+
private String indexName = GemFireVectorStore.DEFAULT_INDEX_NAME;
5555

5656
/**
5757
* The beam width for similarity queries. Default value is {@code 100}. To specify a
5858
* custom beam width, use "spring.ai.vectorstore.gemfire.beam-width";
5959
*/
60-
private int beamWidth = GemFireVectorStore.GemFireVectorStoreConfig.DEFAULT_BEAM_WIDTH;
60+
private int beamWidth = GemFireVectorStore.DEFAULT_BEAM_WIDTH;
6161

6262
/**
6363
* The maximum number of connections allowed. Default value is {@code 16}. To specify
6464
* custom number of connections, use "spring.ai.vectorstore.gemfire.max-connections";
6565
*/
66-
private int maxConnections = GemFireVectorStore.GemFireVectorStoreConfig.DEFAULT_MAX_CONNECTIONS;
66+
private int maxConnections = GemFireVectorStore.DEFAULT_MAX_CONNECTIONS;
6767

6868
/**
6969
* The similarity function to be used for vector comparisons. Default value is
7070
* {@code "COSINE"}. To specify custom vectorSimilarityFunction, use
7171
* "spring.ai.vectorstore.gemfire.vector-similarity-function";
7272
*
7373
*/
74-
private String vectorSimilarityFunction = GemFireVectorStore.GemFireVectorStoreConfig.DEFAULT_SIMILARITY_FUNCTION;
74+
private String vectorSimilarityFunction = GemFireVectorStore.DEFAULT_SIMILARITY_FUNCTION;
7575

7676
/**
7777
* The fields to be used for queries. Default value is an array containing
7878
* {@code "vector"}. To specify custom fields, use
7979
* "spring.ai.vectorstore.gemfire.fields"
8080
*/
81-
private String[] fields = GemFireVectorStore.GemFireVectorStoreConfig.DEFAULT_FIELDS;
81+
private String[] fields = GemFireVectorStore.DEFAULT_FIELDS;
8282

8383
/**
8484
* The number of buckets to use for partitioning the data. Default value is {@code 0}.
8585
*
8686
* To specify custom buckets, use "spring.ai.vectorstore.gemfire.buckets";
8787
*
8888
*/
89-
private int buckets = GemFireVectorStore.GemFireVectorStoreConfig.DEFAULT_BUCKETS;
89+
private int buckets = GemFireVectorStore.DEFAULT_BUCKETS;
9090

9191
/**
9292
* Set to true if GemFire cluster is ssl enabled
9393
*
9494
* To specify sslEnabled, use "spring.ai.vectorstore.gemfire.ssl-enabled";
9595
*/
96-
private boolean sslEnabled = GemFireVectorStore.GemFireVectorStoreConfig.DEFAULT_SSL_ENABLED;
96+
private boolean sslEnabled = GemFireVectorStore.DEFAULT_SSL_ENABLED;
9797

9898
public int getBeamWidth() {
9999
return this.beamWidth;

spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStoreAutoConfigurationIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import org.springframework.ai.embedding.EmbeddingModel;
3939
import org.springframework.ai.observation.conventions.VectorStoreProvider;
4040
import org.springframework.ai.transformers.TransformersEmbeddingModel;
41-
import org.springframework.ai.vectorstore.GemFireVectorStore;
41+
import org.springframework.ai.vectorstore.gemfire.GemFireVectorStore;
4242
import org.springframework.ai.vectorstore.SearchRequest;
4343
import org.springframework.ai.vectorstore.VectorStore;
4444
import org.springframework.ai.vectorstore.observation.VectorStoreObservationContext;

spring-ai-spring-boot-autoconfigure/src/test/java/org/springframework/ai/autoconfigure/vectorstore/gemfire/GemFireVectorStorePropertiesTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import org.junit.jupiter.api.Test;
2020

21-
import org.springframework.ai.vectorstore.GemFireVectorStore;
21+
import org.springframework.ai.vectorstore.gemfire.GemFireVectorStore;
2222

2323
import static org.assertj.core.api.Assertions.assertThat;
2424

0 commit comments

Comments
 (0)