Model Catalog¶
AIM Engine maintains a catalog of available AI models as Kubernetes custom resources. This guide covers browsing, discovering, and managing models.
Browsing Models¶
List all available models:
# Cluster-scoped models (available to all namespaces)
kubectl get aimclustermodels
# Namespace-scoped models
kubectl get aimmodels -n <namespace>
View model details:
Key fields to look for:
spec.image— The container image for this modelstatus.status— Current state (Ready,Pending, etc.)metadata.labels— Model metadata (hardware, precision, etc.)
Automatic Model Discovery¶
AIMClusterModelSource automatically discovers models from container registries and creates AIMClusterModel resources.
Setting Up Discovery¶
apiVersion: aim.eai.amd.com/v1alpha1
kind: AIMClusterModelSource
metadata:
name: amd-models
spec:
registry: docker.io
filters:
- image: "amdenterpriseai/aim-*"
versions:
- ">=0.8.4"
syncInterval: 1h
maxModels: 500
Filtering Images¶
Use wildcards and version constraints to control which images are discovered:
spec:
filters:
- image: "amdenterpriseai/aim-*"
exclude:
- "amdenterpriseai/aim-experimental"
versions:
- ">=1.0.0"
- "<2.0.0"
exclude values are exact repository matches (wildcards are not supported in exclude).
Private Registries¶
Authenticate to private registries using image pull secrets:
The secret must exist in the operator namespace (typically aim-system).
Monitoring Sync Status¶
Creating Models Manually¶
Create a namespace-scoped model:
apiVersion: aim.eai.amd.com/v1alpha1
kind: AIMModel
metadata:
name: qwen3-32b
namespace: ml-team
spec:
image: amdenterpriseai/aim-qwen-qwen3-32b:0.8.5
Or a cluster-scoped model:
apiVersion: aim.eai.amd.com/v1alpha1
kind: AIMClusterModel
metadata:
name: qwen3-32b
spec:
image: amdenterpriseai/aim-qwen-qwen3-32b:0.8.5
Model Resolution¶
When an AIMService references a model by name, AIM Engine resolves it in this order:
- Namespace-scoped
AIMModelwith that name - Cluster-scoped
AIMClusterModelwith that name
Namespace-scoped resources take precedence, allowing teams to override cluster models.
When using model.image instead of model.name, AIM Engine searches for any model matching that image URI. If none exists, it creates an AIMModel automatically.
Next Steps¶
- Deploying Services — Use models in inference services
- Model Sources — Deep dive into AIMClusterModelSource
- AIM Models — Full model lifecycle and discovery mechanics