Skip to content

Application inference profiles show ARN instead of profile name in /models API #218

@Cabeda

Description

@Cabeda

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:

  • Which API you used: /models
  • Which model you used: Application inference profiles for claude sonnet 4.5 (e.g., arn:aws:bedrock:eu-central-1:954976287784:application-inference-profile/0h48dnxmrxnl)

To Reproduce
Steps to reproduce the behavior:

  1. Enable application inference profiles: ENABLE_APPLICATION_INFERENCE_PROFILES=true
  2. Create an application inference profile in AWS Bedrock with a friendly name (e.g., "my-team-claude")
  3. Call GET /models API
  4. 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:

  1. Using inferenceProfileName as the model ID in the response
  2. Maintaining ARN mapping internally for Bedrock API calls (since Bedrock requires ARNs, not names)
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions