From 3bb49c3fd698464eef6a049da4cd299d71518b48 Mon Sep 17 00:00:00 2001
From: Mark Pollack
{@code
- * CassandraVectorStore vectorStore = CassandraVectorStore.builder()
+ * CassandraVectorStore vectorStore = CassandraVectorStore.builder(embeddingModel)
* .session(cqlSession)
- * .embeddingModel(embeddingModel)
* .keyspace("my_keyspace")
* .table("my_vectors")
* .build();
@@ -130,9 +129,8 @@ import org.springframework.util.Assert;
* Advanced configuration example:
*
* {@code
- * CassandraVectorStore vectorStore = CassandraVectorStore.builder()
+ * CassandraVectorStore vectorStore = CassandraVectorStore.builder(embeddingModel)
* .session(cqlSession)
- * .embeddingModel(embeddingModel)
* .keyspace("my_keyspace")
* .table("my_vectors")
* .partitionKeys(List.of(new SchemaColumn("id", DataTypes.TEXT)))
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 42a72bc40..d0a2c07eb 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
@@ -83,9 +83,7 @@ import org.springframework.util.Assert;
* Basic usage example:
*
* {@code
- * ElasticsearchVectorStore vectorStore = ElasticsearchVectorStore.builder()
- * .restClient(restClient)
- * .embeddingModel(embeddingModel)
+ * ElasticsearchVectorStore vectorStore = ElasticsearchVectorStore.builder(restClient, embeddingModel)
* .initializeSchema(true)
* .build();
*
@@ -113,9 +111,7 @@ import org.springframework.util.Assert;
* options.setSimilarity(SimilarityFunction.dot_product);
* options.setDimensions(1536);
*
- * ElasticsearchVectorStore vectorStore = ElasticsearchVectorStore.builder()
- * .restClient(restClient)
- * .embeddingModel(embeddingModel)
+ * ElasticsearchVectorStore vectorStore = ElasticsearchVectorStore.builder(restClient, embeddingModel)
* .options(options)
* .initializeSchema(true)
* .batchingStrategy(new TokenCountBatchingStrategy())
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 b5ec600ca..9a9a753a7 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
@@ -33,6 +33,7 @@ import org.springframework.ai.embedding.EmbeddingOptionsBuilder;
import org.springframework.ai.embedding.TokenCountBatchingStrategy;
import org.springframework.ai.observation.conventions.VectorStoreProvider;
import org.springframework.ai.observation.conventions.VectorStoreSimilarityMetric;
+import org.springframework.ai.observation.conventions.VectorStoreSimilarityMetric;
import org.springframework.ai.util.JacksonUtils;
import org.springframework.ai.vectorstore.AbstractVectorStoreBuilder;
import org.springframework.ai.vectorstore.SearchRequest;
@@ -73,8 +74,7 @@ import org.springframework.util.StringUtils;
* Basic usage example:
*
* {@code
- * MariaDBVectorStore vectorStore = MariaDBVectorStore.builder(jdbcTemplate)
- * .embeddingModel(embeddingModel)
+ * MariaDBVectorStore vectorStore = MariaDBVectorStore.builder(jdbcTemplate, embeddingModel)
* .initializeSchema(true)
* .build();
*
@@ -97,8 +97,7 @@ import org.springframework.util.StringUtils;
* Advanced configuration example:
*
* {@code
- * MariaDBVectorStore vectorStore = MariaDBVectorStore.builder(jdbcTemplate)
- * .embeddingModel(embeddingModel)
+ * MariaDBVectorStore vectorStore = MariaDBVectorStore.builder(jdbcTemplate, embeddingModel)
* .schemaName("mydb")
* .distanceType(MariaDBDistanceType.COSINE)
* .dimensions(1536)
@@ -295,7 +294,8 @@ public class MariaDBVectorStore extends AbstractObservationVectorStore implement
this.vectorTableName = builder.vectorTableName.isEmpty() ? DEFAULT_TABLE_NAME
: MariaDBSchemaValidator.validateAndEnquoteIdentifier(builder.vectorTableName.trim(), false);
- logger.info("Using the vector table name: {}. Is empty: {}", this.vectorTableName, vectorTableName.isEmpty());
+ logger.info("Using the vector table name: {}. Is empty: {}", this.vectorTableName,
+ builder.vectorTableName.isEmpty());
this.schemaName = builder.schemaName == null ? null
: MariaDBSchemaValidator.validateAndEnquoteIdentifier(builder.schemaName, false);
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 0f6702525..47ba48044 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
@@ -92,16 +92,12 @@ import org.springframework.util.StringUtils;
*
* Example usage:
{@code
* // Create a basic Milvus vector store
- * MilvusVectorStore vectorStore = MilvusVectorStore.builder()
- * .milvusClient(milvusClient)
- * .embeddingModel(embeddingModel)
+ * MilvusVectorStore vectorStore = MilvusVectorStore.builder(milvusServiceClient, embeddingModel)
* .initializeSchema(true)
* .build();
*
* // Create a customized Milvus vector store
- * MilvusVectorStore customVectorStore = MilvusVectorStore.builder()
- * .milvusClient(milvusClient)
- * .embeddingModel(embeddingModel)
+ * MilvusVectorStore customVectorStore = MilvusVectorStore.builder(milvusServiceClient, embeddingModel)
* .databaseName("my_database")
* .collectionName("my_collection")
* .metricType(MetricType.COSINE)
@@ -267,8 +263,8 @@ public class MilvusVectorStore extends AbstractObservationVectorStore implements
* recommended way to instantiate a MilvusBuilder.
* @return a new MilvusBuilder instance
*/
- public static Builder builder(MilvusServiceClient milvusClient, EmbeddingModel embeddingModel) {
- return new Builder(milvusClient, embeddingModel);
+ public static Builder builder(MilvusServiceClient milvusServiceClient, EmbeddingModel embeddingModel) {
+ return new Builder(milvusServiceClient, embeddingModel);
}
@Override
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 852d0bea6..251a82a40 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
@@ -72,9 +72,7 @@ import org.springframework.util.Assert;
* Basic usage example:
*
* {@code
- * MongoDBAtlasVectorStore vectorStore = MongoDBAtlasVectorStore.builder()
- * .mongoTemplate(mongoTemplate)
- * .embeddingModel(embeddingModel)
+ * MongoDBAtlasVectorStore vectorStore = MongoDBAtlasVectorStore.builder(mongoTemplate, embeddingModel)
* .collectionName("vector_store")
* .initializeSchema(true)
* .build();
@@ -98,9 +96,7 @@ import org.springframework.util.Assert;
* Advanced configuration example:
*
* {@code
- * MongoDBAtlasVectorStore vectorStore = MongoDBAtlasVectorStore.builder()
- * .mongoTemplate(mongoTemplate)
- * .embeddingModel(embeddingModel)
+ * MongoDBAtlasVectorStore vectorStore = MongoDBAtlasVectorStore.builder(mongoTemplate, embeddingModel)
* .collectionName("custom_vectors")
* .vectorIndexName("custom_vector_index")
* .pathName("custom_embedding")
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 d752cd02b..db04d100c 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
@@ -72,9 +72,7 @@ import org.springframework.util.StringUtils;
* Basic usage example:
*
* {@code
- * Neo4jVectorStore vectorStore = Neo4jVectorStore.builder()
- * .driver(driver)
- * .embeddingModel(embeddingModel)
+ * Neo4jVectorStore vectorStore = Neo4jVectorStore.builder(driver, embeddingModel)
* .initializeSchema(true)
* .build();
*
@@ -97,9 +95,7 @@ import org.springframework.util.StringUtils;
* Advanced configuration example:
*
* {@code
- * Neo4jVectorStore vectorStore = Neo4jVectorStore.builder()
- * .driver(driver)
- * .embeddingModel(embeddingModel)
+ * Neo4jVectorStore vectorStore = Neo4jVectorStore.builder(driver, embeddingModel)
* .databaseName("neo4j")
* .distanceType(Neo4jDistanceType.COSINE)
* .dimensions(1536)
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 22bd75856..4e301492d 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
@@ -82,9 +82,7 @@ import org.springframework.util.Assert;
* Basic usage example:
*
* {@code
- * OpenSearchVectorStore vectorStore = OpenSearchVectorStore.builder()
- * .openSearchClient(openSearchClient)
- * .embeddingModel(embeddingModel)
+ * OpenSearchVectorStore vectorStore = OpenSearchVectorStore.builder(openSearchClient, embeddingModel)
* .initializeSchema(true)
* .build();
*
@@ -107,9 +105,7 @@ import org.springframework.util.Assert;
* Advanced configuration example:
*
* {@code
- * OpenSearchVectorStore vectorStore = OpenSearchVectorStore.builder()
- * .openSearchClient(openSearchClient)
- * .embeddingModel(embeddingModel)
+ * OpenSearchVectorStore vectorStore = OpenSearchVectorStore.builder(openSearchClient, embeddingModel)
* .index("custom-index")
* .mappingJson(customMapping)
* .similarityFunction("l2")
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 9424db533..95eda0d33 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
@@ -85,9 +85,7 @@ import org.springframework.util.StringUtils;
* Basic usage example:
*
* {@code
- * PgVectorStore vectorStore = PgVectorStore.builder()
- * .jdbcTemplate(jdbcTemplate)
- * .embeddingModel(embeddingModel)
+ * PgVectorStore vectorStore = PgVectorStore.builder(jdbcTemplate, embeddingModel)
* .dimensions(1536) // Optional: defaults to model dimensions or 1536
* .distanceType(PgDistanceType.COSINE_DISTANCE)
* .indexType(PgIndexType.HNSW)
@@ -112,9 +110,7 @@ import org.springframework.util.StringUtils;
* Advanced configuration example:
*
* {@code
- * PgVectorStore vectorStore = PgVectorStore.builder()
- * .jdbcTemplate(jdbcTemplate)
- * .embeddingModel(embeddingModel)
+ * PgVectorStore vectorStore = PgVectorStore.builder(jdbcTemplate, embeddingModel)
* .schemaName("custom_schema")
* .vectorTableName("custom_vectors")
* .distanceType(PgDistanceType.NEGATIVE_INNER_PRODUCT)
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 ae5469dfd..48a66061f 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
@@ -101,8 +101,7 @@ import org.springframework.util.Assert;
* Advanced configuration example:
*
* {@code
- * QdrantVectorStore vectorStore = QdrantVectorStore.builder(qdrantClient)
- * .embeddingModel(embeddingModel)
+ * QdrantVectorStore vectorStore = QdrantVectorStore.builder(qdrantClient, embeddingModel)
* .collectionName("custom-collection")
* .initializeSchema(true)
* .batchingStrategy(new TokenCountBatchingStrategy())
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 8b2c67885..c389c4db6 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
@@ -102,9 +102,7 @@ import org.springframework.util.StringUtils;
* Basic usage example:
*
* {@code
- * RedisVectorStore vectorStore = RedisVectorStore.builder()
- * .jedis(jedisPooled)
- * .embeddingModel(embeddingModel)
+ * RedisVectorStore vectorStore = RedisVectorStore.builder(jedisPooled, embeddingModel)
* .indexName("custom-index") // Optional: defaults to "spring-ai-index"
* .prefix("custom-prefix") // Optional: defaults to "embedding:"
* .vectorAlgorithm(Algorithm.HNSW)
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 c7827ce0d..1a7ba4d31 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
@@ -76,9 +76,7 @@ import org.springframework.util.StringUtils;
*
* {@code
* // Create the vector store with builder
- * WeaviateVectorStore vectorStore = WeaviateVectorStore.builder()
- * .weaviateClient(weaviateClient) // Required: Configure Weaviate client
- * .embeddingModel(embeddingModel) // Required: Configure embedding model
+ * WeaviateVectorStore vectorStore = WeaviateVectorStore.builder(weaviateClient, embeddingModel)
* .objectClass("CustomClass") // Optional: Custom class name (default: SpringAiWeaviate)
* .consistencyLevel(ConsistentLevel.QUORUM) // Optional: Set consistency level (default: ONE)
* .filterMetadataFields(List.of( // Optional: Configure filterable metadata fields