tutorial dgx-spark getting-started deployment

Démarrer avec NemoClaw sur DGX Spark

NVIDIA AI

NVIDIA AI

@nvidiaai

March 20, 2026

10 min

Démarrer avec NemoClaw sur DGX Spark

Démarrer avec NemoClaw sur DGX Spark

Le NVIDIA DGX Spark est la plateforme de développement idéale pour NemoClaw. Avec son architecture Grace Blackwell offrant 128 Go de mémoire unifiée et jusqu'à 1 pétaflop de calcul IA, un seul DGX Spark peut exécuter l'intégralité de la pile NemoClaw — y compris Nemotron 120B MoE — localement sur votre bureau.

Ce tutoriel vous guide à travers le processus de configuration complet, du déballage à l'exécution de votre premier blueprint d'agent sécurisé.

Prérequis

  • NVIDIA DGX Spark (ou tout système avec un GPU NVIDIA disposant de 24 Go+ de VRAM pour le modèle quantifié)
  • Ubuntu 22.04 LTS ou version ultérieure (DGX OS est préinstallé sur le Spark)
  • Docker 24.0+ avec NVIDIA Container Toolkit
  • 50 Go d'espace disque libre pour les modèles et conteneurs

Étape 1 : Installer le CLI NemoClaw

Le CLI NemoClaw est l'interface principale pour gérer la pile. Installez-le via l'installateur officiel :

bash
# Download and run the NemoClaw installer
curl -fsSL https://github.com/NVIDIA/NemoClaw | bash

# Verify installation
nemoclaw version
# Output: nemoclaw v1.0.0-preview (built for linux/arm64)

# Initialize NemoClaw in your project directory
mkdir my-first-agent && cd my-first-agent
nemoclaw init

La commande nemoclaw init crée la structure du projet :

my-first-agent/
├── nemoclaw.yaml          # Main configuration
├── policies/
│   ├── sandbox.yaml       # OpenShell sandbox policies
│   ├── network.yaml       # Network access policies
│   └── privacy.yaml       # Privacy Router configuration
├── blueprints/
│   └── starter.yaml       # Default agent blueprint
└── scripts/
    ├── setup.sh           # Environment setup script
    └── test-agent.sh      # Agent smoke test

Étape 2 : Configurer la pile

Modifiez nemoclaw.yaml pour configurer votre déploiement :

yaml
# nemoclaw.yaml
apiVersion: nemoclaw.nvidia.com/v1
kind: NemoClawConfig
metadata:
  name: my-first-deployment
spec:
  # Model configuration
  model:
    provider: local
    name: nemotron-120b-moe
    quantization: int4  # Use INT4 for DGX Spark
    gpuLayers: all

  # OpenShell configuration
  openshell:
    enabled: true
    isolationLevel: standard  # standard | strict | paranoid
    auditLog: true

  # Privacy Router configuration
  privacyRouter:
    enabled: true
    defaultRoute: local
    cloudEndpoints: []  # No cloud endpoints for local-only setup

  # Network Policy Engine
  networkPolicy:
    enabled: true
    defaultAction: deny
    allowlist:
      - "*.internal.company.com"

  # Agent configuration
  agent:
    framework: openclaw
    version: "3.13"
    maxConcurrentTasks: 8

Étape 3 : Télécharger le modèle Nemotron

NemoClaw utilise Nemotron 120B MoE comme moteur d'évaluation des politiques. Sur DGX Spark, nous utilisons la variante quantifiée INT4 qui s'intègre confortablement dans les 128 Go de mémoire unifiée :

bash
# Pull the Nemotron model (approximately 35GB)
nemoclaw model pull nemotron-120b-moe-int4

# Verify the model is ready
nemoclaw model list
# Output:
# NAME                        SIZE     STATUS
# nemotron-120b-moe-int4      34.7GB   ready

Pour les systèmes avec moins de mémoire, NemoClaw prend également en charge des modèles plus petits :

bash
# Alternative: Nemotron 8B for systems with 24GB VRAM
nemoclaw model pull nemotron-nano-4b

Étape 4 : Démarrer le runtime NemoClaw

Lancez la pile complète avec une seule commande :

bash
# Start all NemoClaw services
nemoclaw up

# Output:
# ✓ OpenShell runtime started (kernel modules loaded)
# ✓ Nemotron 120B MoE loaded (34.7GB, 4-bit quantized)
# ✓ Privacy Router initialized (local-only mode)
# ✓ Network Policy Engine active (deny-by-default)
# ✓ OpenClaw agent framework ready
#
# NemoClaw is running at http://localhost:7860
# Dashboard: http://localhost:7860/dashboard
# API: http://localhost:7860/api/v1

Le tableau de bord offre une visibilité en temps réel sur l'exécution des agents, les évaluations de politiques et les événements de sécurité.

Étape 5 : Déployer votre premier blueprint

Les blueprints sont des modèles d'agents préconfigurés avec des politiques de sécurité intégrées. Déployons le blueprint de support client :

bash
# List available blueprints
nemoclaw blueprint list
# Output:
# NAME                  DESCRIPTION                          SECURITY LEVEL
# customer-support      Tier-1 support ticket handling       standard
# sales-ops            CRM and sales automation              standard
# security-ops         Alert triage and remediation           strict
# infra-management     Cloud resource management              strict
# code-review          PR analysis and vulnerability scan     standard
# data-pipeline        ETL orchestration                      standard

