Para enviar un trabajo de importación de un modelo personalizado, ejecute el siguiente comando en la línea de comandos y ${my-import-model-role-arn} sustitúyalo por el rol de modelo que haya configurado y por la s3-bucket-path ruta del bucket S3 de sus archivos de modelo.
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 respuesta devuelve un jobArn. El trabajo de importación personalizado tardará un tiempo en completarse. Puede usar el jobArn con el siguiente comando para comprobar el estado del trabajo de importación.
Los siguientes campos son opcionales:
-
Para agregar una configuración de VPC, agregue el siguiente argumento al comando anterior para especificar el grupo de seguridad y las subredes:
-\\-vpc-config '{securityGroupIds": ["sg-xx"], "subnetIds": ["subnet-yy", "subnet-zz"]}'
-
Para cifrar el modelo con una clave de KMS, agregue el siguiente argumento al comando anterior y sustituya los valores para especificar la clave con la que desea cifrar el modelo.
-\\-customModelKmsKeyId 'arn:aws:kms:region:account-id:key/key-id'
-
Para añadir etiquetas, añada el siguiente argumento al comando anterior, sustituya las claves y los valores por las etiquetas que desee adjuntar al modelo de and/or salida del trabajo y asegúrese de separar los key/value pares con un espacio:
-\\-tags key=key1,value=value1 key=key2,value=value2
La respuesta devuelve un jobArn. El trabajo de importación personalizado tardará un tiempo en completarse. Puede usar el jobArn con el siguiente comando para comprobar el estado del trabajo de importación.
aws bedrock get-model-import-job \
--job-identifier "jobArn"
La respuesta tendrá un aspecto parecido al siguiente:
{
"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"
Cuando status sea Complete, el trabajo de importación se habrá completado.
Para ejecutar la inferencia en el modelo que acaba de importar, debe proporcionar el ARN del modelo importado como model-id. Obtenga el ARN del modelo importado.
aws bedrock list-imported-models
La respuesta contiene el nombre del modelo y el ARN del modelo. Utilice el ARN del modelo para invocar el modelo importado. Para obtener más información, consulte Envíe un único mensaje con InvokeModel.
{
"modelSummaries": [
{
"modelArn": model-arn,
"modelName": "MyImportedModelName",
"modelArchitecture":model-architecture,
"instructSupported":Y,
"creationTime": "2024-08-13T19:20:14.058Z"
}
]
}
Para eliminar el modelo importado, ejecute el siguiente comando en la línea de comandos en un terminal con el nombre del modelo o el ARN del modelo importado que desee eliminar.
aws bedrock delete-imported-model
--model-identifier MyImportedModelName
Ejecute el siguiente fragmento de código para enviar un trabajo de importación de modelo personalizado. my-regionSustitúyalo por la región en la que importó el modelo, ${my-import-model-role-arn} por el ARN del MyImportModelRole que configuró y ${model-file-bucket} sustitúyalo por el nombre de su bucket de 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")
Los siguientes campos son opcionales.
-
Para agregar una configuración de VPC, agregue el siguiente argumento al comando anterior para especificar el grupo de seguridad y las subredes:
vpc-config = {'securityGroupIds: ["sg-xx".], 'subnetIds': [subnet-yy, 'subnet-zz']}'
-
Para cifrar el modelo con una clave de KMS, agregue el siguiente argumento al comando anterior y sustituya los valores para especificar la clave con la que desea cifrar el modelo.
importedModelKmsKeyId = 'arn:aws:kms:region:account-id:key/key-id'
-
Para añadir etiquetas, añada el siguiente argumento al comando anterior, sustituya las claves y los valores por las etiquetas que desee adjuntar al modelo de and/or salida del trabajo y asegúrese de separar los key/value pares con un espacio:
jobTags key=key1,value=value1 key=key2,value=value2
La respuesta devuelve un jobArn.
job_arn = create_job_response.get("jobArn")
El trabajo de importación personalizado tardará un tiempo en completarse. Puede usar el jobArn con el siguiente comando para comprobar el estado del trabajo de importación.
bedrock.get_model_import_job(jobIdentifier=jobArn)
Cuando status sea Completed, el trabajo de importación se habrá completado.
Para ejecutar la inferencia en el modelo que acaba de importar, debe proporcionar el ARN del modelo importado como model-id. Obtenga el ARN del modelo importado.
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 respuesta devuelve el modelArn junto con otros detalles del modelo importado.
{
'nextToken': '',
'modelSummaries': [
{
'modelArn': 'your-model-arn',
'modelName': 'MyImportedModelName',
'modelArchitecture':model-architecture,
'instructSupported':Y,
'creationTime': datetime(2015, 1, 1)
},
]
Utilice el ARN del modelo para invocar el modelo importado. Para obtener más información, consulte Envíe un único mensaje con InvokeModel.
Para eliminar el modelo importado, utilice el siguiente comando con el nombre del modelo o el ARN del modelo importado que desee eliminar.
response = client.delete_imported_model(
modelIdentifier='MyImportedModelName'
)