Deploying foundation models on-demand with REST API
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.
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"
}
}'
Copy to clipboardCopié dans le presse-papiers
Création d'un déploiement pour un modèle de fondation à la demande
Copy link to section
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>
}'
Copy to clipboardCopié dans le presse-papiers
Interrogation sur l'état du déploiement
Copy link to section
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>"
Copy to clipboardCopié dans le presse-papiers
Sortie :
"deployed_asset_type": "curated_foundation_model"
Copy to clipboardCopié dans le presse-papiers
Des modèles de base de test déployés à la demande
Copy link to section
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
Copy link to section
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
}
}'
Copy to clipboardCopié dans le presse-papiers
Gestion des modèles de base déployés à la demande
Copy link to section
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é
Copy link to section
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>"
Copy to clipboardCopié dans le presse-papiers
Mise à jour du déploiement
Copy link to section
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>"
}]'
Copy to clipboardCopié dans le presse-papiers
Mise à l'échelle du déploiement
Copy link to section
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}
}]'
Copy to clipboardCopié dans le presse-papiers
Important :
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.
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
Copy link to section
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>"
Copy to clipboardCopié dans le presse-papiers
Exemple de bloc-notes
Copy link to section
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.
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