Add bedrock route in realtim main.py

This commit is contained in:
Sameer Kankute
2026-02-02 12:16:05 +05:30
parent df387c39f6
commit 037c10d7cb
+37 -2
View File
@@ -3,8 +3,8 @@
from typing import Any, Optional, cast
import litellm
from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider
from litellm.constants import REALTIME_WEBSOCKET_MAX_MESSAGE_SIZE_BYTES
from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider
from litellm.llms.base_llm.realtime.transformation import BaseRealtimeConfig
from litellm.llms.custom_httpx.llm_http_handler import BaseLLMHTTPHandler
from litellm.secret_managers.main import get_secret_str
@@ -16,12 +16,14 @@ from litellm.utils import ProviderConfigManager
from ..litellm_core_utils.get_litellm_params import get_litellm_params
from ..litellm_core_utils.litellm_logging import Logging as LiteLLMLogging
from ..llms.azure.realtime.handler import AzureOpenAIRealtime
from ..llms.bedrock.realtime.handler import BedrockRealtime
from ..llms.custom_httpx.http_handler import get_shared_realtime_ssl_context
from ..llms.openai.realtime.handler import OpenAIRealtime
from ..utils import client as wrapper_client
from ..llms.custom_httpx.http_handler import get_shared_realtime_ssl_context
azure_realtime = AzureOpenAIRealtime()
openai_realtime = OpenAIRealtime()
bedrock_realtime = BedrockRealtime()
base_llm_http_handler = BaseLLMHTTPHandler()
@@ -153,6 +155,39 @@ async def _arealtime(
timeout=timeout,
query_params=query_params,
)
elif _custom_llm_provider == "bedrock":
# Extract AWS parameters from kwargs
aws_region_name = kwargs.get("aws_region_name")
aws_access_key_id = kwargs.get("aws_access_key_id")
aws_secret_access_key = kwargs.get("aws_secret_access_key")
aws_session_token = kwargs.get("aws_session_token")
aws_role_name = kwargs.get("aws_role_name")
aws_session_name = kwargs.get("aws_session_name")
aws_profile_name = kwargs.get("aws_profile_name")
aws_web_identity_token = kwargs.get("aws_web_identity_token")
aws_sts_endpoint = kwargs.get("aws_sts_endpoint")
aws_bedrock_runtime_endpoint = kwargs.get("aws_bedrock_runtime_endpoint")
aws_external_id = kwargs.get("aws_external_id")
await bedrock_realtime.async_realtime(
model=model,
websocket=websocket,
logging_obj=litellm_logging_obj,
api_base=dynamic_api_base or api_base,
api_key=dynamic_api_key or api_key,
timeout=timeout,
aws_region_name=aws_region_name,
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
aws_session_token=aws_session_token,
aws_role_name=aws_role_name,
aws_session_name=aws_session_name,
aws_profile_name=aws_profile_name,
aws_web_identity_token=aws_web_identity_token,
aws_sts_endpoint=aws_sts_endpoint,
aws_bedrock_runtime_endpoint=aws_bedrock_runtime_endpoint,
aws_external_id=aws_external_id,
)
else:
raise ValueError(f"Unsupported model: {model}")