Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Invoca y personaliza los modelos de Amazon Bedrock con Step Functions
Puede integrar Step Functions con Amazon Bedrock para invocar un modelo de Amazon Bedrock específico y crear un trabajo de ajuste para personalizar un modelo. En esta página se enumeran los Amazon Bedrock compatibles APIs y se proporciona un Task
estado de ejemplo para extraer el resultado de la invocación de un modelo.
Para obtener información sobre la integración con AWS servicios en Step Functions, consulte Integración de los servicios de yPasar parámetros a un servicio API en Step Functions.
sugerencia
Para implementar un ejemplo de flujo de trabajo que se integre con Amazon Bedrock, consulte Lleve a cabo el encadenamiento de mensajes de IA con Amazon Bedrock.
Amazon Bedrock integración de servicios APIs
Para integrar AWS Step Functions with Amazon Bedrock, puede utilizar lo siguienteAPIs. Estos APIs son similares a los correspondientes Amazon Bedrock APIs, excepto InvokeModelque tiene campos de solicitud adicionales.
Amazon Bedrock - API CreateModelCustomizationJob
Crea un trabajo de microajuste para personalizar un modelo base. Puede invocar la integración de Step Functions API con CreateModelCustomizationJoblos patrones de integración de Request Response o CreateModelCustomizationJob.sync para Run a Job (.sync). No hay diferencias en los campos de las llamadas. API
Amazon Bedrock - API InvokeModel
Invoca el especificado Amazon Bedrock modelo para ejecutar la inferencia utilizando la entrada que proporciona en el cuerpo de la solicitud. InvokeModel
sirve para ejecutar la inferencia para modelos de texto, modelos de imagen y modelos de incrustación.
La Amazon Bedrock El cuerpo de la API solicitud de integración del servicio InvokeModelincluye los siguientes parámetros adicionales.
-
Body
: especifica los datos de entrada en el formato especificado en el encabezado de la solicitud del tipo de contenido.Body
contiene parámetros específicos del modelo de destino.Si utiliza el
InvokeModel
API, debe especificar elBody
parámetro. Step Functions no valida la entrada que proporcionaBody
.Cuando se especifica
Body
mediante el Amazon Bedrock en la integración optimizada, puede especificar una carga útil de hasta 256 KB. Si su carga útil supera 256 KB, le recomendamos que utiliceInput
. -
Input
: especifica el origen del que se van a recuperar los datos de entrada. Este campo opcional es específico de Amazon Bedrock integración optimizada con Step Functions. En este campo, puede especificar unS3Uri
.Puede especificar
Body
en los Parámetros oInput
, pero no ambos.Si especifica
Input
sin especificarContentType
, el tipo de contenido del origen de datos de entrada pasa a ser el valor deContentType
. -
Output
— Especifica el destino en el que se escribe la API respuesta. Este campo opcional es específico de Amazon Bedrock integración optimizada con Step Functions. En este campo, puede especificar unS3Uri
.Si especifica este campo, el cuerpo de la API respuesta se sustituye por una referencia al Amazon S3 ubicación de la salida original.
En el siguiente ejemplo se muestra la sintaxis de InvokeModel API for Amazon Bedrock integración.
{ "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 } }
Definición del estado de la tarea para Amazon Bedrock integración
La siguiente definición del estado de la tarea muestra cómo puede integrarse con Amazon Bedrock en sus máquinas estatales. Este ejemplo muestra un estado Task que extrae el resultado completo de la invocación del modelo especificada en la ruta, result_one
. Se basa en los parámetros de inferencia de los modelos fundacionales. En este ejemplo se utiliza el modelo de lenguaje grande 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
Al crear una máquina de estados mediante la consola, Step Functions crea automáticamente un rol de ejecución para su máquina de estados con los privilegios mínimos necesarios. Estos se generan automáticamente IAM los roles son válidos para Región de AWS en la que se crea la máquina de estados.
Se recomienda que cuando cree IAM políticas, no incluya caracteres comodín en las políticas. Como práctica recomendada de seguridad, debe reducir el alcance de las políticas en la medida de lo posible. Debe usar políticas dinámicas solo cuando no se conozcan ciertos parámetros de entrada durante el tiempo de ejecución.
En las siguientes plantillas de ejemplo se muestra cómo AWS Step Functions genera IAM políticas en función de los recursos de la definición de su máquina de estados. Para obtener más información, consulte Cómo Step Functions genera IAM políticas para servicios integrados y Descubra los patrones de integración de servicios en Step Functions.
IAM ejemplos de políticas para Amazon Bedrock integración
En la siguiente sección se describe la IAM los permisos que necesita en función de Amazon Bedrock APIque utilice para una base específica o un modelo aprovisionado. En esta sección también se incluyen ejemplos de políticas que otorgan acceso total.
Recuerde reemplazar el italicized
envíe un mensaje de texto con la información específica de su recurso.
-
IAM ejemplo de política para acceder a un modelo de base específico utilizando InvokeModel
-
IAM ejemplo de política para acceder a un modelo aprovisionado específico mediante InvokeModel
-
Acceso completo de IAM ejemplo de política para usar InvokeModel
-
IAM ejemplo de política para acceder a un modelo básico específico como modelo base
-
IAM ejemplo de política para acceder a un modelo personalizado específico como modelo base
-
Acceso completo de IAM ejemplo de política para usar CreateModelCustomizationJob .sync
-
Acceso completo de IAM ejemplo de política para usar .sync CreateModelCustomizationJob
IAM ejemplo de política para acceder a un modelo de base específico utilizando InvokeModel
El siguiente es un IAM ejemplo de política para una máquina de estados que accede a un modelo básico específico denominado amazon.titan-text-express-v1
mediante la InvokeModelAPIacción.
{ "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 ejemplo de política para acceder a un modelo aprovisionado específico mediante InvokeModel
El siguiente es un IAM ejemplo de política para una máquina de estados que accede a un modelo aprovisionado específico denominado c2oi931ulksx
mediante la InvokeModelAPIacción.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Sid": "InvokeModel1", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-2:
123456789012
:provisioned-model/c2oi931ulksx
" ] } ] }
Acceso completo de IAM ejemplo de política para usar InvokeModel
El siguiente es un IAM ejemplo de política para una máquina de estados que proporciona acceso total cuando se utiliza la InvokeModelAPIacción.
{ "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 ejemplo de política para acceder a un modelo básico específico como modelo base
El siguiente es un IAM ejemplo de política para que una máquina de estados acceda a un modelo básico específico amazon.titan-text-express-v1
denominado modelo base mediante la CreateModelCustomizationJobAPIacción.
{ "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 ejemplo de política para acceder a un modelo personalizado específico como modelo base
El siguiente es un IAM ejemplo de política para que una máquina de estados acceda a un modelo personalizado específico como modelo base mediante la CreateModelCustomizationJobAPIacción.
{ "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]]" ] } ] }
Acceso completo de IAM ejemplo de política para usar CreateModelCustomizationJob .sync
El siguiente es un IAM ejemplo de política para una máquina de estados que proporciona acceso total cuando se utiliza la CreateModelCustomizationJobAPIacción.
{ "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 ejemplo de política para acceder a un modelo básico específico mediante CreateModelCustomizationJob .sync
El siguiente es un IAM ejemplo de política para que una máquina de estados acceda a un modelo básico específico denominado amazon.titan-text-express-v1
mediante la API acción 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 ejemplo de política para acceder a un modelo personalizado mediante .sync CreateModelCustomizationJob
El siguiente es un IAM ejemplo de política para que una máquina de estados acceda a un modelo personalizado mediante la API acción 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
" ] } ] }
Acceso completo de IAM ejemplo de política para usar .sync CreateModelCustomizationJob
El siguiente es un IAM ejemplo de política para una máquina de estados que proporciona acceso total cuando se utiliza la API acción 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
" ] } ] }