Class AiConfiguration

java.lang.Object
com.alibaba.cloud.ai.util.AiConfiguration

@Configuration public class AiConfiguration extends Object
AI 模型配置类

本配置类提供了 ChatModel 和 EmbeddingModel 的配置。

EmbeddingModel 选择策略:

  • 优先使用 DashScope EmbeddingModel(当配置了 spring.ai.dashscope.api-key)
  • 备选使用 OpenAI EmbeddingModel(当未配置 DashScope API Key 时)

为了避免与 Spring Boot 自动配置冲突,建议在 application.yml 中设置:

 spring:
   ai:
     openai:
       embedding:
         enabled: false  # 禁用 OpenAI EmbeddingModel 自动配置
 
Author:
Spring AI Alibaba Team
  • Constructor Details

    • AiConfiguration

      public AiConfiguration()
  • Method Details

    • chatModel

      @Bean public org.springframework.ai.chat.model.ChatModel chatModel()
    • chatClient

      @Bean public org.springframework.ai.chat.client.ChatClient chatClient(@Qualifier("chatModel") org.springframework.ai.chat.model.ChatModel chatModel)
    • dashScopeEmbeddingModel

      @Bean("embeddingModel") @Primary @ConditionalOnProperty(name="spring.ai.dashscope.api-key") @ConditionalOnMissingBean(org.springframework.ai.embedding.EmbeddingModel.class) public org.springframework.ai.embedding.EmbeddingModel dashScopeEmbeddingModel()
      DashScope EmbeddingModel 配置

      当配置了 spring.ai.dashscope.api-key 时启用,优先级最高

    • customOpenAiEmbeddingModel

      @Bean("embeddingModel") @Primary @ConditionalOnProperty(name="spring.ai.dashscope.api-key", havingValue="", matchIfMissing=true) @ConditionalOnMissingBean(org.springframework.ai.embedding.EmbeddingModel.class) public org.springframework.ai.embedding.EmbeddingModel customOpenAiEmbeddingModel()
      自定义 OpenAI EmbeddingModel 配置

      当没有配置 DashScope API Key 时使用

      使用 @ConditionalOnMissingBean 避免与自动配置冲突