Make vector store builders extensible (#2058)

- The VectorStore builders shouldn't be final as they are meant to be extensible
 - Suppress the `FinalClass` checkstyle errors on VectorStore classes
This commit is contained in:
Ilayaperumal Gopinathan
2025-01-09 16:03:38 +00:00
committed by GitHub
parent bd687958c7
commit 7634342ed6
8 changed files with 12 additions and 8 deletions

View File

@@ -38,7 +38,6 @@ import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.json.JsonMapper;
import io.micrometer.observation.ObservationRegistry;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,7 +48,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.VectorStoreObservationConvention;
import org.springframework.core.io.Resource;
/**

View File

@@ -40,8 +40,14 @@
<suppress files="AzureVectorStore.java" checks="FinalClass"/>
<suppress files="CassandraVectorStore.java" checks="FinalClass"/>
<suppress files="CoherenceVectorStore.java" checks="FinalClass"/>
<suppress files="CosmosDBVectorStore.java" checks="FinalClass"/>
<suppress files="GemFireVectorStore.java" checks="FinalClass"/>
<suppress files="MilvusVectorStore.java" checks="FinalClass"/>
<suppress files="HanaCloudVectorStore.java" checks="FinalClass"/>
<suppress files="MongoDBAtlasVectorStore.java" checks="FinalClass"/>
<suppress files="Neo4jVectorStore.java" checks="FinalClass"/>
<suppress files="OpenSearchVectorStore.java" checks="FinalClass"/>
<suppress files="PineconeVectorStore.java" checks="FinalClass"/>
<suppress files="TypesenseVectorStore.java" checks="FinalClass"/>
<suppress files="WeaviateVectorStore.java" checks="FinalClass"/>

View File

@@ -381,7 +381,7 @@ public class CosmosDBVectorStore extends AbstractObservationVectorStore implemen
*
* @since 1.0.0
*/
public static final class Builder extends AbstractVectorStoreBuilder<Builder> {
public static class Builder extends AbstractVectorStoreBuilder<Builder> {
private final CosmosAsyncClient cosmosClient;

View File

@@ -283,7 +283,7 @@ public class CoherenceVectorStore extends AbstractObservationVectorStore impleme
*
* @since 1.0.0
*/
public static final class Builder extends AbstractVectorStoreBuilder<Builder> {
public static class Builder extends AbstractVectorStoreBuilder<Builder> {
private final Session session;

View File

@@ -559,7 +559,7 @@ public class GemFireVectorStore extends AbstractObservationVectorStore implement
*
* @since 1.0.0
*/
public static final class Builder extends AbstractVectorStoreBuilder<Builder> {
public static class Builder extends AbstractVectorStoreBuilder<Builder> {
private String host = GemFireVectorStore.DEFAULT_HOST;

View File

@@ -318,7 +318,7 @@ public class MongoDBAtlasVectorStore extends AbstractObservationVectorStore impl
return new Builder(mongoTemplate, embeddingModel);
}
public static final class Builder extends AbstractVectorStoreBuilder<Builder> {
public static class Builder extends AbstractVectorStoreBuilder<Builder> {
private final MongoTemplate mongoTemplate;

View File

@@ -366,7 +366,7 @@ public class Neo4jVectorStore extends AbstractObservationVectorStore implements
return new Builder(driver, embeddingModel);
}
public static final class Builder extends AbstractVectorStoreBuilder<Builder> {
public static class Builder extends AbstractVectorStoreBuilder<Builder> {
private final Driver driver;

View File

@@ -365,7 +365,7 @@ public class OpenSearchVectorStore extends AbstractObservationVectorStore implem
/**
* Builder class for creating OpenSearchVectorStore instances.
*/
public static final class Builder extends AbstractVectorStoreBuilder<Builder> {
public static class Builder extends AbstractVectorStoreBuilder<Builder> {
private final OpenSearchClient openSearchClient;