Improve auto-confg condigiton on class to prevent undesired activation

This commit is contained in:
Christian Tzolov
2024-03-15 15:07:57 +01:00
parent c45352909e
commit 933018758c
5 changed files with 4 additions and 6 deletions

View File

@@ -37,7 +37,7 @@ import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
@AutoConfiguration
@ConditionalOnClass(OpenAIClientBuilder.class)
@ConditionalOnClass({ OpenAIClientBuilder.class, AzureOpenAiChatClient.class })
@EnableConfigurationProperties({ AzureOpenAiChatProperties.class, AzureOpenAiEmbeddingProperties.class,
AzureOpenAiConnectionProperties.class })
public class AzureOpenAiAutoConfiguration {

View File

@@ -18,7 +18,6 @@ package org.springframework.ai.autoconfigure.openai;
import java.util.List;
import org.springframework.ai.autoconfigure.retry.SpringAiRetryAutoConfiguration;
import org.springframework.ai.embedding.EmbeddingClient;
import org.springframework.ai.model.function.FunctionCallback;
import org.springframework.ai.model.function.FunctionCallbackContext;
import org.springframework.ai.openai.OpenAiAudioTranscriptionClient;

View File

@@ -18,7 +18,6 @@ package org.springframework.ai.autoconfigure.transformers;
import ai.djl.huggingface.tokenizers.HuggingFaceTokenizer;
import ai.onnxruntime.OrtSession;
import org.springframework.ai.embedding.EmbeddingClient;
import org.springframework.ai.transformers.TransformersEmbeddingClient;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -32,7 +31,7 @@ import org.springframework.context.annotation.Bean;
*/
@AutoConfiguration
@EnableConfigurationProperties({ TransformersEmbeddingClientProperties.class })
@ConditionalOnClass({ OrtSession.class, HuggingFaceTokenizer.class })
@ConditionalOnClass({ OrtSession.class, HuggingFaceTokenizer.class, TransformersEmbeddingClient.class })
public class TransformersEmbeddingClientAutoConfiguration {
@Bean

View File

@@ -32,7 +32,7 @@ import org.springframework.context.annotation.Bean;
* @author Christian Tzolov
*/
@AutoConfiguration
@ConditionalOnClass({ EmbeddingClient.class, SearchIndexClient.class })
@ConditionalOnClass({ EmbeddingClient.class, SearchIndexClient.class, AzureVectorStore.class })
@EnableConfigurationProperties({ AzureVectorStoreProperties.class })
@ConditionalOnProperty(prefix = "spring.ai.vectorstore.azure", value = { "url", "api-key", "index-name" })
public class AzureVectorStoreAutoConfiguration {

View File

@@ -39,7 +39,7 @@ import org.springframework.util.CollectionUtils;
* @author Christian Tzolov
* @since 0.8.0
*/
@ConditionalOnClass(VertexAI.class)
@ConditionalOnClass({ VertexAI.class, VertexAiGeminiChatClient.class })
@EnableConfigurationProperties({ VertexAiGeminiChatProperties.class, VertexAiGeminiConnectionProperties.class })
public class VertexAiGeminiAutoConfiguration {