in packages/constructs/L3/ai/gaia-l3-construct/lib/shared/layers/python-sdk/python/genai_core/models.py [0:0]
def list_bedrock_finetuned_models():
try:
bedrock = genai_core.clients.get_bedrock_client(service_name="bedrock")
if not bedrock:
return None
response = bedrock.list_custom_models()
bedrock_custom_models = response.get("modelSummaries", [])
models = [
{
"provider": Provider.BEDROCK.value,
"name": f"{model['modelName']} (base model: {model['baseModelName']})",
"streaming": model.get("responseStreamingSupported", False),
"inputModalities": model["inputModalities"],
"outputModalities": model["outputModalities"],
"interface": ModelInterface.LANGCHIAN.value,
"ragSupported": True,
}
for model in bedrock_custom_models
# Exclude embeddings and stable diffusion models
if "inputModalities" in model
and "outputModalities" in model
and Modality.EMBEDDING.value not in model.get("outputModalities", [])
and Modality.IMAGE.value not in model.get("outputModalities", [])
]
return models
except Exception as e:
print(f"Error listing fine-tuned Bedrock models: {e}")
return None