feat: rename aws env vars for bedrock (#2907)
Co-authored-by: Andy Li <55300002+cliandy@users.noreply.github.com>
This commit is contained in:
@@ -10,14 +10,14 @@ def has_valid_aws_credentials() -> bool:
|
||||
"""
|
||||
Check if AWS credentials are properly configured.
|
||||
"""
|
||||
valid_aws_credentials = os.getenv("AWS_ACCESS_KEY") and os.getenv("AWS_SECRET_ACCESS_KEY") and os.getenv("AWS_REGION")
|
||||
valid_aws_credentials = os.getenv("AWS_ACCESS_KEY_ID") and os.getenv("AWS_SECRET_ACCESS_KEY") and os.getenv("AWS_DEFAULT_REGION")
|
||||
return valid_aws_credentials
|
||||
|
||||
|
||||
def get_bedrock_client(
|
||||
access_key: Optional[str] = None,
|
||||
access_key_id: Optional[str] = None,
|
||||
secret_key: Optional[str] = None,
|
||||
region: Optional[str] = None,
|
||||
default_region: Optional[str] = None,
|
||||
):
|
||||
"""
|
||||
Get a Bedrock client
|
||||
@@ -26,9 +26,9 @@ def get_bedrock_client(
|
||||
|
||||
sts_client = boto3.client(
|
||||
"sts",
|
||||
aws_access_key_id=access_key or model_settings.aws_access_key,
|
||||
aws_access_key_id=access_key_id or model_settings.aws_access_key_id,
|
||||
aws_secret_access_key=secret_key or model_settings.aws_secret_access_key,
|
||||
region_name=region or model_settings.aws_region,
|
||||
region_name=default_region or model_settings.aws_default_region,
|
||||
)
|
||||
credentials = sts_client.get_session_token()["Credentials"]
|
||||
|
||||
@@ -36,7 +36,7 @@ def get_bedrock_client(
|
||||
aws_access_key=credentials["AccessKeyId"],
|
||||
aws_secret_key=credentials["SecretAccessKey"],
|
||||
aws_session_token=credentials["SessionToken"],
|
||||
aws_region=region or model_settings.aws_region,
|
||||
aws_region=default_region or model_settings.aws_default_region,
|
||||
)
|
||||
return bedrock
|
||||
|
||||
|
||||
@@ -1516,12 +1516,12 @@ class CohereProvider(OpenAIProvider):
|
||||
class AnthropicBedrockProvider(Provider):
|
||||
provider_type: Literal[ProviderType.bedrock] = Field(ProviderType.bedrock, description="The type of the provider.")
|
||||
provider_category: ProviderCategory = Field(ProviderCategory.base, description="The category of the provider (base or byok)")
|
||||
aws_region: str = Field(..., description="AWS region for Bedrock")
|
||||
region: str = Field(..., description="AWS region for Bedrock")
|
||||
|
||||
def list_llm_models(self):
|
||||
from letta.llm_api.aws_bedrock import bedrock_get_model_list
|
||||
|
||||
models = bedrock_get_model_list(self.aws_region)
|
||||
models = bedrock_get_model_list(self.region)
|
||||
|
||||
configs = []
|
||||
for model_summary in models:
|
||||
|
||||
@@ -365,11 +365,11 @@ class SyncServer(Server):
|
||||
base_url=model_settings.vllm_api_base,
|
||||
)
|
||||
)
|
||||
if model_settings.aws_access_key and model_settings.aws_secret_access_key and model_settings.aws_region:
|
||||
if model_settings.aws_access_key_id and model_settings.aws_secret_access_key and model_settings.aws_default_region:
|
||||
self._enabled_providers.append(
|
||||
AnthropicBedrockProvider(
|
||||
name="bedrock",
|
||||
aws_region=model_settings.aws_region,
|
||||
region=model_settings.aws_default_region,
|
||||
)
|
||||
)
|
||||
# Attempt to enable LM Studio by default
|
||||
|
||||
@@ -95,9 +95,9 @@ class ModelSettings(BaseSettings):
|
||||
groq_api_key: Optional[str] = None
|
||||
|
||||
# Bedrock
|
||||
aws_access_key: Optional[str] = None
|
||||
aws_access_key_id: Optional[str] = None
|
||||
aws_secret_access_key: Optional[str] = None
|
||||
aws_region: Optional[str] = None
|
||||
aws_default_region: Optional[str] = None
|
||||
bedrock_anthropic_version: Optional[str] = "bedrock-2023-05-31"
|
||||
|
||||
# anthropic
|
||||
|
||||
Reference in New Issue
Block a user