From ab66d2f99f64844aaaae95ce0393902d0657fe25 Mon Sep 17 00:00:00 2001 From: Matt Kornfield Date: Mon, 20 Jul 2026 16:13:42 +0000 Subject: [PATCH] docs: update 0.3 release notes Signed-off-by: Matt Kornfield --- docs/about/release-notes/current-release.mdx | 113 +++++++-------- docs/about/release-notes/index.mdx | 3 +- docs/about/release-notes/release-0-2-0.mdx | 135 ++++++++++++++++++ docs/agents/plugins.mdx | 7 +- docs/customizer/index.mdx | 14 +- .../tutorials/sft-customization-job.ipynb | 2 - .../tutorials/sft-customization-job.mdx | 2 - .../notebooks/sft-customization-job.json | 6 +- .../notebooks/sft-customization-job.ts | 4 +- docs/fern/versions/latest.yml | 3 + docs/requirements.mdx | 14 +- docs/set-up/config-reference.mdx | 2 - docs/support-matrix.mdx | 13 +- script/generate_config_docs.py | 2 - 14 files changed, 224 insertions(+), 96 deletions(-) create mode 100644 docs/about/release-notes/release-0-2-0.mdx diff --git a/docs/about/release-notes/current-release.mdx b/docs/about/release-notes/current-release.mdx index 42f3374c7f5..d3cf9a0ed9e 100644 --- a/docs/about/release-notes/current-release.mdx +++ b/docs/about/release-notes/current-release.mdx @@ -1,73 +1,56 @@ --- -title: "v0.2.0 - 2026-06-25" +title: "v0.3.0" description: "" --- -NeMo Platform v0.2.0 expands the local-first OSS distribution with plugin -workflows for fine-tuning, synthetic data generation, and model auditing. It -also improves Docker-backed local workflows, SDK resources, and NAT-based agent -container tooling. +NeMo Platform v0.3.0 expands the OSS distribution beyond local setup with +self-managed Kubernetes and Helm documentation, while continuing to support +the local-first Python package, CLI, SDK, Studio, and plugin workflows. ## Highlights -- **Fine-tuning.** Customizer is available through the plugin architecture, - with Docker-backed Unsloth jobs, NeMo Automodel configuration support, vLLM - adapter support, and updated tutorials. -- **Local model serving.** vLLM deployment in Docker supports local - model-serving workflows for OSS development and testing. -- **Synthetic data generation.** Safe Synthesizer is available as a local - plugin for privacy-preserving synthetic data generation workflows. -- **Model auditing.** Auditor adds local garak-backed audit configuration, - target management, SDK resources, and documentation. -- **Agent containers.** `nemo agents` includes commands for rendering, - building, and publishing agent containers. -- **Plugin platform.** Platform capabilities can ship as plugins while still - using platform APIs, SDK resources, local services, and workspace scoping. +- **Self-managed Kubernetes.** The docs now cover Helm-based deployment to + user-managed Kubernetes clusters, including local Kind workflows and + cluster prerequisites. +- **Agent deployment docs.** Agent container deployment guidance covers local + and Kubernetes paths and clarifies how SDK, CLI, and REST callers resolve + default model placeholders. +- **Versioned compatibility.** Requirements and support-matrix pages describe + the 0.3.0 release instead of the previous local-only scope. +- **Generated reference docs.** The configuration reference remains generated + from platform config models and renders as regular Fern MDX. ## What's included -### Platform and Plugins +### Platform -- Plugin packaging for platform capabilities distributed outside the core - package. -- Docker support for source-install local platform workflows. -- SDK and API support for plugin-provided resources. +- Local source-install workflows with `make bootstrap`, `nemo setup`, and + `nemo services run`. +- Self-managed Helm/Kubernetes documentation for users deploying the platform + outside the local developer process. - Source-install auth and OIDC bootstrap guidance for users who enable RBAC locally. -### Fine-tune Models - -- Customizer migration to the plugin architecture. -- Docker-backed Unsloth SFT jobs. -- NeMo Automodel and Unsloth backend support for fine-tuning workflows. -- vLLM adapter support for serving trained adapters. -- Updated Customizer documentation and examples. - -### Models and Inference - -- vLLM deployment in Docker for local model-serving workflows. -- Local model-deployment documentation for the OSS quickstart and SDK usage. -- Continued Inference Gateway support for provider registration, virtual - models, and OpenAI-compatible routing. - ### Agents -- `nemo agents` container subcommands for rendering, building, and publishing - agent containers. -- Continued NAT-based agent workflow support from the 0.1 line. +- NAT-based agent workflow support through `nemo agents`. +- Agent container rendering, building, publishing, and deployment guidance. +- SDK and CLI examples that use the configured default model for agent + registration. -### Safe Synthesizer +### Models and Inference -- Safe Synthesizer packaged as a platform plugin. -- Local execution support for Safe Synthesizer workflows. -- Documentation and tutorials for data synthesis, PII replacement, - evaluation, jobs, host-local development, and differential privacy. +- Inference Gateway support for provider registration, virtual models, and + OpenAI-compatible routing. +- Local and provider-backed model workflows for CLI, SDK, Studio, and agents. -### Auditor +### Plugins -- Auditor plugin APIs for audit configs and targets. -- Local garak-backed auditing workflows. -- SDK resources and documentation for configuring audits and reviewing - results. +- First-party plugin workflows continue from the previous release line, + including Agents, Customizer, Safe Synthesizer, Auditor, Guardrails, + Evaluator, Anonymizer, Data Designer, Switchyard middleware, and + Deployments. +- Plugin docs cover runtime service, CLI, job, controller, inference + middleware, and coding-agent skill surfaces. ## Install @@ -84,39 +67,41 @@ nemo setup See [Setup](/documentation/get-started) for prerequisites and provider configuration. -## Upgrade from v0.1.x +For self-managed Kubernetes, start with +[Install NeMo Platform Helm Chart](/documentation/self-managed-deployment/setup/helm/install). + +## Upgrade from v0.2.x From an existing local checkout: ```bash -git fetch --tags -git checkout v0.2.0 +git fetch +git checkout main make bootstrap source .venv/bin/activate nemo setup ``` -If the `v0.2.0` tag is not available from GitHub yet, use the fresh checkout -flow above and return to the release tag after it is published. - After setup, restart local services before using CLI, SDK, Studio, or plugin workflows against the upgraded checkout. ## Compatibility - Python 3.11-3.14 -- macOS and Linux for the OSS local install path -- Docker for Docker-backed platform, job, and vLLM model-serving workflows +- macOS and Linux for local CLI, SDK, Studio, and hosted-provider workflows +- Linux x86_64 for local NVIDIA GPU workloads +- Self-managed Kubernetes clusters deployed with Helm +- Docker for Docker-backed platform, job, and local model-serving workflows - NVIDIA GPU access for local training, model serving, and GPU-backed synthetic data workflows - Node 22.18.0+ for Studio assets -- Platform API `0.2.0` and `nemo-platform` Python SDK `0.2.0` +- Platform API and `nemo-platform` Python SDK `0.3.0` ## Current constraints -- **Local-first OSS scope.** v0.2.0 improves local Docker-backed workflows. It - is not a managed cluster or scale-out enterprise release. -- **Docker model serving.** v0.2.0 includes vLLM deployment in Docker. Docker +- **Self-managed scope.** v0.3.0 documents local setup and user-managed + Kubernetes deployment. It is not a managed hosted-service release. +- **Docker model serving.** v0.3.0 includes vLLM deployment in Docker. Docker deployment for NIM is not included in this release. - **Customizer Docker support.** Docker-backed Customizer jobs target GPU Linux environments. ARM64 images and NeMo Automodel Docker execution are not @@ -126,7 +111,7 @@ workflows against the upgraded checkout. role bindings for your deployment mode before relying on them for multi-user access control. - **Skill Evaluation.** Skill Evaluation workflows are not included in - v0.2.0. + v0.3.0. ## Links diff --git a/docs/about/release-notes/index.mdx b/docs/about/release-notes/index.mdx index 9da465b679e..075cbe47907 100644 --- a/docs/about/release-notes/index.mdx +++ b/docs/about/release-notes/index.mdx @@ -4,5 +4,6 @@ description: "" --- Check out the latest release notes for NeMo Platform. -- [Release 0.2.0](/documentation/reference/release-notes/current-release) +- [Release 0.3.0](/documentation/reference/release-notes/current-release) +- [Release 0.2.0](/documentation/reference/release-notes/release-0-2-0) - [Release 0.1.0](/documentation/reference/release-notes/release-0-1-0) diff --git a/docs/about/release-notes/release-0-2-0.mdx b/docs/about/release-notes/release-0-2-0.mdx new file mode 100644 index 00000000000..42f3374c7f5 --- /dev/null +++ b/docs/about/release-notes/release-0-2-0.mdx @@ -0,0 +1,135 @@ +--- +title: "v0.2.0 - 2026-06-25" +description: "" +--- +NeMo Platform v0.2.0 expands the local-first OSS distribution with plugin +workflows for fine-tuning, synthetic data generation, and model auditing. It +also improves Docker-backed local workflows, SDK resources, and NAT-based agent +container tooling. + +## Highlights + +- **Fine-tuning.** Customizer is available through the plugin architecture, + with Docker-backed Unsloth jobs, NeMo Automodel configuration support, vLLM + adapter support, and updated tutorials. +- **Local model serving.** vLLM deployment in Docker supports local + model-serving workflows for OSS development and testing. +- **Synthetic data generation.** Safe Synthesizer is available as a local + plugin for privacy-preserving synthetic data generation workflows. +- **Model auditing.** Auditor adds local garak-backed audit configuration, + target management, SDK resources, and documentation. +- **Agent containers.** `nemo agents` includes commands for rendering, + building, and publishing agent containers. +- **Plugin platform.** Platform capabilities can ship as plugins while still + using platform APIs, SDK resources, local services, and workspace scoping. + +## What's included + +### Platform and Plugins + +- Plugin packaging for platform capabilities distributed outside the core + package. +- Docker support for source-install local platform workflows. +- SDK and API support for plugin-provided resources. +- Source-install auth and OIDC bootstrap guidance for users who enable RBAC + locally. + +### Fine-tune Models + +- Customizer migration to the plugin architecture. +- Docker-backed Unsloth SFT jobs. +- NeMo Automodel and Unsloth backend support for fine-tuning workflows. +- vLLM adapter support for serving trained adapters. +- Updated Customizer documentation and examples. + +### Models and Inference + +- vLLM deployment in Docker for local model-serving workflows. +- Local model-deployment documentation for the OSS quickstart and SDK usage. +- Continued Inference Gateway support for provider registration, virtual + models, and OpenAI-compatible routing. + +### Agents + +- `nemo agents` container subcommands for rendering, building, and publishing + agent containers. +- Continued NAT-based agent workflow support from the 0.1 line. + +### Safe Synthesizer + +- Safe Synthesizer packaged as a platform plugin. +- Local execution support for Safe Synthesizer workflows. +- Documentation and tutorials for data synthesis, PII replacement, + evaluation, jobs, host-local development, and differential privacy. + +### Auditor + +- Auditor plugin APIs for audit configs and targets. +- Local garak-backed auditing workflows. +- SDK resources and documentation for configuring audits and reviewing + results. + +## Install + +For a fresh local checkout: + +```bash +git clone https://github.com/NVIDIA-NeMo/nemo-platform.git +cd nemo-platform +make bootstrap +source .venv/bin/activate +nemo setup +``` + +See [Setup](/documentation/get-started) for prerequisites and provider +configuration. + +## Upgrade from v0.1.x + +From an existing local checkout: + +```bash +git fetch --tags +git checkout v0.2.0 +make bootstrap +source .venv/bin/activate +nemo setup +``` + +If the `v0.2.0` tag is not available from GitHub yet, use the fresh checkout +flow above and return to the release tag after it is published. + +After setup, restart local services before using CLI, SDK, Studio, or plugin +workflows against the upgraded checkout. + +## Compatibility + +- Python 3.11-3.14 +- macOS and Linux for the OSS local install path +- Docker for Docker-backed platform, job, and vLLM model-serving workflows +- NVIDIA GPU access for local training, model serving, and GPU-backed + synthetic data workflows +- Node 22.18.0+ for Studio assets +- Platform API `0.2.0` and `nemo-platform` Python SDK `0.2.0` + +## Current constraints + +- **Local-first OSS scope.** v0.2.0 improves local Docker-backed workflows. It + is not a managed cluster or scale-out enterprise release. +- **Docker model serving.** v0.2.0 includes vLLM deployment in Docker. Docker + deployment for NIM is not included in this release. +- **Customizer Docker support.** Docker-backed Customizer jobs target GPU + Linux environments. ARM64 images and NeMo Automodel Docker execution are not + part of this release. +- **Auth and RBAC.** Source-install auth and OIDC setups require the bootstrap + IAM seed step described in [Setup](/documentation/get-started). Validate + role bindings for your deployment mode before relying on them for multi-user + access control. +- **Skill Evaluation.** Skill Evaluation workflows are not included in + v0.2.0. + +## Links + +- Repository: [https://github.com/NVIDIA-NeMo/nemo-platform](https://github.com/NVIDIA-NeMo/nemo-platform) +- Issues: [https://github.com/NVIDIA-NeMo/nemo-platform/issues](https://github.com/NVIDIA-NeMo/nemo-platform/issues) +- NeMo Agent Toolkit: [https://docs.nvidia.com/nemo/agent-toolkit/latest/](https://docs.nvidia.com/nemo/agent-toolkit/latest/) diff --git a/docs/agents/plugins.mdx b/docs/agents/plugins.mdx index 043e6549222..e0ec80330e1 100644 --- a/docs/agents/plugins.mdx +++ b/docs/agents/plugins.mdx @@ -4,7 +4,7 @@ description: "" --- -NeMo Platform 0.2.0 is extended through Python plugins and +NeMo Platform 0.3.0 is extended through Python plugins and coding-agent skills. Plugins add runtime capabilities to the local platform. Skills teach your coding agent how to operate those capabilities on your behalf. @@ -112,5 +112,6 @@ build the policy bundle rather than serve an unguarded endpoint. See [Plugin Authorization](/documentation/access-control/authorization/plugin-authorization) for the full pattern. -Keep plugins local-first for OSS 0.2.0: avoid requiring a cluster, -container runtime, or external control plane for the documented launch path. +Keep plugins usable from the local OSS setup path: avoid requiring a cluster, +container runtime, or external control plane unless that plugin explicitly +documents a self-managed Kubernetes workflow. diff --git a/docs/customizer/index.mdx b/docs/customizer/index.mdx index 2f2a507b03b..488229a01dd 100644 --- a/docs/customizer/index.mdx +++ b/docs/customizer/index.mdx @@ -24,20 +24,20 @@ At a high level, the fine-tuning workflow consists of the following steps: ## Container Images -Fine-tuning jobs run in container images published to NVIDIA NGC. For NeMo Platform `0.2.0`, the fine-tuning images are: +Fine-tuning jobs run in container images published to NVIDIA NGC. Use the image tag that matches your NeMo Platform release: | Image | Purpose | |-------|---------| -| `nvcr.io/nvidia/nemo-platform/nmp-customizer-tasks:0.2.0` | Shared CPU task steps (file I/O, model entity, model spec) for all customization backends | -| `nvcr.io/nvidia/nemo-platform/nmp-automodel-training:0.2.0` | Automodel GPU training step | -| `nvcr.io/nvidia/nemo-platform/nmp-unsloth-training:0.2.0` | Unsloth GPU training step | +| `nvcr.io/nvidia/nemo-platform/nmp-customizer-tasks:` | Shared CPU task steps (file I/O, model entity, model spec) for all customization backends | +| `nvcr.io/nvidia/nemo-platform/nmp-automodel-training:` | Automodel GPU training step | +| `nvcr.io/nvidia/nemo-platform/nmp-unsloth-training:` | Unsloth GPU training step | These public images can be pulled directly from `nvcr.io`: ```bash -docker pull nvcr.io/nvidia/nemo-platform/nmp-customizer-tasks:0.2.0 -docker pull nvcr.io/nvidia/nemo-platform/nmp-automodel-training:0.2.0 -docker pull nvcr.io/nvidia/nemo-platform/nmp-unsloth-training:0.2.0 +docker pull nvcr.io/nvidia/nemo-platform/nmp-customizer-tasks: +docker pull nvcr.io/nvidia/nemo-platform/nmp-automodel-training: +docker pull nvcr.io/nvidia/nemo-platform/nmp-unsloth-training: ``` Most users do not need to pull these images manually. NeMo Platform resolves them from the configured platform image registry and tag. Pull or mirror them when you are operating a self-managed deployment, preloading an air-gapped environment, or validating registry access. If your environment requires authenticated registry pulls, authenticate to `nvcr.io` with an NGC API key before pulling or mirroring the images. diff --git a/docs/customizer/tutorials/sft-customization-job.ipynb b/docs/customizer/tutorials/sft-customization-job.ipynb index 4a85bc9a81e..d59af1f9a4e 100644 --- a/docs/customizer/tutorials/sft-customization-job.ipynb +++ b/docs/customizer/tutorials/sft-customization-job.ipynb @@ -599,8 +599,6 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "(ft-deploy-full-weight-model)=\n", - "\n", "### 8. Deploy Fine-Tuned Model\n", "\n", "After training completes, deploy using the Deployment Management Service:" diff --git a/docs/customizer/tutorials/sft-customization-job.mdx b/docs/customizer/tutorials/sft-customization-job.mdx index 2aac59c0ffa..044abd8e010 100644 --- a/docs/customizer/tutorials/sft-customization-job.mdx +++ b/docs/customizer/tutorials/sft-customization-job.mdx @@ -467,8 +467,6 @@ Monitor the relationship between training and validation loss curves: **Note:** Training metrics measure optimization progress, not final model quality. Always evaluate the deployed model on your specific use case. -(ft-deploy-full-weight-model)= - ### 8. Deploy Fine-Tuned Model After training completes, deploy using the Deployment Management Service: diff --git a/docs/fern/components/notebooks/sft-customization-job.json b/docs/fern/components/notebooks/sft-customization-job.json index 287d47e3fc6..fc41a5d23c8 100644 --- a/docs/fern/components/notebooks/sft-customization-job.json +++ b/docs/fern/components/notebooks/sft-customization-job.json @@ -139,8 +139,8 @@ }, { "type": "markdown", - "source": "(ft-deploy-full-weight-model)=\n\n### 8. Deploy Fine-Tuned Model\n\nAfter training completes, deploy using the Deployment Management Service:", - "source_html": "

