mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-10 08:28:25 +00:00
Merge 5d46607a62 into b71491c6c9
This commit is contained in:
commit
a15abfcef6
2 changed files with 22 additions and 23 deletions
|
|
@ -22,7 +22,6 @@ from litellm.llms.custom_httpx.http_handler import (
|
|||
get_async_httpx_client,
|
||||
get_httpx_client,
|
||||
)
|
||||
from litellm.secret_managers.main import get_secret
|
||||
from litellm.types.llms.bedrock import (
|
||||
AmazonEmbeddingRequest,
|
||||
CohereEmbeddingRequest,
|
||||
|
|
@ -101,23 +100,8 @@ class BedrockEmbedding(BaseAWSLLM):
|
|||
) -> tuple[Credentials | None, str]:
|
||||
auth_params: Final = pop_aws_auth_params(optional_params)
|
||||
explicit_region_name: Final = optional_params.pop("aws_region_name", None)
|
||||
aws_region_name = region_from_model if explicit_region_name is None else explicit_region_name
|
||||
|
||||
### SET REGION NAME ###
|
||||
if aws_region_name is None:
|
||||
# check env #
|
||||
litellm_aws_region_name: Final = get_secret("AWS_REGION_NAME", None)
|
||||
|
||||
if litellm_aws_region_name is not None and isinstance(litellm_aws_region_name, str):
|
||||
aws_region_name = litellm_aws_region_name
|
||||
|
||||
standard_aws_region_name: Final = get_secret("AWS_REGION", None)
|
||||
if standard_aws_region_name is not None and isinstance(standard_aws_region_name, str):
|
||||
aws_region_name = standard_aws_region_name
|
||||
|
||||
if aws_region_name is None:
|
||||
aws_region_name = "us-west-2"
|
||||
|
||||
requested_region: Final = region_from_model if explicit_region_name is None else explicit_region_name
|
||||
aws_region_name: Final = self._get_aws_region_name(optional_params={"aws_region_name": requested_region})
|
||||
credentials: Final[Credentials | None] = (
|
||||
None if bearer_token is not None else self.resolve_credentials(auth_params, aws_region_name)
|
||||
)
|
||||
|
|
@ -446,11 +430,6 @@ class BedrockEmbedding(BaseAWSLLM):
|
|||
### TRANSFORMATION ###
|
||||
unencoded_model_id: Final = model_id_param or bedrock_model
|
||||
modelId: Final = urllib.parse.quote(unencoded_model_id, safe="")
|
||||
aws_region_name = self._get_aws_region_name(
|
||||
optional_params={"aws_region_name": aws_region_name},
|
||||
model=bedrock_model,
|
||||
model_id=unencoded_model_id,
|
||||
)
|
||||
provider: Final = self.get_bedrock_embedding_provider(bedrock_model)
|
||||
if provider is None:
|
||||
raise Exception(
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import json
|
||||
import asyncio
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import Final
|
||||
from unittest.mock import Mock, patch
|
||||
from unittest.mock import AsyncMock, MagicMock
|
||||
|
|
@ -302,6 +303,25 @@ def test_bedrock_embedding_plain_model_id_calls_the_env_region_like_chat(
|
|||
assert route.call_count == 1
|
||||
|
||||
|
||||
def test_bedrock_embedding_calls_the_boto3_session_region_like_chat(
|
||||
respx_mock: respx.MockRouter,
|
||||
monkeypatch: pytest.MonkeyPatch,
|
||||
tmp_path: Path,
|
||||
) -> None:
|
||||
for name in ("AWS_REGION_NAME", "AWS_REGION", "AWS_PROFILE"):
|
||||
monkeypatch.delenv(name, raising=False)
|
||||
monkeypatch.setenv("AWS_CONFIG_FILE", str(tmp_path / "no-aws-config"))
|
||||
monkeypatch.setenv("AWS_DEFAULT_REGION", "ap-south-1")
|
||||
route: Final = respx_mock.post(url__regex=r"^https://bedrock-runtime\.[a-z0-9-]+\.amazonaws\.com/").mock(
|
||||
return_value=httpx.Response(200, json=titan_embedding_response)
|
||||
)
|
||||
|
||||
litellm.embedding(model="bedrock/amazon.titan-embed-text-v2:0", input=[test_input], api_key="test-bearer-token")
|
||||
|
||||
sent_to: Final = route.calls.last.request.url
|
||||
assert sent_to.host == "bedrock-runtime.ap-south-1.amazonaws.com", str(sent_to)
|
||||
|
||||
|
||||
def test_bedrock_embedding_rejects_an_empty_aws_region_name_instead_of_using_the_path_region(
|
||||
respx_mock: respx.MockRouter,
|
||||
) -> None:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue