From 6e0c0654af6a7daebac541995e4f082bae4a052e Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Wed, 1 Jan 2025 00:48:25 -0600 Subject: [PATCH] feat: add missing model identifiers - Added additional identifiers for existing Models but included the date for consistency while maintaining backwards compatibility for those using the existing identifiers. - Added missing identifiers for new versions of the Models - Added identifiers for the models supporting the `latest` identifier - All identifiers sourced from this doc: https://docs.anthropic.com/en/docs/about-claude/models --- src/AnthropicClient/Models/AnthropicModels.cs | 70 +++++++++++++++++-- 1 file changed, 65 insertions(+), 5 deletions(-) diff --git a/src/AnthropicClient/Models/AnthropicModels.cs b/src/AnthropicClient/Models/AnthropicModels.cs index 8fb437b..b09ee2f 100644 --- a/src/AnthropicClient/Models/AnthropicModels.cs +++ b/src/AnthropicClient/Models/AnthropicModels.cs @@ -6,24 +6,84 @@ namespace AnthropicClient.Models; public static class AnthropicModels { /// - /// The Claude-3 Opus model. + /// The Claude 3 Opus model. /// public const string Claude3Opus = "claude-3-opus-20240229"; /// - /// The Claude-3 Sonnet model. + /// The Claude 3 Opus model. + /// + public const string Claude3Opus20241022 = "claude-3-opus-20240229"; + + /// + /// The Claude 3 Opus model. + /// + public const string Claude3OpusLatest = "claude-3-opus-latest"; + + /// + /// The Claude 3 Sonnet model. /// public const string Claude3Sonnet = "claude-3-sonnet-20240229"; /// - /// The Claude-3.5 Sonnet model. + /// The Claude 3 Sonnet model. + /// + public const string Claude3Sonnet20240229 = "claude-3-sonnet-20240229"; + + /// + /// The Claude 3.5 Sonnet model. /// public const string Claude35Sonnet = "claude-3-5-sonnet-20240620"; /// - /// The Claude-3 Haiku model. + /// The Claude 3.5 Sonnet model. + /// + public const string Claude35Sonnet20240620 = "claude-3-5-sonnet-20240620"; + + /// + /// The Claude 3.5 Sonnet model. + /// + public const string Claude35Sonnet20241022 = "claude-3-5-sonnet-20241022"; + + /// + /// The Claude 3.5 Sonnet model. + /// + public const string Claude35SonnetLatest = "claude-3-5-sonnet-latest"; + + /// + /// The Claude 3 Haiku model. /// public const string Claude3Haiku = "claude-3-haiku-20240307"; - internal static bool IsValidModel(string modelId) => modelId is Claude3Opus or Claude3Sonnet or Claude35Sonnet or Claude3Haiku; + /// + /// The Claude 3 Haiku model. + /// + public const string Claude3Haiku20240307 = "claude-3-haiku-20240307"; + + /// + /// The Claude 3.5 Haiku model. + /// + public const string Claude35Haiku20241022 = "claude-3-5-haiku-20241022"; + + /// + /// The Claude 3.5 Haiku model. + /// + public const string Claude35HaikuLatest = "claude-3-5-haiku-latest"; + + internal static bool IsValidModel(string modelId) => modelId is + Claude3Opus or + Claude3Opus20241022 or + Claude3OpusLatest or + + Claude3Sonnet or + Claude3Sonnet20240229 or + Claude35Sonnet or + Claude35Sonnet20240620 or + Claude35Sonnet20241022 or + Claude35SonnetLatest or + + Claude3Haiku or + Claude3Haiku20240307 or + Claude35Haiku20241022 or + Claude35HaikuLatest; } \ No newline at end of file