# Deploy the customer support blueprint
nemoclaw blueprint deploy customer-support
  • Politique de bac à sable OpenShell (restreint l'accès au système de fichiers et au réseau)
  • Règles de politique Nemotron (détection des données personnelles, classification d'intention)
  • Liste blanche réseau (uniquement les endpoints d'API approuvés)
  • Workflow d'approbation par l'opérateur (escalade pour les remboursements, les modifications de compte)

Étape 6 : Tester votre agent

Envoyez une requête de test à votre agent sécurisé :

bash
# Send a test message to the agent
nemoclaw agent test --blueprint customer-support \
  --message "Customer John Smith (ID: 12345) is asking about their recent order #ORD-9876. They want to know the delivery status."

# Output:
# ┌──────────────────────────────────────────────┐
# │ NemoClaw Security Report                      │
# ├──────────────────────────────────────────────┤
# │ Policy Evaluation:     PASS (45ms)            │
# │ Intent Classification: customer-inquiry       │
# │ Data Sensitivity:      internal               │
# │ Model Route:           local (nemotron-120b)  │
# │ Sandbox:               cs-agent-sandbox-001   │
# │ Network Access:        crm.api, orders.api    │
# │ PII Detected:          name, customer-id      │
# │ PII Action:            redacted-from-logs     │
# │ Approval Required:     no                     │
# ├──────────────────────────────────────────────┤
# │ Agent Response:                                │
# │ "I've checked order #ORD-9876 for the         │
# │  customer. The order shipped on March 18       │
# │  via FedEx (tracking: FX123456789). Expected  │
# │  delivery is March 21."                        │
# └──────────────────────────────────────────────┘
  • A classifié l'intention comme une demande client routinière
  • A détecté les données personnelles (nom et identifiant du client) et les a masquées dans les journaux
  • A routé la requête vers le modèle Nemotron local
  • A accordé l'accès réseau uniquement aux API CRM et commandes
  • A déterminé qu'aucune approbation humaine n'était requise

Étape 7 : Surveiller avec le tableau de bord

Ouvrez http://localhost:7860/dashboard dans votre navigateur pour accéder au tableau de bord de surveillance NemoClaw. Les fonctionnalités clés incluent :

  • Flux d'événements en temps réel — chaque action d'agent, évaluation de politique et décision de sécurité
  • Alertes de violation de politique — notification instantanée lorsqu'un agent tente des actions non autorisées
  • Journal d'audit — enregistrement complet et immuable de toutes les activités des agents
  • Métriques de performance — latence, débit et utilisation des ressources
  • File d'approbation — demandes d'approbation humaine en attente pour les actions à haut risque

Modèles de configuration courants

Connexion aux API externes

Pour permettre à votre agent d'accéder à des services externes, mettez à jour la politique réseau :

yaml
# policies/network.yaml
networkPolicy:
  egress:
    allow:
      - domain: "api.zendesk.com"
        methods: [GET, POST, PUT]
        headers:
          required: ["Authorization"]
      - domain: "api.stripe.com"
        methods: [GET]  # Read-only access to payment data

Configuration de l'approbation par l'opérateur

Configurez des workflows d'approbation pour les opérations sensibles :

yaml
# policies/sandbox.yaml
approvalWorkflow:
  enabled: true
  rules:
    - action: "refund.process"
      condition: "amount > 100"
      approvers: ["support-leads"]
      channel: "slack"
      timeout: "10m"
    - action: "account.modify"
      condition: "always"
      approvers: ["account-managers"]
      channel: "teams"
      timeout: "15m"

Activation du routage vers les modèles cloud

Pour les tâches non sensibles, vous pouvez activer le routage vers les modèles cloud pour de meilleures performances :

yaml
# policies/privacy.yaml
privacyRouter:
  defaultRoute: local
  cloudEndpoints:
    - name: "nvidia-nim"
      url: "https://build.nvidia.com"
      apiKey: "${NVIDIA_API_KEY}"
      allowedSensitivity: ["public", "internal"]

Dépannage

Le module noyau OpenShell ne parvient pas à se charger

bash
# Check kernel module status
nemoclaw diagnose openshell

# If using a custom kernel, ensure eBPF is enabled
# and the kernel version is 5.15+

Mémoire insuffisante pour le chargement du modèle

bash
# Check available GPU memory
nemoclaw diagnose gpu

# Switch to a smaller quantization or model
nemoclaw model pull nemotron-120b-moe-int2  # Smaller but less accurate
nemoclaw model pull nemotron-nano-4b  # Much smaller

Prochaines étapes

Vous disposez désormais d'un déploiement NemoClaw pleinement opérationnel sur votre DGX Spark. À partir de là, vous pouvez :

  1. 1.Personnaliser les politiques de sécurité pour votre cas d'utilisation spécifique
  2. 2.Créer des blueprints personnalisés pour les workflows d'agents de votre organisation
  3. 3.Intégrer avec vos outils SIEM et d'observabilité existants
  4. 4.Passer à un déploiement multi-nœuds en utilisant le mode NemoClaw Cluster

Consultez le prochain article de cette série pour une plongée technique dans le runtime de sécurité d'OpenShell.

Restez informé

Recevez les nouvelles versions, les avis de sécurité et les actualités de l'écosystème NemoClaw. Pas de spam, désabonnement à tout moment.