(ft-deploy-full-weight-model)=

\n

8. Deploy Fine-Tuned Model

\n

After training completes, deploy using the Deployment Management Service:

\n" + "source": "### 8. Deploy Fine-Tuned Model\n\nAfter training completes, deploy using the Deployment Management Service:", + "source_html": "

8. Deploy Fine-Tuned Model

\n

After training completes, deploy using the Deployment Management Service:

\n" }, { "type": "code", @@ -187,4 +187,4 @@ "source_html": "

Evaluation Best Practices

\n

Manual Evaluation (Recommended)

\n
    \n
  • Test with real-world examples from your use case
  • \n
  • Compare responses to base model and expected outputs
  • \n
  • Verify the model exhibits desired behavior changes
  • \n
  • Check edge cases and error handling
  • \n
\n

What to look for:

\n
    \n
  • ✅ Model follows your desired output format
  • \n
  • ✅ Applies domain knowledge correctly
  • \n
  • ✅ Maintains general language capabilities
  • \n
  • ✅ Avoids unwanted behaviors or biases
  • \n
  • ❌ Doesn't hallucinate facts not in training data
  • \n
  • ❌ Doesn't produce repetitive or nonsensical outputs
  • \n
\n
\n

Hyperparameters

\n

For detailed information on all available hyperparameters, recommended values, and tuning guidance, refer to the Hyperparameter Reference.

\n
\n

Troubleshooting

\n

Job fails during model download:

\n
    \n
  • Verify authentication secrets are configured (refer to Managing Secrets)
  • \n
  • For gated HuggingFace models (Llama, Gemma), accept the license on the model page (for example, meta-llama/Llama-3.2-1B-Instruct)
  • \n
  • Confirm the model fileset uses token_secret=hf_secret.name for gated models
  • \n
  • Check AutomodelJobInput references use the workspace/name format: model=f"default/{MODEL_NAME}" and dataset={"training": f"default/{DATASET_NAME}"} (for example, default/llama-3-2-1b-base, default/sft-dataset)
  • \n
  • Verify the model entity points at the fileset: fileset=f"default/{MODEL_NAME}"
  • \n
  • Check job status: client.jobs.get_status(name=job.job.name, workspace="default")
  • \n
\n

Job fails with OOM (Out of Memory) error:

\n
    \n
  1. First try: Reduce global_batch_size from 64 to 32 or 16 in batch={...}
  2. \n
  3. Still OOM: Keep micro_batch_size at 1 (already the minimum in this tutorial)
  4. \n
  5. Still OOM: Reduce max_seq_length from 2048 to 1024 or 512 in training={...}
  6. \n
  7. Last resort: Increase num_gpus_per_node and tensor_parallel_size in parallelism={...}
  8. \n
\n

Loss curves not decreasing (underfitting):

\n
    \n
  • Increase training duration: raise epochs from 2 to 3-5 in schedule={...}
  • \n
  • Adjust learning rate: try 1e-4 or 1e-5 instead of the default 5e-5 in optimizer={...}
  • \n
  • Check data quality: Verify formatting, remove duplicates, ensure diversity
  • \n
\n

Training loss decreases but validation loss increases (overfitting):

\n
    \n
  • Reduce epochs from 2 to 1 in schedule={...}
  • \n
  • Lower learning_rate from 5e-5 to 2e-5 or 1e-5 in optimizer={...}
  • \n
  • Increase dataset size and diversity
  • \n
  • Verify train/validation split has no data leakage
  • \n
\n

Model output quality is poor despite good training metrics:

\n
    \n
  • Training metrics optimize for loss, not your actual task—evaluate on real use cases
  • \n
  • Review data quality, format, and diversity—metrics can be misleading with poor data
  • \n
  • Try a different base model size or architecture
  • \n
  • Adjust learning_rate and global_batch_size
  • \n
  • Compare to baseline: Test base model to ensure fine-tuning improved performance
  • \n
\n

Deployment fails:

\n
    \n
  • Verify output model exists: client.models.retrieve(name=OUTPUT_NAME, workspace="default")
  • \n
  • Check deployment logs: client.inference.deployments.get_logs(name=deployment.name, workspace="default")
  • \n
  • Ensure sufficient GPU resources for executor_config={"gpu": 1, ...}
  • \n
  • Verify the deployment config matches this tutorial: engine="vllm" with vllm/vllm-openai:v0.22.1
  • \n
\n

Next Steps

\n\n" } ] -} \ No newline at end of file +} diff --git a/docs/fern/components/notebooks/sft-customization-job.ts b/docs/fern/components/notebooks/sft-customization-job.ts index ea78780e275..60a7f22ff89 100644 --- a/docs/fern/components/notebooks/sft-customization-job.ts +++ b/docs/fern/components/notebooks/sft-customization-job.ts @@ -144,8 +144,8 @@ export default { cells: [ }, { "type": "markdown", - "source": "(ft-deploy-full-weight-model)=\n\n### 8. Deploy Fine-Tuned Model\n\nAfter training completes, deploy using the Deployment Management Service:", - "source_html": "

(ft-deploy-full-weight-model)=

\n

8. Deploy Fine-Tuned Model

\n

After training completes, deploy using the Deployment Management Service:

\n" + "source": "### 8. Deploy Fine-Tuned Model\n\nAfter training completes, deploy using the Deployment Management Service:", + "source_html": "

8. Deploy Fine-Tuned Model

\n

After training completes, deploy using the Deployment Management Service:

\n" }, { "type": "code", diff --git a/docs/fern/versions/latest.yml b/docs/fern/versions/latest.yml index 35ea963fc02..99e52dea254 100644 --- a/docs/fern/versions/latest.yml +++ b/docs/fern/versions/latest.yml @@ -448,6 +448,9 @@ navigation: contents: - page: Current Release path: ../../about/release-notes/current-release.mdx + - page: v0.2.0 + slug: release-0-2-0 + path: ../../about/release-notes/release-0-2-0.mdx - page: v0.1.0 slug: release-0-1-0 path: ../../about/release-notes/release-0-1-0.mdx diff --git a/docs/requirements.mdx b/docs/requirements.mdx index ed8326d5b2f..2f6db38727a 100644 --- a/docs/requirements.mdx +++ b/docs/requirements.mdx @@ -2,9 +2,9 @@ title: "Hardware and Software Requirements for NeMo Platform" description: "" --- -This page lists the requirements for the OSS local-install path for NeMo Platform 0.2.0. For the full compatibility table, see the [Support Matrix](/documentation/reference/support-matrix). +This page lists the requirements for the OSS local-install path and self-managed Kubernetes path for NeMo Platform 0.3.0. For the full compatibility table, see the [Support Matrix](/documentation/reference/support-matrix). -The OSS 0.2.0 documentation is scoped to local setup with the Python package and `nemo setup`. Docker Compose, Helm, Kubernetes, and OpenShift deployment guides are not part of this release scope. +The OSS 0.3.0 documentation covers local setup with the Python package and `nemo setup`, plus self-managed Kubernetes deployment with Helm. Docker Compose deployment guides are not part of this release scope. ## Local Setup Requirements @@ -19,6 +19,16 @@ The OSS 0.2.0 documentation is scoped to local setup with the Python package and | Model provider | NVIDIA Build, OpenAI, Anthropic, Google Gemini, Ollama, or a custom OpenAI-compatible endpoint | `nemo setup` configures one provider as part of the setup flow. | | Browser | Current Chrome, Edge, Firefox, or Safari | Required for the Studio UI. | +## Kubernetes Requirements + +| Component | Requirement | Notes | +|-----------|-------------|-------| +| Kubernetes | User-managed conformant cluster | You need permission to create namespaces, secrets, services, deployments, jobs, and persistent volumes. | +| Helm | Helm 3 | Used to install and upgrade the NeMo Platform chart. | +| kubectl | Version compatible with your cluster | Used for deployment verification, log collection, and local Kind workflows. | +| Storage | Dynamic persistent volume provisioning | Required for platform state and job artifacts. | +| Ingress or port forwarding | Cluster ingress controller or `kubectl port-forward` | Required to reach the API and Studio UI from your workstation. | + ## GPU Requirements Local provider workflows do not require a local GPU. GPU requirements apply only when you run local model or GPU-accelerated workloads. diff --git a/docs/set-up/config-reference.mdx b/docs/set-up/config-reference.mdx index ada9944a93a..41b5b01f12f 100644 --- a/docs/set-up/config-reference.mdx +++ b/docs/set-up/config-reference.mdx @@ -2,8 +2,6 @@ title: "NeMo Platform configuration reference" description: "" --- -(platform-config-reference)= - This document describes the structure and defaults for the global config file for the NeMo Platform. All sections are shown in YAML format with inline comments for description, default, and possible values. diff --git a/docs/support-matrix.mdx b/docs/support-matrix.mdx index 6c9f9bd9fb8..90fa49f2c72 100644 --- a/docs/support-matrix.mdx +++ b/docs/support-matrix.mdx @@ -2,20 +2,21 @@ title: "Support Matrix" description: "" --- -This matrix defines the supported OSS local-install target for NeMo Platform 0.2.0. It applies to the Python package, CLI, SDK, and local services started by `nemo setup`. +This matrix defines the supported OSS targets for NeMo Platform 0.3.0. It applies to the Python package, CLI, SDK, local services started by `nemo setup`, and self-managed Kubernetes deployments documented for this release. -Docker Compose, Helm, Kubernetes, and OpenShift deployment paths are not part of the OSS 0.2.0 documentation scope. +Helm and Kubernetes deployment paths are documented for self-managed clusters, including OpenShift-specific notes. Docker Compose deployment guides are not part of the OSS 0.3.0 documentation scope. ## Host Platforms | Area | Supported | Notes | |------|-----------|-------| -| Deployment mode | `nemo setup` local install | Setup starts local services, registers a model provider, and configures the CLI and SDK. | +| Deployment mode | `nemo setup` local install; self-managed Helm/Kubernetes | Setup starts local services, registers a model provider, and configures the CLI and SDK. Helm deploys platform services to a user-managed Kubernetes cluster. | | Python | 3.11, 3.12, 3.13, 3.14 (`>=3.11,<3.15`) | Use an isolated virtual environment. On Python 3.14, prefix `pip install "nemo-platform[all]"` with `PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1` while the transitive `litellm` Rust extension catches up to Python 3.14. Python 3.11 is the lowest supported Python version and Python 3.14 is the highest supported Python version for the OSS local install path. | | Linux | Ubuntu 22.04 LTS, Ubuntu 24.04 LTS, RHEL 9, Rocky Linux 9, Debian 12 | Supported for CLI, SDK, local services, and NVIDIA GPU workloads. | | macOS | [macOS Tahoe 26](https://support.apple.com/en-us/122868) and macOS Sequoia 15 | Supported for CLI, SDK, local services, and cloud/provider workflows. Local NVIDIA GPU workloads are not supported on macOS. | | Architecture | x86_64 Linux; Apple Silicon and Intel macOS | NVIDIA GPU workloads require x86_64 Linux. | -| Windows and WSL | Not in the OSS 0.2.0 support matrix | Use a supported Linux or macOS host for the local install path. | +| Windows and WSL | Not in the OSS 0.3.0 support matrix | Use a supported Linux or macOS host for the local install path. | +| Kubernetes | User-managed clusters with Helm | Use a conformant Kubernetes cluster where you can create namespaces, secrets, services, deployments, jobs, and persistent volumes. Kind is suitable for local development and smoke tests. | ## Local Runtime @@ -55,10 +56,10 @@ Docker Compose, Helm, Kubernetes, and OpenShift deployment paths are not part of ## Out of Scope -The following are not part of the OSS 0.2.0 local support matrix: +The following are not part of the OSS 0.3.0 support matrix: - Native Windows local install. -- Docker Compose, Helm, Kubernetes, and OpenShift deployment guides. +- Docker Compose deployment guides. - WSL-based local install or GPU validation. - macOS local GPU workloads. - Python earlier than 3.11 or Python 3.15 and later for the documented OSS local install path. diff --git a/script/generate_config_docs.py b/script/generate_config_docs.py index 2cdbd37b3d9..9cdd50d4f72 100644 --- a/script/generate_config_docs.py +++ b/script/generate_config_docs.py @@ -408,8 +408,6 @@ def generate_markdown(entries: list[tuple[str, Any]]) -> str: lines.append('title: "NeMo Platform configuration reference"') lines.append('description: ""') lines.append("---") - lines.append("(platform-config-reference)=") - lines.append("") lines.append("") lines.append( "This document describes the structure and defaults for the global config file for the NeMo Platform. "