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/3] 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 4aff5f5d71..4ca9fe0973 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/3] 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 4ca9fe0973..909caf73c3 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/3] 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 8438c3c6ba..ba1ab11596 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 (