Skip to content

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:

kubectl get aimclustermodel qwen3-32b -o yaml

Key fields to look for:

  • spec.image — The container image for this model
  • status.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:

spec:
  registry: ghcr.io
  imagePullSecrets:
    - name: ghcr-pull-secret
  filters:
    - image: "my-org/aim-*"

The secret must exist in the operator namespace (typically aim-system).

Monitoring Sync Status

kubectl get aimclustermodelsource amd-models -o jsonpath='{.status}' | jq

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:

  1. Namespace-scoped AIMModel with that name
  2. Cluster-scoped AIMClusterModel with 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