From a92e99e9467e5148eec13084cc61dd3aff7a716c Mon Sep 17 00:00:00 2001 From: Andrew Smith <101757907+andjsmi@users.noreply.github.com> Date: Tue, 18 Mar 2025 10:23:32 +1100 Subject: [PATCH 1/4] Update handler.py to use prepared_request.body --- litellm/llms/sagemaker/completion/handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/litellm/llms/sagemaker/completion/handler.py b/litellm/llms/sagemaker/completion/handler.py index 4aff5f5d71b..4ca9fe09734 100644 --- a/litellm/llms/sagemaker/completion/handler.py +++ b/litellm/llms/sagemaker/completion/handler.py @@ -213,7 +213,7 @@ class SagemakerLLM(BaseAWSLLM): sync_response = sync_handler.post( url=prepared_request.url, headers=prepared_request.headers, # type: ignore - json=data, + data=prepared_request.body, stream=stream, ) From 81a7cf0f44f01e824f23dd545e47d3d20bf10ca9 Mon Sep 17 00:00:00 2001 From: Andrew Smith <101757907+andjsmi@users.noreply.github.com> Date: Tue, 18 Mar 2025 11:07:38 +1100 Subject: [PATCH 2/4] Update handler.py to use prepared_request.body for input --- litellm/llms/sagemaker/completion/handler.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/litellm/llms/sagemaker/completion/handler.py b/litellm/llms/sagemaker/completion/handler.py index 4ca9fe09734..909caf73c3d 100644 --- a/litellm/llms/sagemaker/completion/handler.py +++ b/litellm/llms/sagemaker/completion/handler.py @@ -308,7 +308,7 @@ class SagemakerLLM(BaseAWSLLM): sync_response = sync_handler.post( url=prepared_request.url, headers=prepared_request.headers, # type: ignore - json=_data, + data=prepared_request.body, timeout=timeout, ) @@ -356,7 +356,7 @@ class SagemakerLLM(BaseAWSLLM): self, api_base: str, headers: dict, - data: dict, + data: str, logging_obj, client=None, ): @@ -368,7 +368,7 @@ class SagemakerLLM(BaseAWSLLM): response = await client.post( api_base, headers=headers, - json=data, + data=data, stream=True, ) @@ -440,7 +440,7 @@ class SagemakerLLM(BaseAWSLLM): completion_stream = await self.make_async_call( api_base=prepared_request.url, headers=prepared_request.headers, # type: ignore - data=data, + data=prepared_request.body, logging_obj=logging_obj, ) streaming_response = CustomStreamWrapper( @@ -522,7 +522,7 @@ class SagemakerLLM(BaseAWSLLM): response = await async_handler.post( url=prepared_request.url, headers=prepared_request.headers, # type: ignore - json=data, + data=prepared_request.body, timeout=timeout, ) From d5274efe6210362224d7a776b3dcf146f399b943 Mon Sep 17 00:00:00 2001 From: Andrew Smith <101757907+andjsmi@users.noreply.github.com> Date: Tue, 18 Mar 2025 11:09:52 +1100 Subject: [PATCH 3/4] Update test_sagemaker.py to match changed parameters --- tests/local_testing/test_sagemaker.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/local_testing/test_sagemaker.py b/tests/local_testing/test_sagemaker.py index 8438c3c6ba1..ba1ab11596c 100644 --- a/tests/local_testing/test_sagemaker.py +++ b/tests/local_testing/test_sagemaker.py @@ -265,7 +265,7 @@ async def test_acompletion_sagemaker_non_stream(): # Assert mock_post.assert_called_once() _, kwargs = mock_post.call_args - args_to_sagemaker = kwargs["json"] + args_to_sagemaker = json.loads(kwargs["data"]) print("Arguments passed to sagemaker=", args_to_sagemaker) assert args_to_sagemaker == expected_payload assert ( @@ -325,7 +325,7 @@ async def test_completion_sagemaker_non_stream(): # Assert mock_post.assert_called_once() _, kwargs = mock_post.call_args - args_to_sagemaker = kwargs["json"] + args_to_sagemaker = json.loads(kwargs["data"]) print("Arguments passed to sagemaker=", args_to_sagemaker) assert args_to_sagemaker == expected_payload assert ( @@ -386,7 +386,7 @@ async def test_completion_sagemaker_prompt_template_non_stream(): # Assert mock_post.assert_called_once() _, kwargs = mock_post.call_args - args_to_sagemaker = kwargs["json"] + args_to_sagemaker = json.loads(kwargs["data"]) print("Arguments passed to sagemaker=", args_to_sagemaker) assert args_to_sagemaker == expected_payload @@ -445,7 +445,7 @@ async def test_completion_sagemaker_non_stream_with_aws_params(): # Assert mock_post.assert_called_once() _, kwargs = mock_post.call_args - args_to_sagemaker = kwargs["json"] + args_to_sagemaker = json.loads(kwargs["data"]) print("Arguments passed to sagemaker=", args_to_sagemaker) assert args_to_sagemaker == expected_payload assert ( From b341b788a5eda167076ee8a033ef30e4a73d529f Mon Sep 17 00:00:00 2001 From: Krrish Dholakia Date: Mon, 17 Mar 2025 22:34:08 -0700 Subject: [PATCH 4/4] test: update testing --- tests/local_testing/test_provider_specific_config.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/local_testing/test_provider_specific_config.py b/tests/local_testing/test_provider_specific_config.py index dc6e62e8ca2..fc382bd3e96 100644 --- a/tests/local_testing/test_provider_specific_config.py +++ b/tests/local_testing/test_provider_specific_config.py @@ -5,7 +5,7 @@ import os import sys import traceback - +import json import pytest sys.path.insert( @@ -465,7 +465,8 @@ def test_sagemaker_default_region(): ) mock_post.assert_called_once() _, kwargs = mock_post.call_args - args_to_sagemaker = kwargs["json"] + print(f"kwargs: {kwargs}") + args_to_sagemaker = json.loads(kwargs["data"]) print("Arguments passed to sagemaker=", args_to_sagemaker) print("url=", kwargs["url"]) @@ -517,7 +518,7 @@ def test_sagemaker_environment_region(): ) mock_post.assert_called_once() _, kwargs = mock_post.call_args - args_to_sagemaker = kwargs["json"] + args_to_sagemaker = json.loads(kwargs["data"]) print("Arguments passed to sagemaker=", args_to_sagemaker) print("url=", kwargs["url"]) @@ -574,7 +575,7 @@ def test_sagemaker_config_region(): mock_post.assert_called_once() _, kwargs = mock_post.call_args - args_to_sagemaker = kwargs["json"] + args_to_sagemaker = json.loads(kwargs["data"]) print("Arguments passed to sagemaker=", args_to_sagemaker) print("url=", kwargs["url"])