Skip to content

Commit c8b7596

Browse files
committed
Redis vector store builder refactoring
1 parent dba3eee commit c8b7596

File tree

6 files changed

+265
-95
lines changed

6 files changed

+265
-95
lines changed

spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import org.springframework.ai.embedding.BatchingStrategy;
2323
import org.springframework.ai.embedding.EmbeddingModel;
2424
import org.springframework.ai.embedding.TokenCountBatchingStrategy;
25-
import org.springframework.ai.vectorstore.RedisVectorStore;
26-
import org.springframework.ai.vectorstore.RedisVectorStore.RedisVectorStoreConfig;
25+
import org.springframework.ai.redis.vectorstore.RedisVectorStore;
26+
import org.springframework.ai.redis.vectorstore.RedisVectorStore.RedisVectorStoreConfig;
2727
import org.springframework.ai.vectorstore.observation.VectorStoreObservationConvention;
2828
import org.springframework.beans.factory.ObjectProvider;
2929
import org.springframework.boot.autoconfigure.AutoConfiguration;
@@ -61,15 +61,16 @@ public RedisVectorStore vectorStore(EmbeddingModel embeddingModel, RedisVectorSt
6161
ObjectProvider<VectorStoreObservationConvention> customObservationConvention,
6262
BatchingStrategy batchingStrategy) {
6363

64-
var config = RedisVectorStoreConfig.builder()
65-
.withIndexName(properties.getIndex())
66-
.withPrefix(properties.getPrefix())
64+
return RedisVectorStore
65+
.builder(new JedisPooled(jedisConnectionFactory.getHostName(), jedisConnectionFactory.getPort()))
66+
.embeddingModel(embeddingModel)
67+
.initializeSchema(properties.isInitializeSchema())
68+
.observationRegistry(observationRegistry.getIfUnique(() -> ObservationRegistry.NOOP))
69+
.customObservationConvention(customObservationConvention.getIfAvailable(() -> null))
70+
.batchingStrategy(batchingStrategy)
71+
.indexName(properties.getIndex())
72+
.prefix(properties.getPrefix())
6773
.build();
68-
69-
return new RedisVectorStore(config, embeddingModel,
70-
new JedisPooled(jedisConnectionFactory.getHostName(), jedisConnectionFactory.getPort()),
71-
properties.isInitializeSchema(), observationRegistry.getIfUnique(() -> ObservationRegistry.NOOP),
72-
customObservationConvention.getIfAvailable(() -> null), batchingStrategy);
7374
}
7475

7576
}

vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/RedisFilterExpressionConverter.java renamed to vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/redis/vectorstore/RedisFilterExpressionConverter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.ai.vectorstore;
17+
package org.springframework.ai.redis.vectorstore;
1818

1919
import java.text.MessageFormat;
2020
import java.util.List;
2121
import java.util.Map;
2222
import java.util.function.Function;
2323
import java.util.stream.Collectors;
2424

25-
import org.springframework.ai.vectorstore.RedisVectorStore.MetadataField;
25+
import org.springframework.ai.redis.vectorstore.RedisVectorStore.MetadataField;
2626
import org.springframework.ai.vectorstore.filter.Filter.Expression;
2727
import org.springframework.ai.vectorstore.filter.Filter.ExpressionType;
2828
import org.springframework.ai.vectorstore.filter.Filter.Group;

0 commit comments

Comments
 (0)