Every example in the red-hat-ai-examples repository MUST include an example.yaml metadata file. This file provides structured information about the example, enabling discovery, validation, and documentation generation.
metadata:
# Basic Information
title: string # Human-readable title
description: string # 2-3 sentence description
status: community | validated # Validation status
# Hardware Requirements (Optional)
hardware:
gpu:
required: boolean # Whether GPU is required
type: string | null # e.g., "NVIDIA L40S", "A10"
count: integer | null # Number of GPUs needed
memory_per_gpu: string | null # e.g., "48GB", "24GB"
cpu:
cores: integer | null # CPU cores required
memory: string | null # System memory (e.g., "32Gi")
storage: string | null # Storage needed (e.g., "10Gi RWX")
multi_node: boolean # Multi-node setup required
# Time Estimates (Optional)
duration_estimate:
setup: string | null # e.g., "15 minutes"
execution: string # e.g., "2 hours"
total: string # Total time
# Classification (Optional)
tags: list[string] # From predefined list
use_case: string # From predefined list
complexity: beginner | intermediate | advanced
# Components
components:
rhoai: list[string] # RHOAI components (from predefined list)
external: list[string] | null # External services (optional)All metadata files MUST include:
metadata.titlemetadata.descriptionmetadata.statusmetadata.components.rhoai(at least one component)
| Field | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Human-readable title (under 80 characters) |
description |
string | Yes | 2-3 sentence description of the example |
status |
enum | Yes | community or validated |
| Field | Type | Required | Description |
|---|---|---|---|
hardware.gpu.required |
boolean | No* | Whether GPU is required |
hardware.gpu.type |
string | No | GPU type (e.g., "NVIDIA L40S") |
hardware.gpu.count |
integer | No | Number of GPUs needed |
hardware.gpu.memory_per_gpu |
string | No | Memory per GPU (e.g., "48GB") |
hardware.cpu.cores |
integer | No | CPU cores required |
hardware.memory |
string | No | System memory (e.g., "32Gi") |
hardware.storage |
string | No | Storage needed (e.g., "10Gi RWX") |
hardware.multi_node |
boolean | No* | Multi-node setup required |
*Required if hardware section is present.
| Field | Type | Required | Description |
|---|---|---|---|
duration_estimate.setup |
string | No | Setup time (e.g., "15 minutes") |
duration_estimate.execution |
string | No* | Execution time (e.g., "2 hours") |
duration_estimate.total |
string | No* | Total time |
*Required if duration_estimate section is present.
| Field | Type | Required | Description |
|---|---|---|---|
tags |
list[string] | No | Tags from predefined list |
use_case |
string | No | Use case from predefined list |
complexity |
enum | No | beginner, intermediate, or advanced |
| Field | Type | Required | Description |
|---|---|---|---|
components.rhoai |
list[string] | Yes | RHOAI components from predefined list |
components.external |
list[string] | No | External services (e.g., huggingface-hub) |
fine-tuning- Model fine-tuning techniquesknowledge-tuning- Knowledge injection methodscompression- Model compressionquantization- Model quantizationRAG- Retrieval-augmented generationevaluation- Model evaluationdistributed-training- Multi-GPU or multi-node trainingpipeline- Workflow pipelinesinference- Model inference/servingcontinual-learning- Continual/lifelong learning
model-compression- Reducing model size/requirementsmodel-fine-tuning- Fine-tuning pretrained modelsknowledge-injection- Adding domain knowledgecontinual-learning- Learning without forgettingdomain-customization- Customizing for specific domainsmodel-evaluation- Evaluating model performancedata-generation- Generating synthetic training data
workbench- RHOAI Workbench/JupyterLabdata-science-pipelines- Kubeflow Pipelinestraining-operator- Kubeflow Training Operatormodel-serving- Model serving infrastructurekserve- KServe model serving
All metadata files are automatically validated by CI using tests/validation/test_example_metadata.py. To validate locally:
pytest tests/validation/test_example_metadata.py -v