

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
<a name="deploy-automated-reasoning-policy"></a>

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, adjuntarla a una barrera, automatizar la implementación con canalizaciones e integrarla en las canalizaciones. CloudFormation CI/CD 

## Almacenamiento de una versión de su política de razonamiento automatizado
<a name="save-policy-version"></a>

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 continúes editando el DRAFT. 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
<a name="save-policy-version-console"></a>

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

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

1. 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
<a name="save-policy-version-api"></a>

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

#### Parámetros de solicitud
<a name="save-policy-version-api-request"></a>

`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
<a name="save-policy-version-api-example"></a>

```
# 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
<a name="add-policy-to-guardrail"></a>

Cuando tengas una versión guardada de tu política de razonamiento automatizado, agrégala a una barrera. La barrera es el componente de tiempo de ejecución al que la aplicación llama para validar las respuestas de LLM. Puede agregar una política de razonamiento automatizado a una barrera nueva o existente.

### Uso de la consola
<a name="add-policy-to-guardrail-console"></a>

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

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

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

1. Termina de crear o actualizar tu barandilla.

### Uso de la API
<a name="add-policy-to-guardrail-api"></a>

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

#### Parámetros de solicitud
<a name="add-policy-to-guardrail-api-request"></a>

`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 que se va a utilizar con la barandilla. Usa el ARN versionado (que termina en`:1`, etc.)`:2`, no el ARN no versionado.

#### Ejemplo
<a name="add-policy-to-guardrail-api-example"></a>

```
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 el ARN de la política versionada (por ejemplo,). `arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1` Si usas el ARN no versionado, la API devuelve un error. Crea primero una versión usando. `CreateAutomatedReasoningPolicyVersion`

**importante**  
Las barreras que utilizan comprobaciones de razonamiento automático requieren un perfil de inferencia interregional. Incluye el `--cross-region-config` parámetro con un prefijo `guardrailProfileIdentifier` que coincida con el de tu 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 devolverá un. `ValidationException`

## Exporta una versión de la política para su implementación
<a name="export-policy-version"></a>

Para implementar una política a través CloudFormation de una CI/CD canalización, necesita el JSON de definición de política. 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": []
}
```

Guarda este archivo en el control de versiones junto con tus 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
<a name="deploy-cfn"></a>

Úselo CloudFormation para implementar su política de razonamiento automatizado y guardarrail como infraestructura como 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 con esto`AWS::Bedrock::Guardrail`, puede implementar toda la pila de validación en una sola plantilla.

**nota**  
CloudFormation crea el recurso de política con la definición de política que usted proporciona. No ejecuta un flujo de trabajo de compilación ni extrae reglas de los documentos fuente. Primero debes crear y probar tu 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 usarla en tu plantilla. Para obtener más información, consulte [Exporta una versión de la política para su implementación](#export-policy-version).

Para obtener la referencia de propiedad completa del recurso de política, consulte [AWS::Bedrock:: AutomatedReasoningPolicy ](AWSCloudFormation/latest/TemplateReference/aws-resource-bedrock-automatedreasoningpolicy.html) en la referencia de la *CloudFormation plantilla. *

### Ejemplo: implementar una política y una barandilla
<a name="deploy-cfn-template-example"></a>

La siguiente CloudFormation plantilla crea una política de razonamiento automático con una definición de política y una barrera que hace referencia a ella. Sustituya la definición de la política por el JSON exportado desde 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, guarda la definición de la política en un archivo JSON independiente y haz referencia a ella usándola `Fn::Include` o cargándola como 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 automático requieren un perfil de inferencia interregional. La `CrossRegionConfig` propiedad especifica el ARN del perfil de barandilla de su región. Sustituya el prefijo de la región (`us`) por el prefijo correspondiente a su región de despliegue (por ejemplo, `eu` para las regiones de la UE). Si omites esta propiedad, se producirá un error en la creación de la barandilla.

### Ejemplo: implemente con una clave de KMS administrada por el cliente
<a name="deploy-cfn-kms-example"></a>

Para cifrar su política con una clave de KMS administrada por el cliente, agregue la `KmsKeyId` propiedad. También debe configurar la política de claves para permitir que Amazon Bedrock utilice la clave. Para conocer los permisos necesarios para la política de claves, consulte[Permisos de KMS para las políticas de razonamiento automatizado](create-automated-reasoning-policy.md#automated-reasoning-policy-kms-permissions).

```
  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**  
Para cambiar la `KmsKeyId` propiedad es necesario reemplazar el 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
<a name="deploy-next-steps"></a>

Tras implementar la política y la barrera, integre las comprobaciones de razonamiento automatizado en su aplicación para validar las respuestas de la LLM en tiempo de ejecución. Para obtener más información, consulte [Integre las comprobaciones de razonamiento automatizadas en su aplicación](integrate-automated-reasoning-checks.md).