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á.
Invocar e personalizar modelos do Amazon Bedrock com o Step Functions
É possível integrar o Step Functions ao 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 otimizado 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 no Step Functions, consulte Integração de produtos da e. Transmitir parâmetros a uma API de serviço no Step Functions
dica
Para implantar um exemplo de fluxo de trabalho que se integre ao Amazon Bedrock, consulte Realizar o encadeamento de prompts de IA com o Amazon Bedrock.
Amazon Bedrockintegração de serviços APIs
Para integrar AWS Step Functions comAmazon Bedrock, você pode usar o seguinte APIs. Eles APIs são semelhantes aos correspondentes Amazon Bedrock APIs, exceto InvokeModelque têm campos de solicitação adicionais.
API Amazon Bedrock - CreateModelCustomizationJob
Cria um trabalho de ajuste fino para personalizar um modelo básico. Você pode invocar a API de integração Step Functions com os padrões de integração CreateModelCustomizationJobfor Request Response ou CreateModelCustomizationJob.sync para Run a Job (.sync). Não há diferenças nos campos das chamadas de API.
API Amazon Bedrock - InvokeModel
Invoca o modelo do Amazon Bedrock especificado para executar a inferência usando a entrada fornecida 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.
O corpo da solicitação da API de integração de Amazon Bedrock 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 a API
InvokeModel
, deverá especificar o parâmetroBody
. O Step Functions não valida a entrada fornecida emBody
.Ao especificar
Body
usando a integração Amazon Bedrock otimizada, você pode especificar uma carga útil de até 256 KiB. Se sua carga útil exceder 256 KiB, recomendamos que você useInput
. -
Input
: especifica a fonte da qual recuperar os dados de entrada. Esse campo opcional é específico da integração otimizada do Amazon Bedrock ao Step Functions. Nesse campo, é possível 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 resposta da API é gravada. Esse campo opcional é específico da integração otimizada do Amazon Bedrock ao Step Functions. Nesse campo, é possível especificar umS3Uri
.Se você especificar esse campo, o corpo da resposta da API será substituído por uma referência ao local do Amazon S3 da saída original.
O exemplo a seguir mostra a sintaxe InvokeModel da API para 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 integração do Amazon Bedrock
A definição do estado de Tarefa a seguir mostra como se integrar ao Amazon Bedrock nas máquinas de estado. 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 grande modelo de linguagem (LLM) Cohere Command.
{ "Type": "Task", "Resource": "arn:aws:states:::bedrock:invokeModel", "Arguments": { "ModelId": "cohere.command-text-v14", "Body": { "prompt": "{% states.input.prompt_one %}", "max_tokens": 20 }, "ContentType": "application/json", "Accept": "*/*" }, "End": true }
IAM policies for calling Amazon Bedrock
Ao criar uma máquina de estado usando o console, o Step Functions cria automaticamente um perfil de execução para a máquina de estado com os privilégios mínimos necessários. Essas IAM funções geradas automaticamente são válidas para Região da AWS as quais você cria a máquina de estado.
Recomendamos não incluir curingas ao criar políticas do IAM. 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 políticas do IAM com base nos recursos na definição da sua máquina de estado. Para obter mais informações, consulte Como o Step Functions gera políticas do IAM para serviços integrados e Descobrir padrões de integração de serviços no Step Functions.
Exemplos de política do IAM para integração do Amazon Bedrock
A seção a seguir descreve as permissões do IAM necessárias com base na API do Amazon Bedrock utilizada para uma base específica ou um modelo provisionado. Esta seção também contém exemplos de políticas que concedem acesso total.
Lembre-se de substituir o italicized
texto pelas informações específicas do seu recurso.
-
IAMexemplo de política para acessar um modelo de fundação específico usando InvokeModel
-
IAMexemplo de política para acessar um modelo provisionado específico usando InvokeModel
-
Exemplo de IAM política de acesso completo para usar InvokeModel
-
Exemplo de política do IAM que acessa um modelo de base específico como modelo de base
-
Exemplo de política do IAM que acessa um modelo personalizado específico como modelo de base
-
Exemplo de IAM política de acesso completo para usar CreateModelCustomizationJob .sync
-
IAMexemplo de política para acessar um modelo personalizado usando CreateModelCustomizationJob .sync
-
Exemplo de IAM política de acesso completo para usar CreateModelCustomizationJob .sync
IAMexemplo de política para acessar um modelo de fundação específico usando InvokeModel
Veja a seguir um exemplo IAM 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 ação da InvokeModelAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:
us-east-1
::foundation-model/amazon.titan-text-express-v1
" ] } ] }
IAMexemplo de política para acessar um modelo provisionado específico usando InvokeModel
Veja a seguir um exemplo IAM de política para uma máquina de estado que acessa um modelo provisionado específico chamado c2oi931ulksx
usando a ação da InvokeModelAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:
us-east-1
:123456789012
:provisioned-model/c2oi931ulksx
" ] } ] }
Exemplo de IAM política de acesso completo para usar InvokeModel
Veja a seguir um exemplo IAM de política para uma máquina de estado que fornece acesso total quando você usa a ação da InvokeModelAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:
us-east-1
::foundation-model/*", "arn:aws:bedrock:us-east-1
:123456789012
:provisioned-model/*" ] } ] }
Exemplo de política do IAM que acessa um modelo de base específico como modelo de base
Veja a seguir um exemplo IAM de política para que uma máquina de estado acesse um modelo básico específico amazon.titan-text-express-v1
chamado de modelo básico usando a ação da CreateModelCustomizationJobAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
us-east-1
::foundation-model/amazon.titan-text-express-v1
", "arn:aws:bedrock:us-east-1
:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-1
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }
Exemplo de política do IAM que acessa um modelo personalizado específico como modelo de base
Veja a seguir um exemplo IAM de política para que uma máquina de estado acesse um modelo personalizado específico como modelo base usando a ação da CreateModelCustomizationJobAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
us-east-1
:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-1
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRoleName" ] } ] }
Exemplo de IAM política de acesso completo para usar CreateModelCustomizationJob .sync
Veja a seguir um exemplo IAM de política para uma máquina de estado que fornece acesso total quando você usa a ação da CreateModelCustomizationJobAPI.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
us-east-1
::foundation-model/*", "arn:aws:bedrock:us-east-1
:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-1
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }
IAMexemplo de política para acessar um modelo de fundação específico usando CreateModelCustomizationJob .sync
Veja a seguir um exemplo IAM de política para que uma máquina de estado acesse um modelo básico específico chamado amazon.titan-text-express-v1
usando a ação da API CreateModelCustomizationJob.sync.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
us-east-1
::foundation-model/amazon.titan-text-express-v1", "arn:aws:bedrock:us-east-1
:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-1
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-1
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }
IAMexemplo de política para acessar um modelo personalizado usando CreateModelCustomizationJob .sync
Veja a seguir um exemplo IAM de política para uma máquina de estado acessar um modelo personalizado usando a ação da API CreateModelCustomizationJob.sync.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
us-east-1
:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-1
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-1
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }
Exemplo de IAM política de acesso completo para usar CreateModelCustomizationJob .sync
Veja a seguir um exemplo IAM de política para uma máquina de estado que fornece acesso total quando você usa a ação da API CreateModelCustomizationJob.sync.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "CreateModelCustomizationJob1", "Action": [ "bedrock:CreateModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:
us-east-1
::foundation-model/*", "arn:aws:bedrock:us-east-1
:123456789012
:custom-model/*", "arn:aws:bedrock:us-east-1
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob2", "Action": [ "bedrock:GetModelCustomizationJob", "bedrock:StopModelCustomizationJob" ], "Resource": [ "arn:aws:bedrock:us-east-1
:123456789012
:model-customization-job/*" ] }, { "Effect": "Allow", "Sid": "CreateModelCustomizationJob3", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012
:role/myRole
" ] } ] }