From 227f55f370d05fbb5cdc9a3c2820c9ea9fb1c091 Mon Sep 17 00:00:00 2001 From: Krish Dholakia Date: Mon, 22 Jul 2024 07:40:24 -0700 Subject: [PATCH] Revert "Fix: use Bedrock region from environment variables before other region definitions" --- litellm/llms/bedrock.py | 16 ++-- .../tests/test_provider_specific_config.py | 84 +------------------ 2 files changed, 10 insertions(+), 90 deletions(-) diff --git a/litellm/llms/bedrock.py b/litellm/llms/bedrock.py index 04a762d69..e12b656ed 100644 --- a/litellm/llms/bedrock.py +++ b/litellm/llms/bedrock.py @@ -605,13 +605,15 @@ def init_bedrock_client( ) = params_to_check ### SET REGION NAME - region_name = ( - litellm_aws_region_name # prefer environment variables before inline region parameters - or standard_aws_region_name - or region_name - or aws_region_name - ) - if not region_name: + if region_name: + pass + elif aws_region_name: + region_name = aws_region_name + elif litellm_aws_region_name: + region_name = litellm_aws_region_name + elif standard_aws_region_name: + region_name = standard_aws_region_name + else: raise BedrockError( message="AWS region not set: set AWS_REGION_NAME or AWS_REGION env variable or in .env file", status_code=401, diff --git a/litellm/tests/test_provider_specific_config.py b/litellm/tests/test_provider_specific_config.py index f5c666a47..c20c44fb1 100644 --- a/litellm/tests/test_provider_specific_config.py +++ b/litellm/tests/test_provider_specific_config.py @@ -10,7 +10,7 @@ sys.path.insert( 0, os.path.abspath("../..") ) # Adds the parent directory to the system path import litellm -from litellm import completion, AuthenticationError +from litellm import completion from litellm import RateLimitError # Huggingface - Expensive to deploy models and keep them running. Maybe we can try doing this via baseten?? @@ -656,88 +656,6 @@ def bedrock_test_completion(): # bedrock_test_completion() -def test_bedrock_embedding_default_region(): - """ - If no regions are specified in config or in environment, then throw an error - """ - try: - litellm.embedding( - model="bedrock/amazon.titan-embed-text-v1", - input="Hello, world!" - ) - except Exception as e: - assert isinstance(e, AuthenticationError) - assert "AWS region not set" in str(e) - - -# test_bedrock_embedding_default_region() - - -def test_bedrock_embedding_config_region(mocker): - """ - When region is specified inline or in config, use that region - """ - expected_region = "us-east-1" - mock_client = mocker.patch("boto3.client") - try: - litellm.embedding( - model="bedrock/amazon.titan-embed-text-v1", - input="Hello, world!", - aws_region_name=expected_region - ) - except Exception: - pass # expected serialization exception because AWS client was replaced with a Mock - assert mock_client.call_args.kwargs["region_name"] == expected_region - - -# test_bedrock_embedding_config_region() - - -def test_bedrock_embedding_environment_region(mocker): - """ - When region is specified in an environment variable, use that region - """ - expected_region = "us-east-1" - os.environ["AWS_REGION_NAME"] = expected_region - mock_client = mocker.patch("boto3.client") - try: - litellm.embedding( - model="bedrock/amazon.titan-embed-text-v1", - input="Hello, world!" - ) - except Exception: - pass # expected serialization exception because AWS client was replaced with a Mock - del os.environ["AWS_REGION_NAME"] # cleanup - assert mock_client.call_args.kwargs["region_name"] == expected_region - - -# test_bedrock_embedding_environment_region() - - -def test_bedrock_embedding_config_environment_region(mocker): - """ - If region is supplied in both the config and the environment variable, use the one - defined in the environment variable - """ - expected_region = "us-east-1" - unexpected_region = "us-west-2" - os.environ["AWS_REGION_NAME"] = expected_region - mock_client = mocker.patch("boto3.client") - try: - litellm.embedding( - model="bedrock/amazon.titan-embed-text-v1", - input="Hello, world!", - aws_region_name=unexpected_region - ) - except Exception: - pass # expected serialization exception because AWS client was replaced with a Mock - del os.environ["AWS_REGION_NAME"] # cleanup - assert mock_client.call_args.kwargs["region_name"] == expected_region - - -# test_bedrock_embedding_config_environment_region() - - # OpenAI Chat Completion def openai_test_completion(): litellm.OpenAIConfig(max_tokens=10)