Class SpringAIOllamaConfig

java.lang.Object
com.bytedesk.ai.springai.ollama.SpringAIOllamaConfig

@Configuration @ConditionalOnProperty(name="spring.ai.ollama.chat.enabled", havingValue="true", matchIfMissing=false) public class SpringAIOllamaConfig extends Object
https://ollama.com/ https://www.promptingguide.ai/ https://docs.spring.io/spring-ai/reference/api/embeddings/ollama-embeddings.html
  • Field Details

    • ollamaBaseUrl

      @Value("${spring.ai.ollama.base-url:http://host.docker.internal:11434}") private String ollamaBaseUrl
    • ollamaChatOptionsModel

      @Value("${spring.ai.ollama.chat.options.model:qwen2.5:1.5b}") private String ollamaChatOptionsModel
    • ollamaChatOptionsNuma

      @Value("${spring.ai.ollama.chat.options.numa:false}") private boolean ollamaChatOptionsNuma
    • ollamaEmbeddingOptionsModel

      @Value("${spring.ai.ollama.embedding.options.model:qwen2.5:1.5b}") private String ollamaEmbeddingOptionsModel
    • autoCheckService

      @Value("${spring.ai.ollama.service.auto-check:true}") private boolean autoCheckService
    • jedisProperties

      @Autowired private JedisProperties jedisProperties
  • Constructor Details

    • SpringAIOllamaConfig

      public SpringAIOllamaConfig()
  • Method Details

    • isOllamaServiceAvailable

      private boolean isOllamaServiceAvailable()
      检查 Ollama 服务是否可用
      Returns:
      true if Ollama service is available
    • bytedeskOllamaApi

      @Bean("bytedeskOllamaApi") @ConditionalOnProperty(name="spring.ai.ollama.chat.enabled", havingValue="true", matchIfMissing=false) org.springframework.ai.ollama.api.OllamaApi bytedeskOllamaApi()
    • bytedeskOllamaChatOptions

      @Bean("bytedeskOllamaChatOptions") @ConditionalOnProperty(name="spring.ai.ollama.chat.enabled", havingValue="true", matchIfMissing=false) org.springframework.ai.ollama.api.OllamaOptions bytedeskOllamaChatOptions()
    • bytedeskOllamaEmbeddingOptions

      @Bean("bytedeskOllamaEmbeddingOptions") @ConditionalOnProperty(name="spring.ai.ollama.embedding.enabled", havingValue="true", matchIfMissing=false) org.springframework.ai.ollama.api.OllamaOptions bytedeskOllamaEmbeddingOptions()
    • bytedeskOllamaChatModel

      @Bean("bytedeskOllamaChatModel") @ConditionalOnProperty(name="spring.ai.ollama.chat.enabled", havingValue="true", matchIfMissing=false) org.springframework.ai.ollama.OllamaChatModel bytedeskOllamaChatModel()
    • bytedeskOllamaEmbeddingModel

      @Bean("bytedeskOllamaEmbeddingModel") @ConditionalOnProperty(name="spring.ai.ollama.embedding.enabled", havingValue="true", matchIfMissing=false) org.springframework.ai.embedding.EmbeddingModel bytedeskOllamaEmbeddingModel()
    • createFallbackEmbeddingModel

      private org.springframework.ai.embedding.EmbeddingModel createFallbackEmbeddingModel()
    • bytedeskOllamaRedisVectorStore

      @Primary @Bean("bytedeskOllamaRedisVectorStore") @ConditionalOnProperty(name={"spring.ai.ollama.embedding.enabled","spring.ai.vectorstore.redis.initialize-schema"}, havingValue="true", matchIfMissing=false) public org.springframework.ai.vectorstore.redis.RedisVectorStore bytedeskOllamaRedisVectorStore(org.springframework.ai.autoconfigure.vectorstore.redis.RedisVectorStoreProperties properties)
    • createFallbackVectorStore

      private org.springframework.ai.vectorstore.redis.RedisVectorStore createFallbackVectorStore(redis.clients.jedis.JedisPooled jedisPooled, org.springframework.ai.autoconfigure.vectorstore.redis.RedisVectorStoreProperties properties)
      创建一个降级的 VectorStore 实现