prime-intellect-cli

Par mkurman · zorai

À utiliser pour provisionner des ressources de calcul GPU Prime Intellect, gérer des pods/disques/sandboxes, exécuter des entraînements RL hébergés via prime lab, installer ou publier des environnements RL, ou exposer des services locaux via Prime Tunnel. Couvre le CLI `prime` (PyPI : prime) pour toutes les opérations sur la plateforme Prime Intellect.

npx skills add https://github.com/mkurman/zorai --skill prime-intellect-cli

Prime Intellect CLI

Le CLI prime est l'interface en ligne de commande pour gérer les ressources de calcul Prime Intellect, les environnements RL, les sandboxes de code et les tunnels. Cette skill fournit la référence des commandes et les patterns de décision pour toutes les opérations de plateforme.

Prérequis

  • Python 3.10+
  • Installation : uv tool install prime (préféré) ou pip install prime
  • Auth : prime login (interactif) ou prime config set-api-key (sans interface)
  • Clé SSH : prime config set-ssh-key-path (pour l'accès aux pods)
  • Vérification : prime config view

Référence des commandes

Configuration (prime config)

Commande Description Défaut
view Afficher la configuration actuelle -
set-api-key Définir la clé API -
set-team-id Définir l'ID de l'équipe pour la facturation d'équipe -
remove-team-id Revenir au compte personnel -
set-base-url Définir l'URL de base de l'API https://api.primeintellect.ai
set-ssh-key-path Définir le chemin de la clé privée SSH ~/.ssh/id_rsa
set-share-resources-with-team <bool> Partage automatique des nouvelles instances avec l'équipe false
reset Réinitialiser tous les paramètres (supprime la clé API) -

Disponibilité GPU (prime availability)

# Lister toutes les configurations GPU avec tarification
prime availability list

# Filtrer par type GPU, région, nombre, socket
prime availability list --gpu-type H100_80GB --regions united_states --gpu-count 2 --socket PCIe

# Trouver les GPUs compatibles avec les disques existants
prime availability list --disks disk-id-1 --disks disk-id-2

# Lister la disponibilité des disques
prime availability disks --regions united_states

Filtres : --gpu-type, --gpu-count, --regions, --socket (PCIe, SXM2, SXM3, SXM4, SXM5), --disks, --group-similar (défaut true).

Gestion des pods (prime pods)

# Créer de manière interactive
prime pods create

# Créer de manière non-interactive
prime pods create \
  --gpu-type H100_80GB \
  --gpu-count 1 \
  --disk-size 100 \
  --name my-pod

# Créer avec des disques persistants attachés
prime pods create --id 346663 --disks disk-id-1 --disks disk-id-2

# Créer avec un template personnalisé
prime pods create --image custom_template --custom-template-id "template_id"

# Lister les pods
prime pods list

# Se connecter à un pod via SSH
prime pods ssh <pod-id>

# Supprimer un pod
prime pods delete <pod-id>

Options de création de pods : --id, --cloud-id, --gpu-type, --gpu-count, --name, --disk-size, --vcpus, --memory, --image, --team-id, --env KEY=value, --disks, --share-with-team, --add-members.

Gestion des disques (prime disks)

# Vérifier la disponibilité
prime availability disks

# Créer un disque persistant
prime disks create --id c008ad --size 500 --name ml-training-data

# Lister les disques (avec pagination)
prime disks list --limit 50 --offset 0 --output json

# Supprimer un disque
prime disks delete <disk-id>

Les disques persistent indépendamment des pods et sont facturés continuellement jusqu'à leur suppression. Utilisez --yes pour ignorer la confirmation en automation.

Sandboxes (prime sandbox)

# Créer un sandbox
prime sandbox create python:3.11-slim \
  --name analytics-lab \
  --cpu-cores 2 --memory-gb 4 --disk-size-gb 20 \
  --timeout-minutes 240 --idle-timeout-minutes 15 \
  --env PROFILE=production \
  --secret DB_PASSWORD=<value> \
  --label experiment --label ml-pipeline

# Exécuter une commande à l'intérieur
prime sandbox run sbx_123 --working-dir /workspace "python -c 'print(42)'"

# Télécharger / téléverser (limite de 200 MB par fichier)
prime sandbox upload sbx_123 notebooks/analysis.ipynb /workspace/
prime sandbox download sbx_123 /workspace/report.csv reports/latest.csv

# Exposer des ports (plage 22-9000 ; 8080, 2222, 8081 exclus)
prime sandbox expose <sandbox-id> 8000 --name web-server
prime sandbox expose <sandbox-id> 9000 --name tcp-server --protocol TCP
prime sandbox list-ports <sandbox-id>
prime sandbox unexpose <sandbox-id> <exposure-id> --yes

# Se connecter à un sandbox via SSH
prime sandbox ssh <sandbox-id> --shell zsh

# Inspecter, logs, nettoyage
prime sandbox list --status RUNNING --output table
prime sandbox get sbx_123 --output json
prime sandbox logs sbx_123 > logs.txt
prime sandbox delete --label experiment --yes

Contraintes de délai d'inactivité :

  • Désactivé par défaut ; activez avec --idle-timeout-minutes.
  • Doit satisfaire 1 <= idle <= timeout et idle <= 1440.
  • Non supporté pour les sandboxes basés sur VM (--vm).
  • Les sessions SSH ne comptent pas comme une activité.
  • Erreurs d'authentification de transfert de fichiers : prime sandbox reset-cache puis réessayez.

Entraînement RL hébergé (prime lab, prime train, prime eval)

# Configurer l'espace de travail
prime lab setup

# Installer un environnement
prime env install primeintellect/alphabet-sort

# Exécuter l'évaluation de base
prime eval run primeintellect/alphabet-sort \
  -m Qwen/Qwen3-4B-Instruct-2507 -n 20 -r 1
prime eval tui

# Lancer l'entraînement
prime train run configs/rl/alphabet-sort.toml

# Surveiller
prime train logs <run-id> -f
prime train models    # lister les modèles disponibles

Configuration d'entraînement (TOML) :

model = "Qwen/Qwen3-4B-Instruct-2507"
max_steps = 50
batch_size = 128
rollouts_per_example = 8

[sampling]
max_tokens = 512

[[env]]
id = "primeintellect/alphabet-sort"

# Intégration W&B optionnelle
[wandb]
project = "my-experiment"
name = "alphabet-sort-30b"

# Éval périodique optionnelle
[eval]
interval = 50

Directives de taille d'exécution :

Taille Modèle max_steps batch_size rollouts_per_example
Validation Qwen/Qwen3-4B-Instruct-2507 50 128 8
Expérimentation Qwen/Qwen3-30B-A3B-Instruct-2507 200 256 16
Production Qwen/Qwen3-235B-A22B-Instruct-2507 1000+ 512+ 16+

Hub d'environnements RL (prime env)

prime env list
prime env info owner/environment-name
prime env install owner/environment-name
prime env init my-new-environment

Prime Tunnel (prime tunnel)

# Exposer un service local
prime tunnel start --port 8000

# Avec authentification de base (mot de passe auto-généré, affiché une fois)
prime tunnel start --port 8000 --auth alice

Retourne une URL HTTPS publique comme https://t-0-abc123def456.tunnel.pinfra.io. Les évaluations hébergées peuvent utiliser les tunnels avec le drapeau --allow-tunnel-access.

Erreurs courantes

  • Oublier de nettoyer les disques : les disques sont facturés continuellement jusqu'à leur suppression explicite, même après l'arrêt des pods. Utilisez toujours prime disks delete quand vous avez terminé.
  • Utiliser --env pour les secrets : les variables d'env sont en texte brut et visibles lors de l'inspection. Utilisez --secret pour les credentials.
  • Délai d'inactivité des sandboxes avec SSH : les sessions SSH ne comptent pas comme une activité. Un sandbox peut être supprimé alors que vous avez une session SSH active.
  • Restrictions de ports : les ports 8080, 2222 et 8081 ne peuvent pas être exposés. La plage valide est 22-9000.
  • Limite de 200 MB pour le transfert de fichiers : les téléversements/téléchargements de fichiers individuels sont limités à 200 MB. Utilisez plusieurs appels ou compressez d'abord.
  • Ne pas définir le contexte d'équipe : si la facturation est à l'équipe, définissez prime config set-team-id avant le provisioning, ou passez --team-id par commande.
  • Compatibilité des templates personnalisés : assurez-vous que les templates sont compatibles avec la configuration GPU sélectionnée avant de créer des pods.

Skills similaires