diff --git a/app/MindWork AI Studio/Provider/Anthropic/ProviderAnthropic.cs b/app/MindWork AI Studio/Provider/Anthropic/ProviderAnthropic.cs index 7f7d2f7b..75c424d4 100644 --- a/app/MindWork AI Studio/Provider/Anthropic/ProviderAnthropic.cs +++ b/app/MindWork AI Studio/Provider/Anthropic/ProviderAnthropic.cs @@ -110,26 +110,33 @@ public sealed class ProviderAnthropic(ILogger logger) : BaseProvider("https://ap return Task.FromResult(Enumerable.Empty()); } - #region Overrides of BaseProvider - public override IReadOnlyCollection GetModelCapabilities(Model model) { var modelName = model.Id.ToLowerInvariant().AsSpan(); // Claude 3.7 is able to do reasoning: if(modelName.StartsWith("claude-3-7")) - return [Capability.TEXT_INPUT, Capability.IMAGE_INPUT, Capability.TEXT_OUTPUT, Capability.REASONING, Capability.FUNCTION_CALLING]; + return [ + Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT, + Capability.TEXT_OUTPUT, + + Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING]; // All other 3.x models are able to process text and images as input: if(modelName.StartsWith("claude-3-")) - return [Capability.TEXT_INPUT, Capability.IMAGE_INPUT, Capability.TEXT_OUTPUT, Capability.FUNCTION_CALLING]; + return [ + Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT, + Capability.TEXT_OUTPUT, + + Capability.FUNCTION_CALLING]; // Any other model is able to process text only: - return [Capability.TEXT_INPUT, Capability.TEXT_OUTPUT, Capability.FUNCTION_CALLING]; + return [ + Capability.TEXT_INPUT, + Capability.TEXT_OUTPUT, + Capability.FUNCTION_CALLING]; } - - #endregion - + #endregion private async Task> LoadModels(CancellationToken token, string? apiKeyProvisional = null)