As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Invoque e personalize modelos Amazon Bedrock com Step Functions
Você pode integrar o Step Functions com o Amazon Bedrock para invocar um modelo específico do Amazon Bedrock e criar um trabalho de ajuste fino para personalizar um modelo. Esta página lista o Amazon Bedrock compatível APIs e fornece um exemplo de Task
estado para extrair o resultado de uma invocação de modelo.
Para saber mais sobre a integração com AWS serviços em Step Functions, consulte e. Integração de produtos da Passando parâmetros para um serviço API em Step Functions
dica
Para implantar um exemplo de fluxo de trabalho que se integre com Amazon Bedrock, consulte Execute o encadeamento de solicitações de IA com o Amazon Bedrock.
Amazon Bedrock integração de serviços APIs
Para integrar AWS Step Functions with Amazon Bedrock, você pode usar o seguinteAPIs. Estes APIs são semelhantes aos correspondentes Amazon Bedrock APIs, exceto InvokeModelque tem campos de solicitação adicionais.
Amazon Bedrock API - CreateModelCustomizationJob
Cria um trabalho de ajuste fino para personalizar um modelo básico. Você pode invocar a integração Step Functions API com CreateModelCustomizationJobfor Request Response ou CreateModelCustomizationJob.sync para os padrões de integração Run a Job (.sync). Não há diferenças nos campos das API chamadas.
Amazon Bedrock API - InvokeModel
Invoca o especificado Amazon Bedrock modelo para executar inferência usando a entrada que você fornece no corpo da solicitação. Você vai usa InvokeModel
para executar inferência para modelos de texto, modelos de imagem e modelos de incorporação.
A ferramenta Amazon Bedrock o corpo da API solicitação de integração de serviços InvokeModelinclui os seguintes parâmetros adicionais.
-
Body
: especifica os dados de entrada no formato especificado no cabeçalho da solicitação do tipo de conteúdo. OBody
contém parâmetros específicos do modelo de destino.Se você usar o
InvokeModel
API, deverá especificar oBody
parâmetro. Step Functions não valida a entrada que você fornece.Body
Quando você especifica
Body
usando o Amazon Bedrock integração otimizada, você pode especificar uma carga útil de até 256 KB. Se a carga útil exceder 256 KB, recomendamos usarInput
. -
Input
: especifica a fonte da qual recuperar os dados de entrada. Esse campo opcional é específico para Amazon Bedrock integração otimizada com Step Functions. Nesse campo, você pode especificar umS3Uri
.É possível especificar
Body
nos Parâmetros ouInput
, mas não ambos.Quando você especifica
Input
sem especificarContentType
, o tipo de conteúdo da fonte de dados de entrada se torna o valor deContentType
. -
Output
— Especifica o destino em que a API resposta é gravada. Esse campo opcional é específico para Amazon Bedrock integração otimizada com Step Functions. Nesse campo, você pode especificar umS3Uri
.Se você especificar esse campo, o corpo da API resposta será substituído por uma referência ao Amazon S3 localização da saída original.
O exemplo a seguir mostra a sintaxe de for InvokeModel API Amazon Bedrock integração.
{ "ModelId": String, // required "Accept": String, // default: application/json "ContentType": String, // default: application/json "Input": { // not from Bedrock API "S3Uri": String }, "Output": { // not from Bedrock API "S3Uri": String } }
Definição do estado da tarefa para Amazon Bedrock ETL zero
A seguinte definição do estado da tarefa mostra como você pode se integrar com Amazon Bedrock em suas máquinas estaduais. Este exemplo mostra um estado de Tarefa que extrai o resultado completo da invocação do modelo especificado pelo caminho, result_one
. Isso se baseia em Parâmetros de inferência para modelos básicos. Este exemplo usa o modelo de linguagem grande do Cohere Command (LLM).
{ "Type": "Task", "Resource": "arn:aws:states:::bedrock:invokeModel", "Parameters": { "ModelId": "cohere.command-text-v14", "Body": { "prompt.$": "$.prompt_one", "max_tokens": 250 }, "ContentType": "application/json", "Accept": "*/*" }, "ResultPath": "$.result_one", "ResultSelector": { "result_one.$": "$.Body.generations[0].text" }, "End": true }
IAM policies for calling Amazon Bedrock
Quando você cria uma máquina de estado usando o console, Step Functions cria automaticamente uma função de execução para sua máquina de estado com o mínimo de privilégios necessários. Estes são gerados automaticamente IAM as funções são válidas para o Região da AWS na qual você cria a máquina de estado.
Recomendamos que, ao criar IAM políticas, não inclua curingas nas políticas. Como prática recomendada de segurança, você deve definir o escopo de suas políticas o máximo possível. Use políticas dinâmicas somente quando determinados parâmetros de entrada não forem conhecidos durante o runtime.
Os modelos de exemplo a seguir mostram como AWS Step Functions gera IAM políticas com base nos recursos em sua definição de máquina de estado. Para ter mais informações, consulte Como o Step Functions gera IAM políticas para serviços integrados e Descubra padrões de integração de serviços em Step Functions.
IAM exemplos de políticas para Amazon Bedrock ETL zero
A seção a seguir descreve o IAM permissões que você precisa com base no Amazon Bedrock APIque você usa para uma base específica ou modelo provisionado. Esta seção também contém exemplos de políticas que concedem acesso total.
Lembre-se de substituir o italicized
texto com as informações específicas do seu recurso.
-
IAM exemplo de política para acessar um modelo de fundação específico usando InvokeModel
-
IAM exemplo de política para acessar um modelo provisionado específico usando InvokeModel
-
IAM exemplo de política para acessar um modelo de fundação específico como modelo básico
-
IAM exemplo de política para acessar um modelo personalizado específico como modelo base
-
Acesso total IAM exemplo de política para usar CreateModelCustomizationJob .sync
-
Acesso total IAM exemplo de política para usar CreateModelCustomizationJob .sync
IAM exemplo de política para acessar um modelo de fundação específico usando InvokeModel
O seguinte é um IAM exemplo de política para uma máquina de estado que acessa um modelo básico específico chamado amazon.titan-text-express-v1
usando a InvokeModelAPIação.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/
amazon.titan-text-express-v1
" ] } ] }
IAM exemplo de política para acessar um modelo provisionado específico usando InvokeModel
O seguinte é um IAM exemplo de política para uma máquina de estado que acessa um modelo provisionado específico chamado c2oi931ulksx
usando a ação. InvokeModelAPI
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-2:
123456789012
:provisioned-model/c2oi931ulksx
" ] } ] }
Acesso total IAM exemplo de política para usar InvokeModel
O seguinte é um IAM exemplo de política para uma máquina de estado que fornece acesso total quando você usa a InvokeModelAPIação.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/*", "arn:aws:bedrock:us-east-2:
123456789012
:provisioned-model/*" ] } ] }
IAM exemplo de política para acessar um modelo de fundação específico como modelo básico
O seguinte é um IAM exemplo de política para uma máquina de estado acessar um modelo básico específico denominado amazon.titan-text-express-v1
como modelo básico usando a CreateModelCustomizationJobAPIação.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/
amazon.titan-text-express-v1
", "arn:aws:bedrock:us-east-2:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }
IAM exemplo de política para acessar um modelo personalizado específico como modelo base
O seguinte é um IAM exemplo de política para uma máquina de estado acessar um modelo personalizado específico como modelo básico usando a CreateModelCustomizationJobAPIação.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2:
123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/[[roleName]]" ] } ] }
Acesso total IAM exemplo de política para usar CreateModelCustomizationJob .sync
O seguinte é um IAM exemplo de política para uma máquina de estado que fornece acesso total quando você usa a CreateModelCustomizationJobAPIação.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/*", "arn:aws:bedrock:us-east-2:
123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }
IAM exemplo de política para acessar um modelo de fundação específico usando CreateModelCustomizationJob .sync
O seguinte é um IAM exemplo de política para uma máquina de estado acessar um modelo básico específico chamado amazon.titan-text-express-v1
usando a API ação CreateModelCustomizationJob.sync.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2::foundation-model/amazon.titan-text-express-v1", "arn:aws:bedrock:us-east-2:
123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }
IAM exemplo de política para acessar um modelo personalizado usando CreateModelCustomizationJob .sync
O seguinte é um IAM exemplo de política para uma máquina de estado acessar um modelo personalizado usando a API ação CreateModelCustomizationJob.sync.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2:
123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }
Acesso total IAM exemplo de política para usar CreateModelCustomizationJob .sync
O seguinte é um IAM exemplo de política para uma máquina de estado que fornece acesso total quando você usa a API ação CreateModelCustomizationJob.sync.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
us-east-2
::foundation-model/*", "arn:aws:bedrock:us-east-2
:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-2
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-2
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }