diff --git a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreAutoConfiguration.java b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreAutoConfiguration.java index 9f0b8493c..3a1313f48 100644 --- a/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreAutoConfiguration.java +++ b/spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/chroma/ChromaVectorStoreAutoConfiguration.java @@ -86,14 +86,17 @@ public class ChromaVectorStoreAutoConfiguration { ChromaVectorStoreProperties storeProperties, ObjectProvider observationRegistry, ObjectProvider customObservationConvention, BatchingStrategy chromaBatchingStrategy) { - return ChromaVectorStore.builder(chromaApi) + ChromaVectorStore.ChromaBuilder chromaBuilder = ChromaVectorStore.builder(chromaApi) .embeddingModel(embeddingModel) .collectionName(storeProperties.getCollectionName()) .initializeSchema(storeProperties.isInitializeSchema()) .observationRegistry(observationRegistry.getIfUnique(() -> ObservationRegistry.NOOP)) - .customObservationConvention(customObservationConvention.getIfAvailable(() -> null)) - .batchingStrategy(chromaBatchingStrategy) - .build(); + .batchingStrategy(chromaBatchingStrategy); + VectorStoreObservationConvention observationConvention = customObservationConvention.getIfAvailable(); + if (observationConvention != null) { + chromaBuilder.customObservationConvention(observationConvention); + } + return chromaBuilder.build(); } static class PropertiesChromaConnectionDetails implements ChromaConnectionDetails {