File tree 2 files changed +21
-7
lines changed
2 files changed +21
-7
lines changed Original file line number Diff line number Diff line change 3
3
"""
4
4
5
5
import os
6
- from typing import List , Optional , Union
6
+ from typing import List , Literal , Optional , Union
7
7
8
8
import httpx
9
9
@@ -360,3 +360,19 @@ def _supported_cross_region_inference_region() -> List[str]:
360
360
Abbreviations of regions AWS Bedrock supports for cross region inference
361
361
"""
362
362
return ["us" , "eu" , "apac" ]
363
+
364
+ @staticmethod
365
+ def get_bedrock_route (model : str ) -> Literal ["converse" , "invoke" , "converse_like" ]:
366
+ """
367
+ Get the bedrock route for the given model.
368
+ """
369
+ base_model = BedrockModelInfo .get_base_model (model )
370
+ if "invoke/" in model :
371
+ return "invoke"
372
+ elif "converse_like" in model :
373
+ return "converse_like"
374
+ elif "converse/" in model :
375
+ return "converse"
376
+ elif base_model in litellm .bedrock_converse_models :
377
+ return "converse"
378
+ return "invoke"
Original file line number Diff line number Diff line change 68
68
get_content_from_model_response ,
69
69
)
70
70
from litellm .llms .base_llm .chat .transformation import BaseConfig
71
+ from litellm .llms .bedrock .common_utils import BedrockModelInfo
71
72
from litellm .llms .custom_httpx .http_handler import AsyncHTTPHandler , HTTPHandler
72
73
from litellm .realtime_api .main import _realtime_health_check
73
74
from litellm .secret_managers .main import get_secret_str
@@ -2628,11 +2629,8 @@ def completion( # type: ignore # noqa: PLR0915
2628
2629
aws_bedrock_client .meta .region_name
2629
2630
)
2630
2631
2631
- base_model = litellm .AmazonConverseConfig ()._get_base_model (model )
2632
-
2633
- if base_model in litellm .bedrock_converse_models or model .startswith (
2634
- "converse/"
2635
- ):
2632
+ bedrock_route = BedrockModelInfo .get_bedrock_route (model )
2633
+ if bedrock_route == "converse" :
2636
2634
model = model .replace ("converse/" , "" )
2637
2635
response = bedrock_converse_chat_completion .completion (
2638
2636
model = model ,
@@ -2651,7 +2649,7 @@ def completion( # type: ignore # noqa: PLR0915
2651
2649
client = client ,
2652
2650
api_base = api_base ,
2653
2651
)
2654
- elif "converse_like" in model :
2652
+ elif bedrock_route == "converse_like" :
2655
2653
model = model .replace ("converse_like/" , "" )
2656
2654
response = base_llm_http_handler .completion (
2657
2655
model = model ,
You can’t perform that action at this time.
0 commit comments