Um einen benutzerdefinierten Modellimportauftrag einzureichen, führen Sie in einem Terminal den folgenden Befehl in der Befehlszeile aus und ${my-import-model-role-arn} ersetzen Sie ihn durch die von Ihnen eingerichtete Modellrolle und den s3-bucket-path S3-Bucket-Pfad Ihrer Modelldateien.
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 }}
In der Antwort wird ein jobArn zurückgegeben. Die Ausführung eines benutzerdefinierten Importauftrags kann einige Zeit in Anspruch nehmen. Sie können den Parameter jobArn mit dem folgenden Befehl verwenden, um den Status des Importauftrags zu überprüfen.
Die folgenden Felder sind optional:
-
Wenn Sie eine VPC-Konfiguration hinzufügen möchten, nehmen Sie das folgende Argument in den obigen Befehl auf, um die Sicherheitsgruppe und die Subnetze anzugeben:
-\\-vpc-config '{securityGroupIds": ["sg-xx"], "subnetIds": ["subnet-yy", "subnet-zz"]}'
-
Wenn Sie Ihr Modell mit einem KMS-Schlüssel verschlüsseln möchten, fügen Sie dem obigen Befehl das folgende Argument hinzu und ersetzen Sie dabei die Werte, um den Schlüssel anzugeben, mit dem Sie Ihr Modell verschlüsseln möchten.
-\\-customModelKmsKeyId 'arn:aws:kms:region:account-id:key/key-id'
-
Um Tags hinzuzufügen, fügen Sie dem obigen Befehl das folgende Argument hinzu. Ersetzen Sie dabei die Schlüssel und Werte durch die Tags, die Sie an das and/or Job-Ausgabemodell anhängen möchten, und achten Sie darauf, die key/value Paare durch ein Leerzeichen zu trennen:
-\\-tags key=key1,value=value1 key=key2,value=value2
In der Antwort wird ein jobArn zurückgegeben. Die Ausführung eines benutzerdefinierten Importauftrags kann einige Zeit in Anspruch nehmen. Sie können den Parameter jobArn mit dem folgenden Befehl verwenden, um den Status des Importauftrags zu überprüfen.
aws bedrock get-model-import-job \
--job-identifier "jobArn"
Die Antwort sieht in etwa wie folgt aus:
{
"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"
Wenn der status Complete lautet, wurde der Importauftrag abgeschlossen.
Um Inferenzen für Ihr neu importiertes Modell auszuführen, müssen Sie den ARN des importierten Modells als model-id angeben. Rufen Sie den ARN des importierten Modells ab.
aws bedrock list-imported-models
Die Antwort enthält den Namen und den ARN des Modells. Verwenden Sie den Modell-ARN, um das importierte Modell aufzurufen. Weitere Informationen finden Sie unter Senden Sie eine einzelne Aufforderung mit InvokeModel.
{
"modelSummaries": [
{
"modelArn": model-arn,
"modelName": "MyImportedModelName",
"modelArchitecture":model-architecture,
"instructSupported":Y,
"creationTime": "2024-08-13T19:20:14.058Z"
}
]
}
Um das importierte Modell zu löschen, führen Sie in einem Terminalfenster den folgenden Befehl in der Befehlszeile aus und verwenden Sie dabei den Namen oder den ARN des importierten Modells, das Sie löschen möchten.
aws bedrock delete-imported-model
--model-identifier MyImportedModelName
Führen Sie den folgenden Codeausschnitt aus, um einen Importauftrag für benutzerdefinierte Modelle zu übermitteln. my-regionErsetzen Sie durch die Region, in die Sie das Modell importiert haben, ${my-import-model-role-arn} durch den ARN der Region, MyImportModelRole die Sie eingerichtet haben, und ${model-file-bucket} ersetzen Sie sie durch Ihren S3-Bucket-Namen.
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")
Die folgenden Felder sind optional.
-
Wenn Sie eine VPC-Konfiguration hinzufügen möchten, nehmen Sie das folgende Argument in den obigen Befehl auf, um die Sicherheitsgruppe und die Subnetze anzugeben:
vpc-config = {'securityGroupIds: ["sg-xx".], 'subnetIds': [subnet-yy, 'subnet-zz']}'
-
Wenn Sie Ihr Modell mit einem KMS-Schlüssel verschlüsseln möchten, fügen Sie dem obigen Befehl das folgende Argument hinzu und ersetzen Sie dabei die Werte, um den Schlüssel anzugeben, mit dem Sie Ihr Modell verschlüsseln möchten.
importedModelKmsKeyId = 'arn:aws:kms:region:account-id:key/key-id'
-
Um Tags hinzuzufügen, fügen Sie dem obigen Befehl das folgende Argument hinzu. Ersetzen Sie dabei die Schlüssel und Werte durch die Tags, die Sie an das and/or Job-Ausgabemodell anhängen möchten, und achten Sie darauf, die key/value Paare durch ein Leerzeichen zu trennen:
jobTags key=key1,value=value1 key=key2,value=value2
In der Antwort wird der Parameter „jobArn“ zurückgegeben.
job_arn = create_job_response.get("jobArn")
Die Ausführung eines benutzerdefinierten Importauftrags kann einige Zeit in Anspruch nehmen. Sie können den Parameter jobArn mit dem folgenden Befehl verwenden, um den Status des Importauftrags zu überprüfen.
bedrock.get_model_import_job(jobIdentifier=jobArn)
Wenn der status Completed lautet, wurde der Importauftrag abgeschlossen.
Um Inferenzen für Ihr neu importiertes Modell auszuführen, müssen Sie den ARN des importierten Modells als model-id angeben. Rufen Sie den ARN des importierten Modells ab.
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'
In der Antwort wird der Parameter modelArn zusammen mit anderen Details des importierten Modells zurückgegeben.
{
'nextToken': '',
'modelSummaries': [
{
'modelArn': 'your-model-arn',
'modelName': 'MyImportedModelName',
'modelArchitecture':model-architecture,
'instructSupported':Y,
'creationTime': datetime(2015, 1, 1)
},
]
Verwenden Sie den Modell-ARN, um das importierte Modell aufzurufen. Weitere Informationen finden Sie unter Senden Sie eine einzelne Aufforderung mit InvokeModel.
Um das importierte Modell zu löschen, verwenden Sie den folgenden Befehl unter Angabe des Namens oder der ARN des importierten Modells, das Sie löschen möchten.
response = client.delete_imported_model(
modelIdentifier='MyImportedModelName'
)