Llamada a Amazon Bedrock con Step Functions - AWS Step Functions

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.

Llamada a Amazon Bedrock con Step Functions

Step Functions puede controlar ciertos AWS servicios directamente desde Lenguaje de estados de Amazon (ASL). Para obtener más información, consulte Trabajo con otros servicios y Cómo pasar parámetros a una API de servicio.

API de integración de servicios de Amazon Bedrock

Para integrar AWS Step Functions con Amazon Bedrock, puede utilizar las siguientes API. Estas API son similares a las API de Amazon Bedrock correspondientes, con algunas diferencias en los campos de solicitud que se pasan.

En la siguiente tabla se describen las diferencias entre cada API de integración de servicios y sus API de Amazon Bedrock correspondientes.

API de integración de servicios de Amazon Bedrock y API de Amazon Bedrock correspondientes
API de integración de servicios de Amazon Bedrock API de Amazon Bedrock correspondiente Diferencias

InvokeModel

Invoca el modelo de Amazon Bedrock especificado para ejecutar la inferencia utilizando la entrada proporcionada en el cuerpo de la solicitud InvokeModel sirve para ejecutar la inferencia para modelos de texto, modelos de imagen y modelos de incrustación.

InvokeModel

El cuerpo de la solicitud de la API de integración de servicios de Amazon Bedrock incluye 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 la API InvokeModel, debe especificar el parámetro Body. Step Functions no valida la entrada que proporcionada en Body.

    Al especificar Body utilizando la integración optimizada de Amazon Bedrock, puede especificar una carga útil de hasta 256 KB. Si su carga útil supera 256 KB, le recomendamos que utilice Input.

  • Input: especifica el origen del que se van a recuperar los datos de entrada. Este campo opcional es específico de una integración optimizada de Amazon Bedrock con Step Functions. En este campo, puede especificar un S3Uri.

    Puede especificar Body en los Parámetros o Input, pero no ambos.

    Si especifica Input sin especificar ContentType, el tipo de contenido del origen de datos de entrada pasa a ser el valor de ContentType.

  • Output: especifica el destino en el que se escribe la respuesta de la API. Este campo opcional es específico de una integración optimizada de Amazon Bedrock con Step Functions. En este campo, puede especificar un S3Uri.

    Si especifica este campo, el cuerpo de la respuesta de la API se sustituye por una referencia a la ubicación de Amazon S3 de la salida original.

El siguiente ejemplo muestra la sintaxis de la InvokeModel API para la 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 } }

CreateModelCustomizationJob

Crea un trabajo de microajuste para personalizar un modelo base.

CreateModelCustomizationJob Ninguna

CreateModelCustomizationJob.sync

Crea un trabajo de microajuste para personalizar un modelo base.

CreateModelCustomizationJob Ninguna

Para obtener información sobre cómo configurar IAM los permisos cuando se utilizan Step Functions con otros AWS servicios, consultePolíticas de IAM para servicios integrados.

Definición del estado Task para la integración de Amazon Bedrock

La siguiente definición del estado Task muestra cómo puede integrar Amazon Bedrock en sus máquinas de estado. 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 (LLM) de Cohere Command.

{ "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 }
sugerencia

Para implementar un ejemplo de una máquina de estados que se integre con Amazon Bedrock la suya Cuenta de AWS, consulteEncadenamiento de mensajes de IA con Amazon Bedrock.