0 / 0
Retourner à la version anglaise de la documentation
Déployer et gérer des modèles de base déployés à la demande avec l'API REST
Dernière mise à jour : 13 déc. 2024
Déployer et gérer des modèles de base déployés à la demande avec l'API REST

Déployer des modèles de fondation à la demande de manière programmatique avec l'API REST. Le déploiement d'un foundation model à la demande le rend disponible sur un matériel dédié à l'usage exclusif de votre organisation. IBM fournit un ensemble de modèles éprouvés que vous pouvez déployer à la demande.

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 foundation model à la demande.

Création d'une ressource modèle

Vous pouvez utiliser le point de terminaison " /ml/v4/models pour créer une ressource pour le foundation model que vous souhaitez déployer à la demande.

L'extrait de code suivant montre comment créer un actif dans le référentiel watsonx.ai Runtime pour déployer votre foundation model à la demande. Utilisez l'ID de l'actif généré 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 foundation model à la demande

Vous pouvez utiliser le point de terminaison " /ml/v4/deployments pour déployer un foundation model à la demande dans un espace de déploiement. Vous devez utiliser l'identifiant de la ressource généré 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 d'immobilisation.

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 foundation model à 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 l'état passe d'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 foundation model qui est déployé à la demande pour les conférences en ligne.

L'extrait de code suivant montre comment tester un foundation model qui est déployé à la demande pour des conférences 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, adaptez ou supprimez votre foundation model qui est déployé à la demande grâce à 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 foundation model qui est 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 foundation model à la 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 " PATCH pour mettre à jour les paramètres du foundation model (/online/parameters/foundation_model).

Suppression du déploiement

Vous pouvez supprimer votre foundation model déployé lorsque vous n'en avez plus besoin afin d'arrêter les frais de facturation.

L'exemple de code suivant montre comment supprimer un foundation model 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 foundation model à 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