From 4885b3658066aa66326f69c741473162cbb4b2a0 Mon Sep 17 00:00:00 2001 From: An Tang Date: Fri, 20 Feb 2026 13:07:10 -0800 Subject: [PATCH] fix: bedrock openai-compatible imported-model should also have model arn encoded --- .../invoke_transformations/amazon_openai_transformation.py | 4 ++++ tests/llm_translation/test_bedrock_completion.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/litellm/llms/bedrock/chat/invoke_transformations/amazon_openai_transformation.py b/litellm/llms/bedrock/chat/invoke_transformations/amazon_openai_transformation.py index ee07b71ef1..a438be1745 100644 --- a/litellm/llms/bedrock/chat/invoke_transformations/amazon_openai_transformation.py +++ b/litellm/llms/bedrock/chat/invoke_transformations/amazon_openai_transformation.py @@ -14,6 +14,7 @@ import httpx from litellm.llms.bedrock.base_aws_llm import BaseAWSLLM from litellm.llms.bedrock.common_utils import BedrockError from litellm.llms.openai.chat.gpt_transformation import OpenAIGPTConfig +from litellm.passthrough.utils import CommonUtils from litellm.types.llms.openai import AllMessageValues if TYPE_CHECKING: @@ -94,6 +95,9 @@ class AmazonBedrockOpenAIConfig(OpenAIGPTConfig, BaseAWSLLM): aws_bedrock_runtime_endpoint=aws_bedrock_runtime_endpoint, aws_region_name=aws_region_name, ) + + # Encode model ID for ARNs (e.g., :imported-model/ -> :imported-model%2F) + model_id = CommonUtils.encode_bedrock_runtime_modelid_arn(model_id) # Build the invoke URL if stream: diff --git a/tests/llm_translation/test_bedrock_completion.py b/tests/llm_translation/test_bedrock_completion.py index d23033c1e4..40ef2c3283 100644 --- a/tests/llm_translation/test_bedrock_completion.py +++ b/tests/llm_translation/test_bedrock_completion.py @@ -3517,7 +3517,7 @@ def test_bedrock_openai_imported_model(): print(f"URL: {url}") assert "bedrock-runtime.us-east-1.amazonaws.com" in url assert ( - "arn:aws:bedrock:us-east-1:117159858402:imported-model/m4gc1mrfuddy" in url + "arn:aws:bedrock:us-east-1:117159858402:imported-model%2Fm4gc1mrfuddy" in url ) assert "/invoke" in url