SpringAiChatAutoConfiguration

@AutoConfiguration(afterName = ["org.springframework.ai.model.anthropic.autoconfigure.AnthropicChatAutoConfiguration", "org.springframework.ai.model.azure.openai.autoconfigure.AzureOpenAiChatAutoConfiguration", "org.springframework.ai.model.bedrock.converse.autoconfigure.BedrockConverseProxyChatAutoConfiguration", "org.springframework.ai.model.deepseek.autoconfigure.DeepSeekChatAutoConfiguration", "org.springframework.ai.model.google.genai.autoconfigure.chat.GoogleGenAiChatAutoConfiguration", "org.springframework.ai.model.huggingface.autoconfigure.HuggingfaceChatAutoConfiguration", "org.springframework.ai.model.minimax.autoconfigure.MiniMaxChatAutoConfiguration", "org.springframework.ai.model.mistralai.autoconfigure.MistralAiChatAutoConfiguration", "org.springframework.ai.model.oci.genai.autoconfigure.OCIGenAiChatAutoConfiguration", "org.springframework.ai.model.ollama.autoconfigure.OllamaChatAutoConfiguration", "org.springframework.ai.model.openai.autoconfigure.OpenAiChatAutoConfiguration", "org.springframework.ai.model.openaisdk.autoconfigure.OpenAiSdkChatAutoConfiguration", "org.springframework.ai.model.vertexai.autoconfigure.gemini.VertexAiGeminiChatAutoConfiguration", "org.springframework.ai.model.zhipuai.autoconfigure.ZhiPuAiChatAutoConfiguration"])
@EnableConfigurationProperties(value = [KoogSpringAiChatProperties::class])
@ConditionalOnClass(value = [ChatModel::class])
@ConditionalOnProperty(prefix = "koog.spring.ai.chat", name = ["enabled"], havingValue = "true", matchIfMissing = true)
open class SpringAiChatAutoConfiguration(source)

Auto-configuration for the Koog Spring AI Chat Model adapter.

This configuration:

Gated by koog.spring.ai.chat.enabled=true (default).

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
@Configuration
@ConditionalOnProperty(prefix = "koog.spring.ai.chat", name = ["chat-model-bean-name"])
open class NamedChatModelConfiguration

Chat model configuration — activated when a bean-name selector is provided.

Link copied to clipboard
@Configuration
@ConditionalOnMissingBean(value = [LLMClient::class])
@ConditionalOnSingleCandidate(value = ChatModel::class)
open class SingleChatModelConfiguration

Chat model configuration — activated when no bean-name selector is set and a single ChatModel candidate exists.

Functions

Link copied to clipboard
@Bean
@ConditionalOnBean(value = [LLMClient::class])
@ConditionalOnMissingBean(value = [PromptExecutor::class])
open fun koogPromptExecutor(llmClientsProvider: ObjectProvider<LLMClient>): PromptExecutor

Creates a MultiLLMPromptExecutor from all available LLMClient beans.

Link copied to clipboard
@Bean
@ConditionalOnMissingBean(name = ["koogSpringAiChatDispatcher"])
open fun koogSpringAiChatDispatcher(properties: KoogSpringAiChatProperties, @Autowired(required = false) @Qualifier(value = "applicationTaskExecutor") @Nullable asyncTaskExecutor: AsyncTaskExecutor?): CoroutineDispatcher

Creates a CoroutineDispatcher for blocking Spring AI chat model calls.