

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, 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
<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 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
<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>

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

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).**

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. Termine de crear o actualizar su barandilla.

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

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
<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 para usar con su barandilla. Utilice el ARN versionado (que termina `:1` en`:2`, etc.), 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 la política versionada ARN (por ejemplo`arn: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
<a name="export-policy-version"></a>

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
<a name="deploy-cfn"></a>

Ú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 con`AWS::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](#export-policy-version).

Para ver la referencia de propiedad completa del recurso de políticas, consulte [AWS::Bedrock::AutomatedReasoningPolítica](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-bedrock-automatedreasoningpolicy.html) en la referencia de *CloudFormation plantillas*.

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

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
<a name="deploy-cfn-kms-example"></a>

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, 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**  
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
<a name="deploy-next-steps"></a>

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](integrate-automated-reasoning-checks.md).