|
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:
|
|
|
|
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))
|
|
|