Implementación de la política de razonamiento automatizado en su aplicación - Amazon Bedrock

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.

Implementación de la política de razonamiento automatizado en su aplicación

Una vez que haya probado su política de razonamiento automatizado y esté satisfecho con su rendimiento, podrá implementarla para utilizarla en su aplicación con Barreras de protección para Amazon Bedrock. En esta página se describe todo el flujo de trabajo de implementación: guardar una versión inmutable, conectarla a una barandilla, automatizar la implementación con los pipelines e integrarla en ellos. CloudFormation CI/CD

Almacenamiento de una versión de su política de razonamiento automatizado

Cuando termines de probar tu política, crea una versión inmutable. Las versiones inmutables garantizan que la política adjunta a tu barandilla no cambie inesperadamente cuando sigas editando el BORRADOR. Cada versión se identifica con un número de versión numérico (1, 2, 3,...) y no se puede modificar una vez creada.

Uso de la consola

  1. En el panel de navegación izquierdo, seleccione Razonamiento automatizado.

  2. Elija la política de razonamiento automatizado que quiera usar con su aplicación.

  3. Seleccione Guardar como versión nueva. Puede usar esta versión de la política con su barrera de protección.

Uso de la API

Usa la CreateAutomatedReasoningPolicyVersion API para crear una versión inmutable de tu política de razonamiento automatizado.

Parámetros de solicitud

policyArn (obligatorio)

El Nombre de recurso de Amazon (ARN) de la política de razonamiento automatizado para la que ha creado una versión.

lastUpdatedDefinitionHash (obligatorio)

El hash de la definición de política de la nueva versión. Recupera este hash de la GetAutomatedReasoningPolicy API. Esto garantiza que está versionando la definición de política exacta que probó.

Ejemplo

# Get the current definition hash aws bedrock get-automated-reasoning-policy \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk" \ --query "definitionHash" --output text # Create the version aws bedrock create-automated-reasoning-policy-version \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk" \ --last-updated-definition-hash "583463f067a8a4f49fc1206b4642fd40..."

Ejemplo de respuesta:

{ "policyArn": "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk", "version": "1", "name": "MyHRPolicy" }

Adición de la política de razonamiento automatizado a la barrera de protección

Una vez que hayas guardado una versión de tu política de razonamiento automatizado, agrégala a una barrera de protección. La barandilla es el componente de tiempo de ejecución al que llama la aplicación para validar las respuestas de LLM. Puede añadir una política de razonamiento automatizado a una barandilla nueva o existente.

Uso de la consola

  1. En el menú de navegación de la izquierda, selecciona Barandillas y, a continuación, selecciona Crear barandilla (o selecciona una barandilla existente y selecciona Editar).

  2. Cuando llegue a la pantalla Añadir verificaciones de razonamiento automatizado, seleccione Activar política de razonamiento automatizado.

  3. En Nombre de la política, elija una versión guardada de una política de razonamiento automatizado y, a continuación, seleccione Siguiente.

  4. Termine de crear o actualizar su barandilla.

Uso de la API

Usa la UpdateGuardrail API CreateGuardrail o para añadir una política de razonamiento automatizado a tu barandilla. Incluya el automatedReasoningConfig parámetro con el ARN de la política versionada.

Parámetros de solicitud

automatedReasoningConfig

La configuración de las verificaciones de razonamiento automatizado en Barreras de protección para Amazon Bedrock.

policyArn (obligatorio)

El ARN de la versión de la política de razonamiento automatizado para usar con su barandilla. Utilice el ARN versionado (que termina :1 en:2, etc.), no el ARN no versionado.

Ejemplo

aws bedrock create-guardrail \ --name "HR-Policy-Guardrail" \ --description "Guardrail for HR policy validation" \ --automated-reasoning-policy-config policies="arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1" \ --cross-region-config '{"guardrailProfileIdentifier": "us.guardrail.v1:0"}' \ --blocked-input-messaging "I cannot process this request." \ --blocked-outputs-messaging "I cannot provide this response."
importante

Utilice la política versionada ARN (por ejemploarn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1,). Si utilizas el ARN no versionado, la API devuelve un error. Cree primero una versión utilizando. CreateAutomatedReasoningPolicyVersion

importante

Las barandillas que utilizan comprobaciones de razonamiento automatizadas requieren un perfil de inferencia entre regiones. Incluya el --cross-region-config parámetro con un prefijo guardrailProfileIdentifier que coincida con el prefijo de su región (por ejemplo, us.guardrail.v1:0 para las regiones de EE. UU. o eu.guardrail.v1:0 de la UE). Si omites este parámetro, la API devuelve un. ValidationException

Exporte una versión de la política para su implementación

Para implementar una política a través de una CI/CD canalización CloudFormation o canalización, necesita la definición de política JSON. Usa la ExportAutomatedReasoningPolicyVersion API para exportar la definición de política completa (incluidas todas las reglas, variables y tipos personalizados) desde una versión guardada.

La definición exportada tiene el mismo formato que acepta la PolicyDefinition propiedad del CloudFormation AWS::Bedrock::AutomatedReasoningPolicy recurso. Esto facilita el traslado de una política del flujo de trabajo de la consola interactiva a la implementación automatizada.

# Export the policy definition from version 1 aws bedrock export-automated-reasoning-policy-version \ --policy-arn "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1" \ --query "policyDefinition" \ --output json > policy-definition.json

El JSON exportado contiene la siguiente estructura:

{ "version": "1.0", "variables": [ { "name": "isFullTime", "type": "BOOL", "description": "Whether the employee works full-time (true) or part-time (false)." }, { "name": "tenureMonths", "type": "INT", "description": "The number of complete months the employee has been continuously employed." } ], "rules": [ { "id": "A1B2C3D4E5F6", "expression": "(=> (and isFullTime (> tenureMonths 12)) eligibleForParentalLeave)" } ], "types": [] }

