Merge pull request #28 from StevanFreeborn/stevanfreeborn/feat/add-all-UTD-model-identifiers

feat: add model identifiers
This commit is contained in:
Stevan Freeborn
2025-01-01 18:51:37 -06:00
committed by GitHub
2 changed files with 153 additions and 8 deletions
+65 -5
View File
@@ -6,24 +6,84 @@ namespace AnthropicClient.Models;
public static class AnthropicModels public static class AnthropicModels
{ {
/// <summary> /// <summary>
/// The Claude-3 Opus model. /// The Claude 3 Opus model.
/// </summary> /// </summary>
public const string Claude3Opus = "claude-3-opus-20240229"; public const string Claude3Opus = "claude-3-opus-20240229";
/// <summary> /// <summary>
/// The Claude-3 Sonnet model. /// The Claude 3 Opus model.
/// </summary>
public const string Claude3Opus20241022 = "claude-3-opus-20240229";
/// <summary>
/// The Claude 3 Opus model.
/// </summary>
public const string Claude3OpusLatest = "claude-3-opus-latest";
/// <summary>
/// The Claude 3 Sonnet model.
/// </summary> /// </summary>
public const string Claude3Sonnet = "claude-3-sonnet-20240229"; public const string Claude3Sonnet = "claude-3-sonnet-20240229";
/// <summary> /// <summary>
/// The Claude-3.5 Sonnet model. /// The Claude 3 Sonnet model.
/// </summary>
public const string Claude3Sonnet20240229 = "claude-3-sonnet-20240229";
/// <summary>
/// The Claude 3.5 Sonnet model.
/// </summary> /// </summary>
public const string Claude35Sonnet = "claude-3-5-sonnet-20240620"; public const string Claude35Sonnet = "claude-3-5-sonnet-20240620";
/// <summary> /// <summary>
/// The Claude-3 Haiku model. /// The Claude 3.5 Sonnet model.
/// </summary>
public const string Claude35Sonnet20240620 = "claude-3-5-sonnet-20240620";
/// <summary>
/// The Claude 3.5 Sonnet model.
/// </summary>
public const string Claude35Sonnet20241022 = "claude-3-5-sonnet-20241022";
/// <summary>
/// The Claude 3.5 Sonnet model.
/// </summary>
public const string Claude35SonnetLatest = "claude-3-5-sonnet-latest";
/// <summary>
/// The Claude 3 Haiku model.
/// </summary> /// </summary>
public const string Claude3Haiku = "claude-3-haiku-20240307"; public const string Claude3Haiku = "claude-3-haiku-20240307";
internal static bool IsValidModel(string modelId) => modelId is Claude3Opus or Claude3Sonnet or Claude35Sonnet or Claude3Haiku; /// <summary>
/// The Claude 3 Haiku model.
/// </summary>
public const string Claude3Haiku20240307 = "claude-3-haiku-20240307";
/// <summary>
/// The Claude 3.5 Haiku model.
/// </summary>
public const string Claude35Haiku20241022 = "claude-3-5-haiku-20241022";
/// <summary>
/// The Claude 3.5 Haiku model.
/// </summary>
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;
} }
@@ -12,6 +12,26 @@ public class AnthropicModelsTests
actual.Should().Be(expected); actual.Should().Be(expected);
} }
[Fact]
public void Claude3Opus20241022_WhenCalled_ItShouldReturnExpectedValue()
{
var expected = "claude-3-opus-20240229";
var actual = AnthropicModels.Claude3Opus20241022;
actual.Should().Be(expected);
}
[Fact]
public void Claude3OpusLatest_WhenCalled_ItShouldReturnExpectedValue()
{
var expected = "claude-3-opus-latest";
var actual = AnthropicModels.Claude3OpusLatest;
actual.Should().Be(expected);
}
[Fact] [Fact]
public void Claude3Sonnet_WhenCalled_ItShouldReturnExpectedValue() public void Claude3Sonnet_WhenCalled_ItShouldReturnExpectedValue()
{ {
@@ -22,6 +42,16 @@ public class AnthropicModelsTests
actual.Should().Be(expected); actual.Should().Be(expected);
} }
[Fact]
public void Claude3Sonnet20240229_WhenCalled_ItShouldReturnExpectedValue()
{
var expected = "claude-3-sonnet-20240229";
var actual = AnthropicModels.Claude3Sonnet20240229;
actual.Should().Be(expected);
}
[Fact] [Fact]
public void Claude35Sonnet_WhenCalled_ItShouldReturnExpectedValue() public void Claude35Sonnet_WhenCalled_ItShouldReturnExpectedValue()
{ {
@@ -32,6 +62,36 @@ public class AnthropicModelsTests
actual.Should().Be(expected); actual.Should().Be(expected);
} }
[Fact]
public void Claude35Sonnet20240620_WhenCalled_ItShouldReturnExpectedValue()
{
var expected = "claude-3-5-sonnet-20240620";
var actual = AnthropicModels.Claude35Sonnet20240620;
actual.Should().Be(expected);
}
[Fact]
public void Claude35Sonnet20241022_WhenCalled_ItShouldReturnExpectedValue()
{
var expected = "claude-3-5-sonnet-20241022";
var actual = AnthropicModels.Claude35Sonnet20241022;
actual.Should().Be(expected);
}
[Fact]
public void Claude35SonnetLatest_WhenCalled_ItShouldReturnExpectedValue()
{
var expected = "claude-3-5-sonnet-latest";
var actual = AnthropicModels.Claude35SonnetLatest;
actual.Should().Be(expected);
}
[Fact] [Fact]
public void Claude3Haiku_WhenCalled_ItShouldReturnExpectedValue() public void Claude3Haiku_WhenCalled_ItShouldReturnExpectedValue()
{ {
@@ -43,20 +103,45 @@ public class AnthropicModelsTests
} }
[Fact] [Fact]
public void Claude35Sonnet_WhenCalled_ItShouldExpectedValue() public void Claude3Haiku20240307_WhenCalled_ItShouldReturnExpectedValue()
{ {
var expected = "claude-3-5-sonnet-20240620"; var expected = "claude-3-haiku-20240307";
var actual = AnthropicModels.Claude35Sonnet; var actual = AnthropicModels.Claude3Haiku20240307;
actual.Should().Be(expected);
}
[Fact]
public void Claude35Haiku_WhenCalled_ItShouldReturnExpectedValue()
{
var expected = "claude-3-5-haiku-20241022";
var actual = AnthropicModels.Claude35Haiku20241022;
actual.Should().Be(expected);
}
[Fact]
public void Claude35HaikuLatest_WhenCalled_ItShouldReturnExpectedValue()
{
var expected = "claude-3-5-haiku-latest";
var actual = AnthropicModels.Claude35HaikuLatest;
actual.Should().Be(expected); actual.Should().Be(expected);
} }
[Theory] [Theory]
[InlineData("claude-3-opus-20240229", true)] [InlineData("claude-3-opus-20240229", true)]
[InlineData("claude-3-opus-latest", true)]
[InlineData("claude-3-sonnet-20240229", true)] [InlineData("claude-3-sonnet-20240229", true)]
[InlineData("claude-3-5-sonnet-20240620", true)] [InlineData("claude-3-5-sonnet-20240620", true)]
[InlineData("claude-3-5-sonnet-20241022", true)]
[InlineData("claude-3-5-sonnet-latest", true)]
[InlineData("claude-3-haiku-20240307", true)] [InlineData("claude-3-haiku-20240307", true)]
[InlineData("claude-3-5-haiku-20241022", true)]
[InlineData("claude-3-5-haiku-latest", true)]
[InlineData("invalid", false)] [InlineData("invalid", false)]
public void IsValidModel_WhenCalled_ItShouldReturnExpectedValue(string modelId, bool expected) public void IsValidModel_WhenCalled_ItShouldReturnExpectedValue(string modelId, bool expected)
{ {