zzz / openhands /llm /bedrock.py
ar08's picture
Upload 1040 files
246d201 verified
import boto3
from openhands.core.logger import openhands_logger as logger
def list_foundation_models(
aws_region_name: str, aws_access_key_id: str, aws_secret_access_key: str
) -> list[str]:
try:
# The AWS bedrock model id is not queried, if no AWS parameters are configured.
client = boto3.client(
service_name='bedrock',
region_name=aws_region_name,
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
)
foundation_models_list = client.list_foundation_models(
byOutputModality='TEXT', byInferenceType='ON_DEMAND'
)
model_summaries = foundation_models_list['modelSummaries']
return ['bedrock/' + model['modelId'] for model in model_summaries]
except Exception as err:
logger.warning(
'%s. Please config AWS_REGION_NAME AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY'
' if you want use bedrock model.',
err,
)
return []
def remove_error_modelId(model_list):
return list(filter(lambda m: not m.startswith('bedrock'), model_list))