Déploiement et gestion des modèles de base à la demande avec l'API REST

Dernière mise à jour : 05 mars 2025
Déploiement et gestion des modèles de base à la demande avec l'API REST

Le déploiement d'un modèle de base à la demande le rend disponible sur un matériel dédié à l'usage exclusif de votre organisation. IBM fournit un ensemble de modèles sélectionnés que vous pouvez déployer à la demande. Vous pouvez déployer des modèles de base à la demande par programmation avec l'API REST.

Avant de commencer

  1. Vous devez configurer ou activer vos identifiants de tâches pour déployer les modèles de fondation à la demande. Pour plus d'informations, voir Gestion des informations d'identification des tâches.
  2. Examiner les exigences et les considérations relatives au déploiement d'un modèle de fondation à la demande.

Création d'une ressource modèle

Vous pouvez utiliser le point de terminaison /ml/v4/models pour créer un actif pour le modèle de base que vous souhaitez déployer à la demande.

L'extrait de code suivant montre comment créer un actif dans le référentiel d'exécution d' watsonx.ai, afin de déployer votre modèle de base à la demande. Utilisez l' asset ID e générée par ce code lorsque vous déployez votre modèle.

curl -X POST "https://<cluster url>/ml/v4/models?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
    "type": "curated_foundation_model_1.0",
    "version": "1.0",
    "name": "granite",
    "space_id": "<Space id for deployment>",
    "foundation_model": {
        "model_id": "ibm/granite-13b-chat-v2-curated"
    }
}'

Création d'un déploiement pour un modèle de fondation à la demande

Vous pouvez utiliser le point de terminaison /ml/v4/deployments pour déployer un modèle de base à la demande dans votre espace de déploiement. Utilisez l' asset ID e générée lors de la création de la ressource modèle pour le déploiement. Pour plus d'informations, voir Création d'un modèle.

Note : Les déploiements par lots ne sont pas pris en charge pour le déploiement des modèles de fondation à la demande.

L'extrait de code suivant montre comment créer un déploiement en ligne pour déployer votre modèle de base à la demande :

curl -X POST "https://<cluster url>/ml/v4/deployments?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
  "asset": {
    "id": <Asset id created>
  },
  "online": {
    "parameters": {
      "serving_name": "llma"
    }
  },
  "description": "<Description>,
  "name": "mi",
  "space_id": <Space id for deployment>
}'

Interrogation sur l'état du déploiement

Vous pouvez demander l'état du déploiement en utilisant l'identifiant du déploiement. Lorsque le statut passe de « initialisation » à « prêt », votre déploiement est prêt à être utilisé.

L'exemple de code suivant montre comment utiliser l'API REST pour demander l'état du déploiement :

curl -X GET "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your project ID>" \
-H "Authorization: Bearer <replace with your token>" 

Sortie :

"deployed_asset_type": "curated_foundation_model"

Des modèles de base de test déployés à la demande

Vous pouvez tester un modèle de base déployé à la demande pour l'inférence en ligne.

Génération de la réponse textuelle

L'exemple de code suivant montre comment générer une réponse texte à l'aide du point de terminaison de l'API /ml/v1/deployments/<deployment ID>/text/generation :

L'extrait de code suivant montre comment tester un modèle de base déployé à la demande pour l'inférence en ligne :

curl -X POST "https://<replace with your cloud hostname>/ml/v1/deployments/<replace with your deployment ID>/text/generation?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
 "input": "Hello, what is your name",
 "parameters": {
    "max_new_tokens": 200,
    "min_new_tokens": 20
 }
}'

Gestion des modèles de base déployés à la demande

Accédez, mettez à jour, redimensionnez ou supprimez les modèles de base déployés à la demande avec l'API REST.

Accès au modèle déployé

Pour récupérer la liste de tous les modèles de fondation qui sont déployés à la demande dans un espace de déploiement avec l'API REST, vous pouvez définir le paramètre de requête " type=curated_foundation_model.

L'exemple de code suivant montre comment utiliser l'API REST pour accéder à tous les modèles de fondation déployés à la demande dans un espace de déploiement :

curl -X GET "https://<replace with yourcloud hostname>/ml/v4/deployments?version=2024-01-29&space_id=<replace with your space ID>&type=curated_foundation_model" \
-H "Authorization: Bearer <replace with your token>" 

Mise à jour du déploiement

Mettez à jour les métadonnées de déploiement requises pour votre déploiement, telles que le nom, la description, les balises, etc.

L'exemple de code suivant montre comment mettre à jour le nom de votre modèle de fondation déployé à la demande :

curl -X PATCH "https://<replace with your cloud hostname>//ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your space ID>" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '[{
 "op": "replace",
 "path": "/name",
 "value": "<replace with updated deployment name>"
}]'

Mise à l'échelle du déploiement

Vous ne pouvez déployer qu'une seule instance d'un modèle de base sur demande dans un espace de déploiement. Pour faire face à une demande accrue, vous pouvez faire évoluer le déploiement en créant des copies supplémentaires.

L'exemple de code suivant montre comment augmenter le nombre de répliques pour votre déploiement :

curl -X PATCH "<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" \
-H "Authorization: Bearer $token" \
-H "content-type: application/json" \
--data '[{
 "op": "replace",
 "path": "/hardware_request",
 "value": {"num_nodes": 2}                
}]'
Important :
  1. Si vous souhaitez faire évoluer les ressources matérielles, utilisez l'opération " PATCH avec le paramètre " /hardware_request et mettez à jour le nombre de nœuds matériels en fournissant une valeur pour le paramètre " num_nodes Vous ne pouvez pas utiliser le paramètre " size avec " /hardware_request.
  2. Vous ne pouvez pas utiliser l'opération d' PATCH s pour mettre à jour les paramètres du modèle de base (/online/parameters/foundation_model).

Suppression du déploiement

Vous pouvez supprimer votre modèle de base déployé lorsque vous n'en avez plus besoin pour arrêter les frais de facturation.

L'exemple de code suivant montre comment supprimer un modèle de fondation déployé à la demande avec l'API REST :

curl -vk -X DELETE "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" -H "Authorization: Bearer <replace with your token>"

Exemple de bloc-notes

L'exemple de carnet de notes suivant présente les invites pour les modèles de fondation qui sont déployés à la demande de manière programmatique. Vous devez déployer votre modèle de base à la demande avant d'exécuter le bloc-notes.

Exemple de bloc-notes
Bloc-notes Descriptif
Inférence avec les modèles Granite Text-to-SQL Configuration
Créer une invite pour le modèle Schema Linking
Effectuer une inférence sur le modèle Schema Linking en utilisant le point d'extrémité WX.AI
Afficher le processus de sortie du modèle Schema Linking
Créer une invite pour le modèle SQL Geneneration
Effectuer une inférence sur le modèle SQL Generation en utilisant le point d'extrémité WX.AI

En savoir plus

Sujet parent : Déployer des modèles de fondation dédiés