mirror of
https://github.com/tiennm99/litellm.git
synced 2026-08-14 02:22:54 +00:00
Add bedrock route in realtim main.py
This commit is contained in:
@@ -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}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user