From 26fab03c2c6fc148326c9a4cca91e58d7573e8d9 Mon Sep 17 00:00:00 2001 From: Ilayaperumal Gopinathan Date: Wed, 18 Dec 2024 14:34:15 +0000 Subject: [PATCH] Refactor VectorStoreObservationContext builder methods MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit deprecates builder methods with the "with" prefix in the VectorStoreObservationContext class and introduces new methods without the prefix for a cleaner API. For example: withCollectionName() → collectionName() withDimensions() → dimensions() withNamespace() → namespace() The old methods are marked as deprecated for maintaining backward compatibility. All vector store implementations have been updated to use the new method names. --- .../ai/vectorstore/SimpleVectorStore.java | 6 +- .../AbstractObservationVectorStore.java | 2 +- .../VectorStoreObservationContext.java | 64 +++++++++++++++++++ ...VectorStoreObservationConventionTests.java | 12 ++-- ...eQueryResponseObservationHandlerTests.java | 2 +- .../ai/vectorstore/CosmosDBVectorStore.java | 9 ++- .../vectorstore/azure/AzureVectorStore.java | 7 +- .../cassandra/CassandraVectorStore.java | 8 +-- .../chroma/vectorstore/ChromaVectorStore.java | 4 +- .../ElasticsearchVectorStore.java | 6 +- .../ai/vectorstore/GemFireVectorStore.java | 6 +- .../ai/vectorstore/HanaCloudVectorStore.java | 7 +- .../mariadb/MariaDBVectorStore.java | 8 +-- .../milvus/vectorstore/MilvusVectorStore.java | 8 +-- .../atlas/MongoDBAtlasVectorStore.java | 6 +- .../vectorstore/neo4j/Neo4jVectorStore.java | 6 +- .../opensearch/OpenSearchVectorStore.java | 6 +- .../ai/vectorstore/OracleVectorStore.java | 7 +- .../vectorstore/pgvector/PgVectorStore.java | 8 +-- .../ai/vectorstore/PineconeVectorStore.java | 8 +-- .../vectorstore/qdrant/QdrantVectorStore.java | 4 +- .../vectorstore/redis/RedisVectorStore.java | 8 +-- .../typesense/TypesenseVectorStore.java | 8 +-- .../weaviate/WeaviateVectorStore.java | 4 +- 24 files changed, 137 insertions(+), 77 deletions(-) diff --git a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/SimpleVectorStore.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/SimpleVectorStore.java index a85360756..67b11fde5 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/SimpleVectorStore.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/SimpleVectorStore.java @@ -246,9 +246,9 @@ public class SimpleVectorStore extends AbstractObservationVectorStore { public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.SIMPLE.value(), operationName) - .withDimensions(this.embeddingModel.dimensions()) - .withCollectionName("in-memory-map") - .withSimilarityMetric(VectorStoreSimilarityMetric.COSINE.value()); + .dimensions(this.embeddingModel.dimensions()) + .collectionName("in-memory-map") + .similarityMetric(VectorStoreSimilarityMetric.COSINE.value()); } public static final class EmbeddingMath { diff --git a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/AbstractObservationVectorStore.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/AbstractObservationVectorStore.java index 17a15a5e5..81e704d99 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/AbstractObservationVectorStore.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/AbstractObservationVectorStore.java @@ -111,7 +111,7 @@ public abstract class AbstractObservationVectorStore implements VectorStore { VectorStoreObservationContext searchObservationContext = this .createObservationContextBuilder(VectorStoreObservationContext.Operation.QUERY.value()) - .withQueryRequest(request) + .queryRequest(request) .build(); return VectorStoreObservationDocumentation.AI_VECTOR_STORE diff --git a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationContext.java b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationContext.java index 832d3355f..b02dca462 100644 --- a/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationContext.java +++ b/spring-ai-core/src/main/java/org/springframework/ai/vectorstore/observation/VectorStoreObservationContext.java @@ -30,6 +30,7 @@ import org.springframework.util.Assert; * * @author Christian Tzolov * @author Thomas Vitale + * @author Ilayaperumal Gopinathan * @since 1.0.0 */ public class VectorStoreObservationContext extends Observation.Context { @@ -184,36 +185,99 @@ public class VectorStoreObservationContext extends Observation.Context { this.context = new VectorStoreObservationContext(databaseSystem, operationName); } + public Builder collectionName(String collectionName) { + this.context.setCollectionName(collectionName); + return this; + } + + public Builder dimensions(Integer dimensions) { + this.context.setDimensions(dimensions); + return this; + } + + public Builder fieldName(@Nullable String fieldName) { + this.context.setFieldName(fieldName); + return this; + } + + public Builder namespace(String namespace) { + this.context.setNamespace(namespace); + return this; + } + + public Builder queryRequest(SearchRequest request) { + this.context.setQueryRequest(request); + return this; + } + + public Builder queryResponse(List documents) { + this.context.setQueryResponse(documents); + return this; + } + + public Builder similarityMetric(String similarityMetric) { + this.context.setSimilarityMetric(similarityMetric); + return this; + } + + /** + * @deprecated use {@link #collectionName(String)} instead. + */ + @Deprecated(forRemoval = true, since = "1.0.0-M5") public Builder withCollectionName(String collectionName) { this.context.setCollectionName(collectionName); return this; } + /** + * @deprecated use {@link #dimensions(Integer)} instead. + */ + @Deprecated(forRemoval = true, since = "1.0.0-M5") public Builder withDimensions(Integer dimensions) { this.context.setDimensions(dimensions); return this; } + /** + * @deprecated use {@link #fieldName(String)} instead. + */ + @Deprecated(forRemoval = true, since = "1.0.0-M5") public Builder withFieldName(@Nullable String fieldName) { this.context.setFieldName(fieldName); return this; } + /** + * @deprecated use {@link #namespace(String)} instead. + */ + @Deprecated(forRemoval = true, since = "1.0.0-M5") public Builder withNamespace(String namespace) { this.context.setNamespace(namespace); return this; } + /** + * @deprecated use {@link #queryRequest(SearchRequest)} instead. + */ + @Deprecated(forRemoval = true, since = "1.0.0-M5") public Builder withQueryRequest(SearchRequest request) { this.context.setQueryRequest(request); return this; } + /** + * @deprecated use {@link #queryResponse(List)} instead. + */ + @Deprecated(forRemoval = true, since = "1.0.0-M5") public Builder withQueryResponse(List documents) { this.context.setQueryResponse(documents); return this; } + /** + * @deprecated use {@link #similarityMetric(String)} instead. + */ + @Deprecated(forRemoval = true, since = "1.0.0-M5") public Builder withSimilarityMetric(String similarityMetric) { this.context.setSimilarityMetric(similarityMetric); return this; diff --git a/spring-ai-core/src/test/java/org/springframework/ai/vectorstore/observation/DefaultVectorStoreObservationConventionTests.java b/spring-ai-core/src/test/java/org/springframework/ai/vectorstore/observation/DefaultVectorStoreObservationConventionTests.java index 981ac04b1..aa6c9f4f3 100644 --- a/spring-ai-core/src/test/java/org/springframework/ai/vectorstore/observation/DefaultVectorStoreObservationConventionTests.java +++ b/spring-ai-core/src/test/java/org/springframework/ai/vectorstore/observation/DefaultVectorStoreObservationConventionTests.java @@ -78,12 +78,12 @@ class DefaultVectorStoreObservationConventionTests { void shouldHaveOptionalKeyValues() { VectorStoreObservationContext observationContext = VectorStoreObservationContext .builder("my-database", VectorStoreObservationContext.Operation.QUERY) - .withCollectionName("COLLECTION_NAME") - .withDimensions(696) - .withFieldName("FIELD_NAME") - .withNamespace("NAMESPACE") - .withSimilarityMetric("SIMILARITY_METRIC") - .withQueryRequest(SearchRequest.query("VDB QUERY").withFilterExpression("country == 'UK' && year >= 2020")) + .collectionName("COLLECTION_NAME") + .dimensions(696) + .fieldName("FIELD_NAME") + .namespace("NAMESPACE") + .similarityMetric("SIMILARITY_METRIC") + .queryRequest(SearchRequest.query("VDB QUERY").withFilterExpression("country == 'UK' && year >= 2020")) .build(); List queryResponseDocs = List.of(new Document("doc1"), new Document("doc2")); diff --git a/spring-ai-core/src/test/java/org/springframework/ai/vectorstore/observation/VectorStoreQueryResponseObservationHandlerTests.java b/spring-ai-core/src/test/java/org/springframework/ai/vectorstore/observation/VectorStoreQueryResponseObservationHandlerTests.java index 499c3cc02..8b79e7bf7 100644 --- a/spring-ai-core/src/test/java/org/springframework/ai/vectorstore/observation/VectorStoreQueryResponseObservationHandlerTests.java +++ b/spring-ai-core/src/test/java/org/springframework/ai/vectorstore/observation/VectorStoreQueryResponseObservationHandlerTests.java @@ -44,7 +44,7 @@ class VectorStoreQueryResponseObservationHandlerTests { void whenCompletionWithTextThenSpanEvent() { var observationContext = VectorStoreObservationContext .builder("db", VectorStoreObservationContext.Operation.ADD) - .withQueryResponse(List.of(new Document("hello"), new Document("other-side"))) + .queryResponse(List.of(new Document("hello"), new Document("other-side"))) .build(); var sdkTracer = SdkTracerProvider.builder().build().get("test"); var otelTracer = new OtelTracer(sdkTracer, new OtelCurrentTraceContext(), null); diff --git a/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStore.java b/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStore.java index bde2eea62..b968c16a4 100644 --- a/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStore.java +++ b/vector-stores/spring-ai-azure-cosmos-db-store/src/main/java/org/springframework/ai/vectorstore/CosmosDBVectorStore.java @@ -18,7 +18,6 @@ package org.springframework.ai.vectorstore; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -354,10 +353,10 @@ public class CosmosDBVectorStore extends AbstractObservationVectorStore implemen @Override public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.COSMOSDB.value(), operationName) - .withCollectionName(this.container.getId()) - .withDimensions(this.embeddingModel.dimensions()) - .withNamespace(this.container.getDatabase().getId()) - .withSimilarityMetric("cosine"); + .collectionName(this.container.getId()) + .dimensions(this.embeddingModel.dimensions()) + .namespace(this.container.getDatabase().getId()) + .similarityMetric("cosine"); } } diff --git a/vector-stores/spring-ai-azure-store/src/main/java/org/springframework/ai/vectorstore/azure/AzureVectorStore.java b/vector-stores/spring-ai-azure-store/src/main/java/org/springframework/ai/vectorstore/azure/AzureVectorStore.java index 6931adea5..1954971f0 100644 --- a/vector-stores/spring-ai-azure-store/src/main/java/org/springframework/ai/vectorstore/azure/AzureVectorStore.java +++ b/vector-stores/spring-ai-azure-store/src/main/java/org/springframework/ai/vectorstore/azure/AzureVectorStore.java @@ -59,7 +59,6 @@ import org.springframework.ai.vectorstore.SearchRequest; import org.springframework.ai.vectorstore.filter.FilterExpressionConverter; import org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore; import org.springframework.ai.vectorstore.observation.VectorStoreObservationContext; -import org.springframework.ai.vectorstore.observation.VectorStoreObservationContext.Builder; import org.springframework.ai.vectorstore.observation.VectorStoreObservationConvention; import org.springframework.beans.factory.InitializingBean; import org.springframework.util.Assert; @@ -390,9 +389,9 @@ public class AzureVectorStore extends AbstractObservationVectorStore implements public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.AZURE.value(), operationName) - .withCollectionName(this.indexName) - .withDimensions(this.embeddingModel.dimensions()) - .withSimilarityMetric(this.initializeSchema ? VectorStoreSimilarityMetric.COSINE.value() : null); + .collectionName(this.indexName) + .dimensions(this.embeddingModel.dimensions()) + .similarityMetric(this.initializeSchema ? VectorStoreSimilarityMetric.COSINE.value() : null); } public record MetadataField(String name, SearchFieldDataType fieldType) { diff --git a/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/vectorstore/cassandra/CassandraVectorStore.java b/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/vectorstore/cassandra/CassandraVectorStore.java index f5c4e1f0c..b6790a367 100644 --- a/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/vectorstore/cassandra/CassandraVectorStore.java +++ b/vector-stores/spring-ai-cassandra-store/src/main/java/org/springframework/ai/vectorstore/cassandra/CassandraVectorStore.java @@ -502,10 +502,10 @@ public class CassandraVectorStore extends AbstractObservationVectorStore impleme @Override public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.CASSANDRA.value(), operationName) - .withCollectionName(this.schema.table()) - .withDimensions(this.embeddingModel.dimensions()) - .withNamespace(this.schema.keyspace()) - .withSimilarityMetric(getSimilarityMetric()); + .collectionName(this.schema.table()) + .dimensions(this.embeddingModel.dimensions()) + .namespace(this.schema.keyspace()) + .similarityMetric(getSimilarityMetric()); } private String getSimilarityMetric() { diff --git a/vector-stores/spring-ai-chroma-store/src/main/java/org/springframework/ai/chroma/vectorstore/ChromaVectorStore.java b/vector-stores/spring-ai-chroma-store/src/main/java/org/springframework/ai/chroma/vectorstore/ChromaVectorStore.java index 80898ac17..1773804d1 100644 --- a/vector-stores/spring-ai-chroma-store/src/main/java/org/springframework/ai/chroma/vectorstore/ChromaVectorStore.java +++ b/vector-stores/spring-ai-chroma-store/src/main/java/org/springframework/ai/chroma/vectorstore/ChromaVectorStore.java @@ -272,8 +272,8 @@ public class ChromaVectorStore extends AbstractObservationVectorStore implements @Override public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.CHROMA.value(), operationName) - .withDimensions(this.embeddingModel.dimensions()) - .withCollectionName(this.collectionName + ":" + this.collectionId); + .dimensions(this.embeddingModel.dimensions()) + .collectionName(this.collectionName + ":" + this.collectionId); } public static class ChromaBuilder extends AbstractVectorStoreBuilder { diff --git a/vector-stores/spring-ai-elasticsearch-store/src/main/java/org/springframework/ai/vectorstore/elasticsearch/ElasticsearchVectorStore.java b/vector-stores/spring-ai-elasticsearch-store/src/main/java/org/springframework/ai/vectorstore/elasticsearch/ElasticsearchVectorStore.java index 9bfe2e9b5..52f84ad11 100644 --- a/vector-stores/spring-ai-elasticsearch-store/src/main/java/org/springframework/ai/vectorstore/elasticsearch/ElasticsearchVectorStore.java +++ b/vector-stores/spring-ai-elasticsearch-store/src/main/java/org/springframework/ai/vectorstore/elasticsearch/ElasticsearchVectorStore.java @@ -362,9 +362,9 @@ public class ElasticsearchVectorStore extends AbstractObservationVectorStore imp @Override public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.ELASTICSEARCH.value(), operationName) - .withCollectionName(this.options.getIndexName()) - .withDimensions(this.embeddingModel.dimensions()) - .withSimilarityMetric(getSimilarityMetric()); + .collectionName(this.options.getIndexName()) + .dimensions(this.embeddingModel.dimensions()) + .similarityMetric(getSimilarityMetric()); } private String getSimilarityMetric() { diff --git a/vector-stores/spring-ai-gemfire-store/src/main/java/org/springframework/ai/vectorstore/GemFireVectorStore.java b/vector-stores/spring-ai-gemfire-store/src/main/java/org/springframework/ai/vectorstore/GemFireVectorStore.java index 76deb5af0..e32ca4ad6 100644 --- a/vector-stores/spring-ai-gemfire-store/src/main/java/org/springframework/ai/vectorstore/GemFireVectorStore.java +++ b/vector-stores/spring-ai-gemfire-store/src/main/java/org/springframework/ai/vectorstore/GemFireVectorStore.java @@ -340,9 +340,9 @@ public class GemFireVectorStore extends AbstractObservationVectorStore implement @Override public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.GEMFIRE.value(), operationName) - .withCollectionName(this.indexName) - .withDimensions(this.embeddingModel.dimensions()) - .withFieldName(EMBEDDINGS); + .collectionName(this.indexName) + .dimensions(this.embeddingModel.dimensions()) + .fieldName(EMBEDDINGS); } public static class CreateRequest { diff --git a/vector-stores/spring-ai-hanadb-store/src/main/java/org/springframework/ai/vectorstore/HanaCloudVectorStore.java b/vector-stores/spring-ai-hanadb-store/src/main/java/org/springframework/ai/vectorstore/HanaCloudVectorStore.java index 2aa7f984e..e47eb213f 100644 --- a/vector-stores/spring-ai-hanadb-store/src/main/java/org/springframework/ai/vectorstore/HanaCloudVectorStore.java +++ b/vector-stores/spring-ai-hanadb-store/src/main/java/org/springframework/ai/vectorstore/HanaCloudVectorStore.java @@ -36,7 +36,6 @@ import org.springframework.ai.observation.conventions.VectorStoreSimilarityMetri import org.springframework.ai.util.JacksonUtils; import org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore; import org.springframework.ai.vectorstore.observation.VectorStoreObservationContext; -import org.springframework.ai.vectorstore.observation.VectorStoreObservationContext.Builder; import org.springframework.ai.vectorstore.observation.VectorStoreObservationConvention; /** @@ -175,9 +174,9 @@ public class HanaCloudVectorStore extends AbstractObservationVectorStore { public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.HANA.value(), operationName) - .withDimensions(this.embeddingModel.dimensions()) - .withCollectionName(this.config.getTableName()) - .withSimilarityMetric(VectorStoreSimilarityMetric.COSINE.value()); + .dimensions(this.embeddingModel.dimensions()) + .collectionName(this.config.getTableName()) + .similarityMetric(VectorStoreSimilarityMetric.COSINE.value()); } } diff --git a/vector-stores/spring-ai-mariadb-store/src/main/java/org/springframework/ai/vectorstore/mariadb/MariaDBVectorStore.java b/vector-stores/spring-ai-mariadb-store/src/main/java/org/springframework/ai/vectorstore/mariadb/MariaDBVectorStore.java index 417acc962..18f589579 100644 --- a/vector-stores/spring-ai-mariadb-store/src/main/java/org/springframework/ai/vectorstore/mariadb/MariaDBVectorStore.java +++ b/vector-stores/spring-ai-mariadb-store/src/main/java/org/springframework/ai/vectorstore/mariadb/MariaDBVectorStore.java @@ -504,10 +504,10 @@ public class MariaDBVectorStore extends AbstractObservationVectorStore implement public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.MARIADB.value(), operationName) - .withCollectionName(this.vectorTableName) - .withDimensions(this.embeddingDimensions()) - .withNamespace(this.schemaName) - .withSimilarityMetric(getSimilarityMetric()); + .collectionName(this.vectorTableName) + .dimensions(this.embeddingDimensions()) + .namespace(this.schemaName) + .similarityMetric(getSimilarityMetric()); } private String getSimilarityMetric() { diff --git a/vector-stores/spring-ai-milvus-store/src/main/java/org/springframework/ai/milvus/vectorstore/MilvusVectorStore.java b/vector-stores/spring-ai-milvus-store/src/main/java/org/springframework/ai/milvus/vectorstore/MilvusVectorStore.java index 3b6d1d08a..7976b31bb 100644 --- a/vector-stores/spring-ai-milvus-store/src/main/java/org/springframework/ai/milvus/vectorstore/MilvusVectorStore.java +++ b/vector-stores/spring-ai-milvus-store/src/main/java/org/springframework/ai/milvus/vectorstore/MilvusVectorStore.java @@ -564,10 +564,10 @@ public class MilvusVectorStore extends AbstractObservationVectorStore implements String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.MILVUS.value(), operationName) - .withCollectionName(this.collectionName) - .withDimensions(this.embeddingModel.dimensions()) - .withSimilarityMetric(getSimilarityMetric()) - .withNamespace(this.databaseName); + .collectionName(this.collectionName) + .dimensions(this.embeddingModel.dimensions()) + .similarityMetric(getSimilarityMetric()) + .namespace(this.databaseName); } private String getSimilarityMetric() { diff --git a/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStore.java b/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStore.java index a618f444b..067a7292d 100644 --- a/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStore.java +++ b/vector-stores/spring-ai-mongodb-atlas-store/src/main/java/org/springframework/ai/vectorstore/mongodb/atlas/MongoDBAtlasVectorStore.java @@ -345,9 +345,9 @@ public class MongoDBAtlasVectorStore extends AbstractObservationVectorStore impl public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.MONGODB.value(), operationName) - .withCollectionName(this.collectionName) - .withDimensions(this.embeddingModel.dimensions()) - .withFieldName(this.pathName); + .collectionName(this.collectionName) + .dimensions(this.embeddingModel.dimensions()) + .fieldName(this.pathName); } /** diff --git a/vector-stores/spring-ai-neo4j-store/src/main/java/org/springframework/ai/vectorstore/neo4j/Neo4jVectorStore.java b/vector-stores/spring-ai-neo4j-store/src/main/java/org/springframework/ai/vectorstore/neo4j/Neo4jVectorStore.java index f8e9edbbe..b91278405 100644 --- a/vector-stores/spring-ai-neo4j-store/src/main/java/org/springframework/ai/vectorstore/neo4j/Neo4jVectorStore.java +++ b/vector-stores/spring-ai-neo4j-store/src/main/java/org/springframework/ai/vectorstore/neo4j/Neo4jVectorStore.java @@ -373,9 +373,9 @@ public class Neo4jVectorStore extends AbstractObservationVectorStore implements public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.NEO4J.value(), operationName) - .withCollectionName(this.indexName) - .withDimensions(this.embeddingModel.dimensions()) - .withSimilarityMetric(getSimilarityMetric()); + .collectionName(this.indexName) + .dimensions(this.embeddingModel.dimensions()) + .similarityMetric(getSimilarityMetric()); } private String getSimilarityMetric() { diff --git a/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/opensearch/OpenSearchVectorStore.java b/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/opensearch/OpenSearchVectorStore.java index 5a048b29b..7a9bd4b41 100644 --- a/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/opensearch/OpenSearchVectorStore.java +++ b/vector-stores/spring-ai-opensearch-store/src/main/java/org/springframework/ai/vectorstore/opensearch/OpenSearchVectorStore.java @@ -418,9 +418,9 @@ public class OpenSearchVectorStore extends AbstractObservationVectorStore implem @Override public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.OPENSEARCH.value(), operationName) - .withCollectionName(this.index) - .withDimensions(this.embeddingModel.dimensions()) - .withSimilarityMetric(getSimilarityFunction()); + .collectionName(this.index) + .dimensions(this.embeddingModel.dimensions()) + .similarityMetric(getSimilarityFunction()); } private String getSimilarityFunction() { diff --git a/vector-stores/spring-ai-oracle-store/src/main/java/org/springframework/ai/vectorstore/OracleVectorStore.java b/vector-stores/spring-ai-oracle-store/src/main/java/org/springframework/ai/vectorstore/OracleVectorStore.java index 08d8e227e..36a03fcfd 100644 --- a/vector-stores/spring-ai-oracle-store/src/main/java/org/springframework/ai/vectorstore/OracleVectorStore.java +++ b/vector-stores/spring-ai-oracle-store/src/main/java/org/springframework/ai/vectorstore/OracleVectorStore.java @@ -49,7 +49,6 @@ import org.springframework.ai.observation.conventions.VectorStoreSimilarityMetri import org.springframework.ai.vectorstore.filter.FilterExpressionConverter; import org.springframework.ai.vectorstore.observation.AbstractObservationVectorStore; import org.springframework.ai.vectorstore.observation.VectorStoreObservationContext; -import org.springframework.ai.vectorstore.observation.VectorStoreObservationContext.Builder; import org.springframework.ai.vectorstore.observation.VectorStoreObservationConvention; import org.springframework.beans.factory.InitializingBean; import org.springframework.jdbc.core.BatchPreparedStatementSetter; @@ -551,9 +550,9 @@ public class OracleVectorStore extends AbstractObservationVectorStore implements @Override public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.ORACLE.value(), operationName) - .withDimensions(this.embeddingModel.dimensions()) - .withCollectionName(this.getTableName()) - .withSimilarityMetric(getSimilarityMetric()); + .dimensions(this.embeddingModel.dimensions()) + .collectionName(this.getTableName()) + .similarityMetric(getSimilarityMetric()); } private String getSimilarityMetric() { diff --git a/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector/PgVectorStore.java b/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector/PgVectorStore.java index 0b6d869fc..cdd055316 100644 --- a/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector/PgVectorStore.java +++ b/vector-stores/spring-ai-pgvector-store/src/main/java/org/springframework/ai/vectorstore/pgvector/PgVectorStore.java @@ -494,10 +494,10 @@ public class PgVectorStore extends AbstractObservationVectorStore implements Ini public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.PG_VECTOR.value(), operationName) - .withCollectionName(this.vectorTableName) - .withDimensions(this.embeddingDimensions()) - .withNamespace(this.schemaName) - .withSimilarityMetric(getSimilarityMetric()); + .collectionName(this.vectorTableName) + .dimensions(this.embeddingDimensions()) + .namespace(this.schemaName) + .similarityMetric(getSimilarityMetric()); } private String getSimilarityMetric() { diff --git a/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStore.java b/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStore.java index dbd312f57..0d267619e 100644 --- a/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStore.java +++ b/vector-stores/spring-ai-pinecone-store/src/main/java/org/springframework/ai/vectorstore/PineconeVectorStore.java @@ -287,10 +287,10 @@ public class PineconeVectorStore extends AbstractObservationVectorStore { public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.PINECONE.value(), operationName) - .withCollectionName(this.pineconeIndexName) - .withDimensions(this.embeddingModel.dimensions()) - .withNamespace(this.pineconeNamespace) - .withFieldName(this.pineconeContentFieldName); + .collectionName(this.pineconeIndexName) + .dimensions(this.embeddingModel.dimensions()) + .namespace(this.pineconeNamespace) + .fieldName(this.pineconeContentFieldName); } /** diff --git a/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantVectorStore.java b/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantVectorStore.java index fdc788372..0630fa160 100644 --- a/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantVectorStore.java +++ b/vector-stores/spring-ai-qdrant-store/src/main/java/org/springframework/ai/vectorstore/qdrant/QdrantVectorStore.java @@ -359,8 +359,8 @@ public class QdrantVectorStore extends AbstractObservationVectorStore implements public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.QDRANT.value(), operationName) - .withDimensions(this.embeddingModel.dimensions()) - .withCollectionName(this.collectionName); + .dimensions(this.embeddingModel.dimensions()) + .collectionName(this.collectionName); } diff --git a/vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/redis/RedisVectorStore.java b/vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/redis/RedisVectorStore.java index 528500943..ad801d089 100644 --- a/vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/redis/RedisVectorStore.java +++ b/vector-stores/spring-ai-redis-store/src/main/java/org/springframework/ai/vectorstore/redis/RedisVectorStore.java @@ -454,10 +454,10 @@ public class RedisVectorStore extends AbstractObservationVectorStore implements public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.REDIS.value(), operationName) - .withCollectionName(this.indexName) - .withDimensions(this.embeddingModel.dimensions()) - .withFieldName(this.embeddingFieldName) - .withSimilarityMetric(VectorStoreSimilarityMetric.COSINE.value()); + .collectionName(this.indexName) + .dimensions(this.embeddingModel.dimensions()) + .fieldName(this.embeddingFieldName) + .similarityMetric(VectorStoreSimilarityMetric.COSINE.value()); } diff --git a/vector-stores/spring-ai-typesense-store/src/main/java/org/springframework/ai/vectorstore/typesense/TypesenseVectorStore.java b/vector-stores/spring-ai-typesense-store/src/main/java/org/springframework/ai/vectorstore/typesense/TypesenseVectorStore.java index 91c7e5374..d15103680 100644 --- a/vector-stores/spring-ai-typesense-store/src/main/java/org/springframework/ai/vectorstore/typesense/TypesenseVectorStore.java +++ b/vector-stores/spring-ai-typesense-store/src/main/java/org/springframework/ai/vectorstore/typesense/TypesenseVectorStore.java @@ -443,10 +443,10 @@ public class TypesenseVectorStore extends AbstractObservationVectorStore impleme public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.TYPESENSE.value(), operationName) - .withDimensions(this.embeddingModel.dimensions()) - .withCollectionName(this.collectionName) - .withFieldName(EMBEDDING_FIELD_NAME) - .withSimilarityMetric(VectorStoreSimilarityMetric.COSINE.value()); + .dimensions(this.embeddingModel.dimensions()) + .collectionName(this.collectionName) + .fieldName(EMBEDDING_FIELD_NAME) + .similarityMetric(VectorStoreSimilarityMetric.COSINE.value()); } public static final class TypesenseBuilder extends AbstractVectorStoreBuilder { diff --git a/vector-stores/spring-ai-weaviate-store/src/main/java/org/springframework/ai/vectorstore/weaviate/WeaviateVectorStore.java b/vector-stores/spring-ai-weaviate-store/src/main/java/org/springframework/ai/vectorstore/weaviate/WeaviateVectorStore.java index 824a64e4f..836450069 100644 --- a/vector-stores/spring-ai-weaviate-store/src/main/java/org/springframework/ai/vectorstore/weaviate/WeaviateVectorStore.java +++ b/vector-stores/spring-ai-weaviate-store/src/main/java/org/springframework/ai/vectorstore/weaviate/WeaviateVectorStore.java @@ -448,8 +448,8 @@ public class WeaviateVectorStore extends AbstractObservationVectorStore { public VectorStoreObservationContext.Builder createObservationContextBuilder(String operationName) { return VectorStoreObservationContext.builder(VectorStoreProvider.WEAVIATE.value(), operationName) - .withDimensions(this.embeddingModel.dimensions()) - .withCollectionName(this.weaviateObjectClass); + .dimensions(this.embeddingModel.dimensions()) + .collectionName(this.weaviateObjectClass); } /**