Guarde este archivo en el control de versiones junto con sus CloudFormation plantillas. Cuando actualices tu política, exporta la nueva versión y actualiza el archivo para activar una implementación.

Automatice la implementación con CloudFormation

Úselo CloudFormation para implementar su política de razonamiento automatizado y su barrera de protección tanto de infraestructura como de código. El AWS::Bedrock::AutomatedReasoningPolicy recurso crea una política con una definición de política que se exporta desde la API o la consola. En combinación conAWS::Bedrock::Guardrail, puede implementar la pila de validación completa en una sola plantilla.

nota

CloudFormation crea el recurso de políticas con la definición de política que usted proporcione. No ejecuta un flujo de trabajo de compilación ni extrae reglas de los documentos fuente. Primero debe crear y probar la política de forma interactiva (mediante la consola, la API o la CLI de Kiro) y, a continuación, exportar la definición de política probada para utilizarla en la plantilla. Para obtener más información, consulte Exporte una versión de la política para su implementación.

Para ver la referencia de propiedad completa del recurso de políticas, consulte AWS::Bedrock::AutomatedReasoningPolítica en la referencia de CloudFormation plantillas.

Ejemplo: implementar una política y una barrera

La siguiente CloudFormation plantilla crea una política de razonamiento automatizado con una definición de política y una guía que hace referencia a ella. Sustituya la definición de política por el JSON exportado de la política probada.

AWSTemplateFormatVersion: '2010-09-09' Description: Deploy an Automated Reasoning policy and guardrail Parameters: PolicyName: Type: String Default: MyHRPolicy Description: Name of the Automated Reasoning policy GuardrailName: Type: String Default: HR-Policy-Guardrail Description: Name of the guardrail Resources: AutomatedReasoningPolicy: Type: AWS::Bedrock::AutomatedReasoningPolicy Properties: Name: !Ref PolicyName Description: Validates HR chatbot responses about leave eligibility PolicyDefinition: Version: '1.0' Variables: - Name: isFullTime Type: BOOL Description: >- Whether the employee works full-time (true) or part-time (false). Set to true when users mention being full-time or working 40+ hours per week. - Name: tenureMonths Type: INT Description: >- The number of complete months the employee has been continuously employed. When users mention years of service, convert to months (for example, 2 years = 24 months). - Name: eligibleForParentalLeave Type: BOOL Description: >- Whether the employee is eligible for parental leave based on employment status and tenure. Rules: - Id: A1B2C3D4E5F6 Expression: >- (=> (and isFullTime (> tenureMonths 12)) eligibleForParentalLeave) - Id: G7H8I9J0K1L2 Expression: >- (=> (or (not isFullTime) (<= tenureMonths 12)) (not eligibleForParentalLeave)) Types: [] Tags: - Key: Environment Value: Production - Key: Team Value: HR Guardrail: Type: AWS::Bedrock::Guardrail Properties: Name: !Ref GuardrailName Description: Guardrail with Automated Reasoning checks for HR policy BlockedInputMessaging: I cannot process this request. BlockedOutputsMessaging: I cannot provide this response. AutomatedReasoningPolicyConfig: Policies: - !GetAtt AutomatedReasoningPolicy.PolicyArn CrossRegionConfig: GuardrailProfileArn: !Sub "arn:aws:bedrock:${AWS::Region}:${AWS::AccountId}:guardrail-profile/us.guardrail.v1:0" Outputs: PolicyArn: Description: ARN of the Automated Reasoning policy Value: !GetAtt AutomatedReasoningPolicy.PolicyArn PolicyId: Description: ID of the Automated Reasoning policy Value: !GetAtt AutomatedReasoningPolicy.PolicyId GuardrailId: Description: ID of the guardrail Value: !Ref Guardrail
sugerencia

Para las implementaciones de producción, guarde la definición de la política en un archivo JSON independiente y haga referencia a ella utilizando Fn::Include o cargándola como un parámetro de plantilla. Esto mantiene la plantilla limpia y facilita la actualización de la definición de la política de forma independiente.

importante

Las barreras que utilizan comprobaciones de razonamiento automatizadas requieren un perfil de inferencia entre regiones. La CrossRegionConfig propiedad especifica el ARN del perfil de barandilla de su región. Sustituya el prefijo regional (us) por el prefijo adecuado para la región de despliegue (por ejemplo, eu para las regiones de la UE). Si omite esta propiedad, se producirá un error al crear la barandilla.

Ejemplo: realizar una implementación con una clave KMS administrada por el cliente

Para cifrar la política con una clave KMS administrada por el cliente, añada la KmsKeyId propiedad. También debe configurar la política de claves para permitir que Amazon Bedrock utilice la clave. Para conocer los permisos de política clave necesarios, consultePermisos de KMS para las políticas de razonamiento automatizado.

AutomatedReasoningPolicy: Type: AWS::Bedrock::AutomatedReasoningPolicy Properties: Name: !Ref PolicyName Description: Validates HR chatbot responses about leave eligibility KmsKeyId: !GetAtt PolicyEncryptionKey.Arn PolicyDefinition: # ... policy definition ... Tags: - Key: Environment Value: Production
importante

El cambio de la KmsKeyId propiedad requiere la sustitución del recurso. CloudFormation eliminará la política existente y creará una nueva con un ARN nuevo. Actualice todas las barandillas que hagan referencia al ARN de la política anterior.

Siguientes pasos

Después de implementar la política y la barrera, integre las comprobaciones de razonamiento automático en su aplicación para validar las respuestas de LLM en tiempo de ejecución. Para obtener más información, consulte Integre las comprobaciones de razonamiento automatizadas en su aplicación.