Implantar uma política de raciocínio automatizado em uma aplicação - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implantar uma política de raciocínio automatizado em uma aplicação

Depois de testar sua política de raciocínio automatizado e considerar que o desempenho está adequado, você poderá implantá-la para uso em sua aplicação com as Barreiras de Proteção do Amazon Bedrock. Esta página aborda todo o fluxo de trabalho de implantação: salvar uma versão imutável, anexá-la a uma grade de proteção, automatizar a implantação e integrá-la a pipelines. CloudFormation CI/CD

Salvar uma versão da política de raciocínio automatizado

Quando terminar de testar sua política, crie uma versão imutável. Versões imutáveis garantem que a política anexada à sua grade de proteção não mude inesperadamente quando você continuar editando o RASCUNHO. Cada versão é identificada por um número de versão numérico (1, 2, 3,...) e não pode ser modificada após a criação.

Utilizar o console

  1. Na navegação à esquerda, escolha Raciocínio automatizado.

  2. Escolha a política de raciocínio automatizado que você deseja usar com sua aplicação.

  3. Selecione Salvar como nova versão. Você pode usar essa versão de sua política com a barreira de proteção.

Usar a API

Use a CreateAutomatedReasoningPolicyVersion API para criar uma versão imutável da sua política de raciocínio automatizado.

Parâmetros de solicitação

policyArn(obrigatório)

O nome do recurso da Amazon (ARN) da política de raciocínio automatizado para a qual deve ser criada uma versão.

lastUpdatedDefinitionHash(obrigatório)

O hash da definição da política para a nova versão. Recupere esse hash da GetAutomatedReasoningPolicy API. Isso garante que você controle a versão exata da definição de política testada.

Exemplo

# 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..."

Exemplo de resposta:

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

Adicionar uma política de raciocínio automatizado à uma barreira de proteção

Depois de salvar uma versão da sua política de raciocínio automatizado, adicione-a a uma grade de proteção. O guardrail é o componente de tempo de execução que seu aplicativo chama para validar as respostas do LLM. Você pode adicionar uma política de raciocínio automatizado a uma grade de proteção nova ou existente.

Utilizar o console

  1. No painel de navegação à esquerda, escolha Guardrails e, em seguida, escolha Criar guardrail (ou selecione um guardrail existente e escolha Editar).

  2. Ao acessar a tela Adicionar verificações com raciocínio automatizado, escolha Habilitar política de raciocínio automatizado.

  3. Em Nome da política, escolha uma versão salva de uma política de raciocínio automatizado e selecione Próximo.

  4. Conclua a criação ou atualização da sua grade de proteção.

Usar a API

Use a UpdateGuardrail API CreateGuardrail ou para adicionar uma política de raciocínio automatizado à sua grade de proteção. Inclua o automatedReasoningConfig parâmetro com o ARN da política versionada.

Parâmetros de solicitação

automatedReasoningConfig

A configuração das verificações com raciocínio automatizado nas Barreiras de Proteção do Amazon Bedrock.

policyArn(obrigatório)

O ARN da versão da política de raciocínio automatizado para usar com sua grade de proteção. Use o ARN versionado (terminando em:1, etc.):2, não o ARN não versionado.

Exemplo

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

Use o ARN da política versionada (por exemplo,). arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1 Se você usar o ARN sem versão, a API retornará um erro. Crie uma versão primeiro usandoCreateAutomatedReasoningPolicyVersion.

Importante

As grades de proteção que usam verificações de raciocínio automatizado exigem um perfil de inferência entre regiões. Inclua o --cross-region-config parâmetro com um guardrailProfileIdentifier que corresponda ao prefixo da sua região (por exemplo, us.guardrail.v1:0 para regiões dos EUA ou eu.guardrail.v1:0 para regiões da UE). Se você omitir esse parâmetro, a API retornará a. ValidationException

Exportar uma versão da política para implantação

Para implantar uma política por meio CloudFormation de um CI/CD pipeline, você precisa da definição de política JSON. Use a ExportAutomatedReasoningPolicyVersion API para exportar a definição completa da política, incluindo todas as regras, variáveis e tipos personalizados, de uma versão salva.

A definição exportada tem o mesmo formato aceito pela PolicyDefinition propriedade do CloudFormation AWS::Bedrock::AutomatedReasoningPolicy recurso. Isso facilita a transferência de uma política do fluxo de trabalho do console interativo para a implantação 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

O JSON exportado contém a seguinte estrutura:

{ "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": [] }

Armazene esse arquivo no controle de versão junto com seus CloudFormation modelos. Ao atualizar sua política, exporte a nova versão e atualize o arquivo para acionar uma implantação.

Automatize a implantação com CloudFormation

Use CloudFormation para implantar sua política de raciocínio automatizado e sua grade de proteção como infraestrutura como código. O AWS::Bedrock::AutomatedReasoningPolicy recurso cria uma política com uma definição de política que você exporta da API ou do console. Combinado comAWS::Bedrock::Guardrail, você pode implantar a pilha de validação completa em um único modelo.

nota

CloudFormation cria o recurso de política com a definição de política que você fornece. Ele não executa um fluxo de trabalho de compilação nem extrai regras dos documentos de origem. Primeiro, você deve criar e testar sua política de forma interativa (usando o console, a API ou a CLI do Kiro) e, em seguida, exportar a definição de política testada para uso em seu modelo. Para obter mais informações, consulte Exportar uma versão da política para implantação.

Para obter a referência completa da propriedade do recurso de política, consulte AWS::Bedrock::AutomatedReasoningPolítica na Referência do CloudFormation Modelo.

Exemplo: implantar uma política e uma grade de proteção

O CloudFormation modelo a seguir cria uma política de raciocínio automatizado com uma definição de política e uma grade de proteção que faz referência a ela. Substitua a definição da política pelo JSON exportado da sua política testada.

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
dica

Para implantações de produção, mantenha a definição da política em um arquivo JSON separado e faça referência a ela usando Fn::Include ou carregando-a como um parâmetro de modelo. Isso mantém seu modelo limpo e facilita a atualização independente da definição da política.

Importante

As grades de proteção que usam verificações de raciocínio automatizado exigem um perfil de inferência entre regiões. A CrossRegionConfig propriedade especifica o ARN do perfil do guarda-corpo para sua região. Substitua o prefixo da região (us) pelo prefixo apropriado para sua região de implantação (por exemplo, eu para regiões da UE). Se você omitir essa propriedade, a criação da grade de proteção falhará.

Exemplo: implante com uma chave KMS gerenciada pelo cliente

Para criptografar sua política com uma chave KMS gerenciada pelo cliente, adicione a KmsKeyId propriedade. Você também deve configurar a política de chaves para permitir que o Amazon Bedrock use a chave. Para obter as permissões de política de chaves necessárias, consultePermissões do KMS para políticas de raciocínio 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

A alteração da KmsKeyId propriedade requer a substituição do recurso. CloudFormation excluirá a política existente e criará uma nova com um novo ARN. Atualize todas as grades de proteção que façam referência ao ARN da política antiga.

Próximas etapas

Depois de implantar sua política e proteção, integre as verificações de raciocínio automatizado em seu aplicativo para validar as respostas do LLM em tempo de execução. Para obter mais informações, consulte Integre verificações automatizadas de raciocínio em seu aplicativo.