Para enviar um trabalho de importação de modelo personalizado, em um terminal, execute o seguinte comando na linha de comando, ${my-import-model-role-arn} substituindo-o pela função de modelo que você configurou e pelo s3-bucket-path caminho do bucket do S3 dos seus arquivos 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 }}
A resposta retorna o jobArn. O trabalho de importação personalizado levará algum tempo para ser concluído. É possível usar o jobArn com o comando a seguir para verificar o status do trabalho de importação.
Os seguintes campos são opcionais:
-
Para adicionar a configuração de uma VPC, adicione o seguinte argumento ao comando acima para especificar o grupo de segurança e as sub-redes:
-\\-vpc-config '{securityGroupIds": ["sg-xx"], "subnetIds": ["subnet-yy", "subnet-zz"]}'
-
Para criptografar seu modelo com uma chave KMS, adicione o seguinte argumento ao comando acima, substituindo os valores para especificar a chave com a qual você deseja criptografar seu modelo.
-\\-customModelKmsKeyId 'arn:aws:kms:region:account-id:key/key-id'
-
Para adicionar tags, adicione o seguinte argumento ao comando acima, substituindo as chaves e os valores pelas tags que você deseja anexar ao modelo de and/or saída do trabalho e certificando-se de separar os key/value pares com um espaço:
-\\-tags key=key1,value=value1 key=key2,value=value2
A resposta retorna o jobArn. O trabalho de importação personalizado levará algum tempo para ser concluído. É possível usar o jobArn com o comando a seguir para verificar o status do trabalho de importação.
aws bedrock get-model-import-job \
--job-identifier "jobArn"
A resposta deve ser semelhante a esta:
{
"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 o status for Complete, o trabalho de importação estará concluído.
Para executar inferência no modelo recém-importado, forneça o ARN do modelo importado como o model-id. Obtenha o ARN do modelo importado.
aws bedrock list-imported-models
A resposta contém o nome e o ARN do modelo. Use o ARN do modelo para invocar o modelo importado. Para obter mais informações, consulte Envie uma única solicitação com InvokeModel.
{
"modelSummaries": [
{
"modelArn": model-arn,
"modelName": "MyImportedModelName",
"modelArchitecture":model-architecture,
"instructSupported":Y,
"creationTime": "2024-08-13T19:20:14.058Z"
}
]
}
Para excluir o modelo importado, em um terminal, execute o comando a seguir na linha de comandos, usando o nome do modelo ou o ARN do modelo importado que deseja excluir.
aws bedrock delete-imported-model
--model-identifier MyImportedModelName
Execute o trecho de código a seguir para enviar um trabalho de importação de modelo personalizado. my-regionSubstitua pela região em que você importou o modelo, ${my-import-model-role-arn} pelo ARN do MyImportModelRole que você configurou e ${model-file-bucket} substitua pelo nome do bucket do 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")
Os campos a seguir são opcionais.
-
Para adicionar a configuração de uma VPC, adicione o seguinte argumento ao comando acima para especificar o grupo de segurança e as sub-redes:
vpc-config = {'securityGroupIds: ["sg-xx".], 'subnetIds': [subnet-yy, 'subnet-zz']}'
-
Para criptografar seu modelo com uma chave KMS, adicione o seguinte argumento ao comando acima, substituindo os valores para especificar a chave com a qual você deseja criptografar seu modelo.
importedModelKmsKeyId = 'arn:aws:kms:region:account-id:key/key-id'
-
Para adicionar tags, adicione o seguinte argumento ao comando acima, substituindo as chaves e os valores pelas tags que você deseja anexar ao modelo de and/or saída do trabalho e certificando-se de separar os key/value pares com um espaço:
jobTags key=key1,value=value1 key=key2,value=value2
A resposta retorna um jobArn.
job_arn = create_job_response.get("jobArn")
O trabalho de importação personalizado levará algum tempo para ser concluído. É possível usar o jobArn com o comando a seguir para verificar o status do trabalho de importação.
bedrock.get_model_import_job(jobIdentifier=jobArn)
Quando o status for Completed, o trabalho de importação estará concluído.
Para executar inferência no modelo recém-importado, forneça o ARN do modelo importado como o model-id. Obtenha o ARN do 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'
A resposta retorna o modelArn com outros detalhes do modelo importado.
{
'nextToken': '',
'modelSummaries': [
{
'modelArn': 'your-model-arn',
'modelName': 'MyImportedModelName',
'modelArchitecture':model-architecture,
'instructSupported':Y,
'creationTime': datetime(2015, 1, 1)
},
]
Use o ARN do modelo para invocar o modelo importado. Para obter mais informações, consulte Envie uma única solicitação com InvokeModel.
Para excluir o modelo importado, use o comando a seguir com o nome ou o ARN do modelo importado que deseja excluir.
response = client.delete_imported_model(
modelIdentifier='MyImportedModelName'
)