diff --git a/aidial_adapter_bedrock/deployments.py b/aidial_adapter_bedrock/deployments.py index 26d6d5f..d90dffd 100644 --- a/aidial_adapter_bedrock/deployments.py +++ b/aidial_adapter_bedrock/deployments.py @@ -11,10 +11,22 @@ class ChatCompletionDeployment(str, Enum): ANTHROPIC_CLAUDE_INSTANT_V1 = "anthropic.claude-instant-v1" ANTHROPIC_CLAUDE_V2 = "anthropic.claude-v2" ANTHROPIC_CLAUDE_V2_1 = "anthropic.claude-v2:1" + ANTHROPIC_CLAUDE_V3_SONNET = "anthropic.claude-3-sonnet-20240229-v1:0" + ANTHROPIC_CLAUDE_V3_SONNET_US = "us.anthropic.claude-3-sonnet-20240229-v1:0" + ANTHROPIC_CLAUDE_V3_SONNET_EU = "eu.anthropic.claude-3-sonnet-20240229-v1:0" ANTHROPIC_CLAUDE_V3_5_SONNET = "anthropic.claude-3-5-sonnet-20240620-v1:0" + ANTHROPIC_CLAUDE_V3_5_SONNET_US = ( + "us.anthropic.claude-3-5-sonnet-20240620-v1:0" + ) + ANTHROPIC_CLAUDE_V3_5_SONNET_EU = ( + "eu.anthropic.claude-3-5-sonnet-20240620-v1:0" + ) ANTHROPIC_CLAUDE_V3_HAIKU = "anthropic.claude-3-haiku-20240307-v1:0" + ANTHROPIC_CLAUDE_V3_HAIKU_US = "us.anthropic.claude-3-haiku-20240307-v1:0" + ANTHROPIC_CLAUDE_V3_HAIKU_EU = "eu.anthropic.claude-3-haiku-20240307-v1:0" ANTHROPIC_CLAUDE_V3_OPUS = "anthropic.claude-3-opus-20240229-v1:0" + ANTHROPIC_CLAUDE_V3_OPUS_US = "us.anthropic.claude-3-opus-20240229-v1:0" STABILITY_STABLE_DIFFUSION_XL = "stability.stable-diffusion-xl" STABILITY_STABLE_DIFFUSION_XL_V1 = "stability.stable-diffusion-xl-v1" diff --git a/aidial_adapter_bedrock/llm/model/adapter.py b/aidial_adapter_bedrock/llm/model/adapter.py index 0b553a4..2214e08 100644 --- a/aidial_adapter_bedrock/llm/model/adapter.py +++ b/aidial_adapter_bedrock/llm/model/adapter.py @@ -43,9 +43,16 @@ async def get_bedrock_adapter( match deployment: case ( ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET + | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_US + | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_EU | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET + | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET_US + | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET_EU | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU + | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU_US + | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU_EU | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_OPUS + | ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_OPUS_US ): return Claude_V3.create(deployment, api_key, aws_client_config) case ( diff --git a/tests/integration_tests/test_chat_completion.py b/tests/integration_tests/test_chat_completion.py index 6bb3d4d..f962442 100644 --- a/tests/integration_tests/test_chat_completion.py +++ b/tests/integration_tests/test_chat_completion.py @@ -113,7 +113,11 @@ def get_id(self): ChatCompletionDeployment.ANTHROPIC_CLAUDE_V2, ChatCompletionDeployment.ANTHROPIC_CLAUDE_V2_1, ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_US, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_EU, ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET_US, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET_EU, ChatCompletionDeployment.META_LLAMA2_13B_CHAT_V1, ChatCompletionDeployment.META_LLAMA2_70B_CHAT_V1, ChatCompletionDeployment.META_LLAMA3_8B_INSTRUCT_V1, @@ -129,9 +133,16 @@ def supports_tools(deployment: ChatCompletionDeployment) -> bool: return deployment in [ ChatCompletionDeployment.ANTHROPIC_CLAUDE_V2_1, ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_US, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_EU, ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET_US, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET_EU, ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU_US, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU_EU, ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_OPUS, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_OPUS_US, ] @@ -145,8 +156,13 @@ def is_llama3(deployment: ChatCompletionDeployment) -> bool: def is_claude3(deployment: ChatCompletionDeployment) -> bool: return deployment in [ ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_US, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_EU, ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU_US, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU_EU, ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_OPUS, + ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_OPUS_US, ] diff --git a/tests/unit_tests/test_endpoints.py b/tests/unit_tests/test_endpoints.py index ac3f6f7..16f2839 100644 --- a/tests/unit_tests/test_endpoints.py +++ b/tests/unit_tests/test_endpoints.py @@ -14,9 +14,16 @@ (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V2, True, True), (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V2_1, True, True), (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET, True, True), + (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_US, True, True), + (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_SONNET_EU, True, True), (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET, True, True), + (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET_US, True, True), + (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_5_SONNET_EU, True, True), (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU, True, True), + (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU_US, True, True), + (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_HAIKU_EU, True, True), (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_OPUS, True, True), + (ChatCompletionDeployment.ANTHROPIC_CLAUDE_V3_OPUS_US, True, True), (ChatCompletionDeployment.STABILITY_STABLE_DIFFUSION_XL, False, True), (ChatCompletionDeployment.STABILITY_STABLE_DIFFUSION_XL_V1, False, True), (ChatCompletionDeployment.META_LLAMA2_13B_CHAT_V1, True, True),