diff --git a/auto-configurations/models/tool/spring-ai-autoconfigure-model-tool/src/main/java/org/springframework/ai/model/tool/autoconfigure/ToolCallingAutoConfiguration.java b/auto-configurations/models/tool/spring-ai-autoconfigure-model-tool/src/main/java/org/springframework/ai/model/tool/autoconfigure/ToolCallingAutoConfiguration.java index bcdad6b2bf5..81bb900aec6 100644 --- a/auto-configurations/models/tool/spring-ai-autoconfigure-model-tool/src/main/java/org/springframework/ai/model/tool/autoconfigure/ToolCallingAutoConfiguration.java +++ b/auto-configurations/models/tool/spring-ai-autoconfigure-model-tool/src/main/java/org/springframework/ai/model/tool/autoconfigure/ToolCallingAutoConfiguration.java @@ -52,6 +52,7 @@ * @author Thomas Vitale * @author Christian Tzolov * @author Daniel Garnier-Moiroux + * @author Yanming Zhou * @since 1.0.0 */ @AutoConfiguration @@ -70,10 +71,9 @@ public class ToolCallingAutoConfiguration { @Bean @ConditionalOnMissingBean ToolCallbackResolver toolCallbackResolver(GenericApplicationContext applicationContext, - List toolCallbacks, List tcbProviders) { + List toolCallbacks, ObjectProvider tcbProviders) { List allFunctionAndToolCallbacks = new ArrayList<>(toolCallbacks); - tcbProviders.stream() - .filter(pr -> !isMcpToolCallbackProvider(ResolvableType.forInstance(pr))) + tcbProviders.stream(clazz -> !isMcpToolCallbackProvider(ResolvableType.forClass(clazz))) .map(pr -> List.of(pr.getToolCallbacks())) .forEach(allFunctionAndToolCallbacks::addAll);