Per inviare un processo di importazione di un modello personalizzato, in un terminale esegui il seguente comando nella riga di comando, sostituendolo ${my-import-model-role-arn} con il ruolo modello che hai impostato e il s3-bucket-path percorso del bucket S3 dei tuoi file di modello.
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 risposta restituisce un jobArn. Il completamento del processo di importazione personalizzato richiederà un po’ di tempo. Puoi utilizzare il jobArn con il seguente comando per controllare lo stato del processo di importazione.
I seguenti campi sono facoltativi:
-
Per aggiungere una configurazione VPC, aggiungi il seguente argomento al comando precedente per specificare il gruppo di sicurezza e le sottoreti:
-\\-vpc-config '{securityGroupIds": ["sg-xx"], "subnetIds": ["subnet-yy", "subnet-zz"]}'
-
Per crittografare il modello con una chiave KMS, aggiungi il seguente argomento al comando precedente, sostituendo i valori per specificare la chiave con cui crittografare il modello.
-\\-customModelKmsKeyId 'arn:aws:kms:region:account-id:key/key-id'
-
Per aggiungere tag, aggiungi il seguente argomento al comando precedente, sostituendo le chiavi e i valori con i tag che desideri allegare al modello di and/or output del lavoro e assicurandoti di separare key/value le coppie con uno spazio:
-\\-tags key=key1,value=value1 key=key2,value=value2
La risposta restituisce un jobArn. Il completamento del processo di importazione personalizzato richiederà un po’ di tempo. Puoi utilizzare il jobArn con il seguente comando per controllare lo stato del processo di importazione.
aws bedrock get-model-import-job \
--job-identifier "jobArn"
La risposta dovrebbe essere simile a questa:
{
"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"
Quando lo status è Complete, il processo di importazione è completato.
Per eseguire l’inferenza sul modello appena importato, devi fornire l’ARN del modello importato come il model-id. Ottenere l’ARN del modello importato.
aws bedrock list-imported-models
La risposta contiene il nome del modello e l’ARN del modello. Utilizza il modello ARN per invocare il modello importato. Per ulteriori informazioni, consulta Invia una sola richiesta con InvokeModel.
{
"modelSummaries": [
{
"modelArn": model-arn,
"modelName": "MyImportedModelName",
"modelArchitecture":model-architecture,
"instructSupported":Y,
"creationTime": "2024-08-13T19:20:14.058Z"
}
]
}
Per eliminare il modello importato, in un terminale esegui il seguente comando nella riga di comando, utilizzando il nome del modello o l’ARN del modello importato che vuoi eliminare.
aws bedrock delete-imported-model
--model-identifier MyImportedModelName
Esegui il seguente frammento di codice per inviare un processo di importazione del modello personalizzato. Sostituisci my-region con la regione in cui hai importato il modello, ${my-import-model-role-arn} con l'ARN di MyImportModelRole quello che hai configurato e sostituiscilo ${model-file-bucket} con il nome del bucket 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")
I seguenti campi sono facoltativi.
-
Per aggiungere una configurazione VPC, aggiungi il seguente argomento al comando precedente per specificare il gruppo di sicurezza e le sottoreti:
vpc-config = {'securityGroupIds: ["sg-xx".], 'subnetIds': [subnet-yy, 'subnet-zz']}'
-
Per crittografare il modello con una chiave KMS, aggiungi il seguente argomento al comando precedente, sostituendo i valori per specificare la chiave con cui crittografare il modello.
importedModelKmsKeyId = 'arn:aws:kms:region:account-id:key/key-id'
-
Per aggiungere tag, aggiungi il seguente argomento al comando precedente, sostituendo le chiavi e i valori con i tag che desideri allegare al modello di and/or output del lavoro e assicurandoti di separare key/value le coppie con uno spazio:
jobTags key=key1,value=value1 key=key2,value=value2
La risposta restituisce un jobArn.
job_arn = create_job_response.get("jobArn")
Il completamento del processo di importazione personalizzato richiederà un po’ di tempo. Puoi utilizzare il jobArn con il seguente comando per controllare lo stato del processo di importazione.
bedrock.get_model_import_job(jobIdentifier=jobArn)
Quando lo status è Completed, il processo di importazione è completato.
Per eseguire l’inferenza sul modello appena importato, devi fornire l’ARN del modello importato come il model-id. Ottenere l’ARN del modello importato.
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 risposta restituisce modelArn insieme ad altri dettagli del modello importato.
{
'nextToken': '',
'modelSummaries': [
{
'modelArn': 'your-model-arn',
'modelName': 'MyImportedModelName',
'modelArchitecture':model-architecture,
'instructSupported':Y,
'creationTime': datetime(2015, 1, 1)
},
]
Utilizza il modello ARN per invocare il modello importato. Per ulteriori informazioni, consulta Invia una sola richiesta con InvokeModel.
Per eliminare il modello importato, utilizza il seguente comando utilizzando il nome del modello o l’ARN del modello importato che vuoi eliminare.
response = client.delete_imported_model(
modelIdentifier='MyImportedModelName'
)