Describe the bug
Application inference profiles are displayed with their full ARN instead of the human-readable inferenceProfileName in the /models API response, making it difficult for users to identify and select profiles in OpenWebUI.
Please complete the following information:
To Reproduce
Steps to reproduce the behavior:
- Enable application inference profiles:
ENABLE_APPLICATION_INFERENCE_PROFILES=true
- Create an application inference profile in AWS Bedrock with a friendly name (e.g., "my-team-claude")
- Call
GET /models API
- Observe that the profile appears with its ARN instead of the profile name
Example response:
json
{
"object": "list",
"data": [
{
"id": "arn:aws:bedrock:eu-central-1:954976287784:application-inference-profile/0h48dnxmrxnl",
"object": "model",
"owned_by": "bedrock"
}
]
}
Expected behavior
The model ID should use the inferenceProfileName instead of the ARN:
json
{
"object": "list",
"data": [
{
"id": "my-team-claude",
"object": "model",
"owned_by": "bedrock"
}
]
}
Root Cause
In src/api/models/bedrock.py line 189, the code uses the ARN as the dictionary key instead of the profile name:
python
Current code (line 189)
for profile_id, metadata in profile_metadata.items():
if metadata.get("underlying_model_id") == model_id:
model_list[profile_id] = {"modalities": input_modalities} # profile_id is the ARN
The inferenceProfileName is retrieved (line 162) but not used as the model ID:
python
profile_metadata[profile_arn] = {
"underlying_model_id": model_id,
"profile_type": "APPLICATION",
"profile_name": profile.get("inferenceProfileName", ""), # Retrieved but not used
}
Additional context
The fix requires:
- Using
inferenceProfileName as the model ID in the response
- Maintaining ARN mapping internally for Bedrock API calls (since Bedrock requires ARNs, not names)
- Updating
_invoke_bedrock() to resolve profile names back to ARNs when calling Bedrock APIs
This affects user experience in where users see cryptic ARNs instead of meaningful profile names when selecting models.
Describe the bug
Application inference profiles are displayed with their full ARN instead of the human-readable
inferenceProfileNamein the/modelsAPI response, making it difficult for users to identify and select profiles in OpenWebUI.Please complete the following information:
/modelsarn:aws:bedrock:eu-central-1:954976287784:application-inference-profile/0h48dnxmrxnl)To Reproduce
Steps to reproduce the behavior:
ENABLE_APPLICATION_INFERENCE_PROFILES=trueGET /modelsAPIExample response:
json
{
"object": "list",
"data": [
{
"id": "arn:aws:bedrock:eu-central-1:954976287784:application-inference-profile/0h48dnxmrxnl",
"object": "model",
"owned_by": "bedrock"
}
]
}
Expected behavior
The model ID should use the
inferenceProfileNameinstead of the ARN:json
{
"object": "list",
"data": [
{
"id": "my-team-claude",
"object": "model",
"owned_by": "bedrock"
}
]
}
Root Cause
In
src/api/models/bedrock.pyline 189, the code uses the ARN as the dictionary key instead of the profile name:python
Current code (line 189)
for profile_id, metadata in profile_metadata.items():
if metadata.get("underlying_model_id") == model_id:
model_list[profile_id] = {"modalities": input_modalities} # profile_id is the ARN
The
inferenceProfileNameis retrieved (line 162) but not used as the model ID:python
profile_metadata[profile_arn] = {
"underlying_model_id": model_id,
"profile_type": "APPLICATION",
"profile_name": profile.get("inferenceProfileName", ""), # Retrieved but not used
}
Additional context
The fix requires:
inferenceProfileNameas the model ID in the response_invoke_bedrock()to resolve profile names back to ARNs when calling Bedrock APIsThis affects user experience in where users see cryptic ARNs instead of meaningful profile names when selecting models.