Pour soumettre une tâche d'importation de modèle personnalisée, dans un terminal, exécutez la commande suivante dans la ligne de commande, en la ${my-import-model-role-arn} remplaçant par le rôle de modèle que vous avez configuré et s3-bucket-path par le chemin du compartiment S3 de vos fichiers de modèle.
aws bedrock create-model-import-job
--job-name MyImportedModelJobName
--imported-model-name MyImportedModelName
--role-arn ${my-import-model-role-arn}
--model-data-source '{"s3DataSource": {"s3Uri": s3-bucket-path }}
La réponse renvoie un jobArn. La tâche d’importation personnalisée prendra un certain temps. Vous pouvez l’utiliser jobArn avec la commande suivante pour vérifier l’état de la tâche d’importation.
Les champs suivants sont facultatifs :
-
Pour ajouter une configuration de VPC, insérez l’argument suivant dans la commande ci-dessus pour spécifier le groupe de sécurité et les sous-réseaux :
-\\-vpc-config '{securityGroupIds": ["sg-xx"], "subnetIds": ["subnet-yy", "subnet-zz"]}'
-
Pour chiffrer le modèle avec une clé KMS, ajoutez l’argument suivant à la commande ci-dessus, en remplaçant les valeurs pour spécifier la clé avec laquelle vous souhaitez effectuer le chiffrement.
-\\-customModelKmsKeyId 'arn:aws:kms:region:account-id:key/key-id'
-
Pour ajouter des balises, ajoutez l'argument suivant à la commande ci-dessus, en remplaçant les clés et les valeurs par les balises que vous souhaitez associer au modèle de and/or sortie de tâche et en veillant à séparer les key/value paires par un espace :
-\\-tags key=key1,value=value1 key=key2,value=value2
La réponse renvoie un jobArn. La tâche d’importation personnalisée prendra un certain temps. Vous pouvez l’utiliser jobArn avec la commande suivante pour vérifier l’état de la tâche d’importation.
aws bedrock get-model-import-job \
--job-identifier "jobArn"
La réponse devrait ressembler à ceci :
{
"jobArn": ${job-arn} ,
"jobName": MyImportedModelJobName,
"importedModelName": MyImportedModelName,
"roleArn": ${my-role-arn},
"modelDataSource": {
"s3DataSource": {
"s3Uri": "${S3Uri}"
}
},
"status": "Complete",
"creationTime": "2024-08-13T23:38:42.457Z",
"lastModifiedTime": "2024-08-13T23:39:25.158Z"
Lorsque la valeur de status est Complete, la tâche d’importation est terminée.
Pour exécuter l’inférence sur le modèle que vous venez d’importer, vous devez fournir l’ARN du modèle importé au format model-id. Obtenez l’ARN du modèle importé.
aws bedrock list-imported-models
La réponse contient le nom du modèle et son ARN. Utilisez l’ARN du modèle pour invoquer le modèle importé. Pour de plus amples informations, veuillez consulter Soumettez une seule invite avec InvokeModel.
{
"modelSummaries": [
{
"modelArn": model-arn,
"modelName": "MyImportedModelName",
"modelArchitecture":model-architecture,
"instructSupported":Y,
"creationTime": "2024-08-13T19:20:14.058Z"
}
]
}
Pour supprimer votre modèle importé, dans un terminal, exécutez la commande suivante dans la ligne de commande, en utilisant le nom du modèle ou l’ARN du modèle importé que vous souhaitez supprimer.
aws bedrock delete-imported-model
--model-identifier MyImportedModelName
Exécutez le fragment de code suivant pour soumettre une tâche d’importation de modèle personnalisée. my-regionRemplacez-le par la région dans laquelle vous avez importé le modèle, ${my-import-model-role-arn} par l'ARN du modèle MyImportModelRole que vous avez configuré et remplacez ${model-file-bucket} par le nom de votre compartiment S3.
import boto3
import json
REGION_NAME = my-region
bedrock = boto3.client(service_name='bedrock',
region_name=REGION_NAME)
JOB_NAME = MyImportedModelJobName
ROLE_ARN = ${my-import-model-role-arn}
IMPORTED_MODEL_NAME = ImportedModelName
S3_URI = ${S3Uri}
# createModelImportJob API
create_job_response = bedrock.create_model_import_job(
jobName=JOB_NAME,
importedModelName=IMPORTED_MODEL_NAME,
roleArn=ROLE_ARN,
modelDataSource={
"s3DataSource": {
"s3Uri": S3_URI
}
},
)
job_arn = create_job_response.get("jobArn")
Les champs suivants sont facultatifs :
-
Pour ajouter une configuration de VPC, insérez l’argument suivant dans la commande ci-dessus pour spécifier le groupe de sécurité et les sous-réseaux :
vpc-config = {'securityGroupIds: ["sg-xx".], 'subnetIds': [subnet-yy, 'subnet-zz']}'
-
Pour chiffrer le modèle avec une clé KMS, ajoutez l’argument suivant à la commande ci-dessus, en remplaçant les valeurs pour spécifier la clé avec laquelle vous souhaitez effectuer le chiffrement.
importedModelKmsKeyId = 'arn:aws:kms:region:account-id:key/key-id'
-
Pour ajouter des balises, ajoutez l'argument suivant à la commande ci-dessus, en remplaçant les clés et les valeurs par les balises que vous souhaitez associer au modèle de and/or sortie de tâche et en veillant à séparer les key/value paires par un espace :
jobTags key=key1,value=value1 key=key2,value=value2
La réponse renvoie un jobArn.
job_arn = create_job_response.get("jobArn")
La tâche d’importation personnalisée prendra un certain temps. Vous pouvez l’utiliser jobArn avec la commande suivante pour vérifier l’état de la tâche d’importation.
bedrock.get_model_import_job(jobIdentifier=jobArn)
Lorsque status est Completed, la tâche d’importation est terminée.
Pour exécuter l’inférence sur le modèle que vous venez d’importer, vous devez fournir l’ARN du modèle importé au format model-id. Obtenez l’ARN du modèle importé.
response_pt = bedrock.list_imported_models(
creationTimeBefore=datetime (2015,1,1,
creationTimeAfter= datetime (2015,1,1,
nameContains = 'MyImportedModelName,
maxresults = 123
nextToken = 'none',
sortBy = 'creationTime',
sortOrder = 'Ascending'
La réponse renvoie le modelArn ainsi que d’autres détails, du modèle importé.
{
'nextToken': '',
'modelSummaries': [
{
'modelArn': 'your-model-arn',
'modelName': 'MyImportedModelName',
'modelArchitecture':model-architecture,
'instructSupported':Y,
'creationTime': datetime(2015, 1, 1)
},
]
Utilisez l’ARN du modèle pour invoquer le modèle importé. Pour de plus amples informations, veuillez consulter Soumettez une seule invite avec InvokeModel.
Pour supprimer votre modèle importé, utilisez la commande suivante en utilisant le nom du modèle ou l’ARN du modèle importé que vous souhaitez supprimer.
response = client.delete_imported_model(
modelIdentifier='MyImportedModelName'
)