Déployer des actifs de services d'IA
En fonction de votre cas d'utilisation, vous pouvez créer un déploiement en ligne ou par lots pour votre ressource de services d'IA à partir de votre espace de déploiement. Déployez votre service d'IA en utilisant l'interface utilisateur watsonx.ai, l'API REST ou la bibliothèque client Python.
Types de déploiements pour le service d'IA
En fonction de votre cas d'utilisation, vous pouvez déployer le service d'IA en ligne ou par lots. Choisissez le type de déploiement en fonction des fonctions utilisées dans le service d'IA.
- Vous devez créer un déploiement en ligne pour votre ressource de service d'IA pour la notation en ligne (le service d'IA contient la fonction "
generate()
) ou les applications de diffusion en continu (le service d'IA contient la fonction "generate_stream()
). - Vous devez créer un déploiement par lots pour votre service AI pour les applications de notation par lots (le service AI contient la fonction "
generate_batch()
).
Prérequis
Vous devez configurer les informations d'identification de vos tâches pour déployer vos services d'IA. Pour plus d'informations, voir Ajout d'informations d'identification pour les tâches.
Vous devez promouvoir vos services d'IA dans votre espace de déploiement.
Déployer des services d'IA avec l'interface utilisateur
Vous pouvez déployer votre ressource de services d'IA à partir de l'interface utilisateur de votre espace de déploiement.
Création d'un déploiement en ligne pour les services d'IA
Suivez ces étapes pour créer un déploiement en ligne pour votre ressource de service AI à partir de l'interface utilisateur de l'espace de déploiement :
Depuis votre espace de déploiement, allez dans l'onglet Assets.
Pour votre ressource de service AI dans la liste des ressources, cliquez sur l'icône Menu et sélectionnez Déployer.
Sélectionnez Online comme type de déploiement.
Saisissez un nom pour votre déploiement et, éventuellement, un nom de service, une description et des balises.
Cliquez sur Créer.
Création d'un déploiement par lots pour les services d'IA
Suivez ces étapes pour créer un déploiement par lots pour votre ressource de service AI à partir de l'interface utilisateur de l'espace de déploiement :
Depuis votre espace de déploiement, allez dans l'onglet Assets.
Pour votre ressource de service AI dans la liste des ressources, cliquez sur l'icône Menu et sélectionnez Déployer.
Sélectionnez Batch comme type de déploiement.
Saisissez un nom pour votre déploiement et, éventuellement, un nom de service, une description et des balises.
Sélectionnez une spécification matérielle :
- Extra petit: 1 CPU et 4 GB RAM
- Petit: 2 CPU et 8 GB RAM
- Moyen: 4 CPU et 16 GB RAM
- Large: 8 CPU et 32 GB RAM
- Extra large: 16 CPU et 64 GB RAM
Cliquez sur Créer.
Déployer des services d'IA avec la bibliothèque client Python
Vous pouvez créer un déploiement en ligne ou par lots pour votre service d'IA en utilisant la bibliothèque client Python.
Création d'un déploiement en ligne
L'exemple suivant montre comment créer un déploiement en ligne pour votre service d'IA en utilisant la bibliothèque client Python watsonx.ai
deployment_details = client.deployments.create(
artifact_id=ai_service_id,
meta_props={
client.deployments.ConfigurationMetaNames.NAME: "ai-service - online test",
client.deployments.ConfigurationMetaNames.ONLINE: {},
client.deployments.ConfigurationMetaNames.HARDWARE_SPEC: {
"id": client.hardware_specifications.get_id_by_name("XS")
},
},
)
deployment_id = client.deployments.get_uid(deployment_details)
print("The deployment id:", deployment_id)
Création d'un déploiement par lots
L'exemple suivant montre comment créer un déploiement par lots pour votre service d'IA en utilisant la bibliothèque client Python watsonx.ai
deployment_details = client.deployments.create(
artifact_id=ai_service_id,
meta_props={
client.deployments.ConfigurationMetaNames.NAME: f"ai-service - batch",
client.deployments.ConfigurationMetaNames.BATCH: {},
client.deployments.ConfigurationMetaNames.HARDWARE_SPEC: {
"id": client.hardware_specifications.get_id_by_name("XS")
},
},
)
deployment_id = client.deployments.get_uid(deployment_details)
print("The batch deployment id:", deployment_id)
Déployer des services d'IA avec l'API REST
Vous pouvez utiliser le point de terminaison de l'API REST watsonx.ai " /ml/v4/deployments
pour créer un déploiement en ligne ou par lots pour votre service d'IA.
Création d'un déploiement en ligne
L'exemple suivant montre comment créer un déploiement en ligne pour votre service d'IA en utilisant l'API REST :
# POST /ml/v4/deployments
response = requests.post(
f'{HOST}/ml/v4/deployments?version={VERSION}',
headers=headers,
verify=False,
json={
"space_id": space_id,
"name": "genai flow online",
"custom": {
"key1": "value1",
"key2": "value2",
"model": "meta-llama/llama-3-8b-instruct"
},
"asset": {
"id": asset_id
},
"online": {}
}
)
Création d'un déploiement par lots
L'exemple suivant montre comment créer un déploiement par lots pour votre service d'IA en utilisant l'API REST :
response = requests.post(
f'{HOST}/ml/v4/deployments?version={VERSION}',
headers=headers,
verify=False,
json={
"hardware_spec": {
"id": "........",
"num_nodes": 1
},
"space_id": space_id,
"name": "ai service batch dep",
"custom": {
"key1": "value1",
"key2": "value2",
"model": "meta-llama/llama-3-8b-instruct"
},
"asset": {
"id": asset_id
},
"batch": {}
}
)
print(f'POST {HOST}/ml/v4/deployments?version={VERSION}', response.status_code)
print(json.dumps(response.json(), indent=2))
dep_id = response.json()["metadata"]["id"]
print(f"{dep_id=}")
En savoir plus
Sujet parent : Déployer des services d'IA avec le codage direct