View a markdown version of this page

Implementare la policy di ragionamento automatico nell’applicazione - Amazon Bedrock

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Implementare la policy di ragionamento automatico nell’applicazione

Dopo aver testato la policy di ragionamento automatico e averne trovato soddisfacenti le prestazioni, puoi distribuirla per utilizzarla nell’applicazione con Guardrail per Amazon Bedrock. Questa pagina illustra l'intero flusso di lavoro di implementazione: salvataggio di una versione immutabile, collegamento a un guardrail, automazione della distribuzione e integrazione nelle pipeline. CloudFormation CI/CD

Salvare una versione della policy di ragionamento automatico

Quando hai finito di testare la tua policy, crea una versione immutabile. Le versioni immutabili assicurano che la policy allegata al guardrail non cambi inaspettatamente quando continui a modificare la BOZZA. Ogni versione è identificata da un numero di versione numerico (1, 2, 3,...) e non può essere modificata dopo la creazione.

Utilizzo della console

  1. Nel riquadro di navigazione a sinistra, scegli Ragionamento automatico.

  2. Scegli la policy di Ragionamento automatico che desideri utilizzare con l’applicazione.

  3. Scegli Salva come nuova versione. Puoi utilizzare questa versione della policy con il guardrail.

Uso dell’API

Usa l'CreateAutomatedReasoningPolicyVersionAPI per creare una versione immutabile della tua policy di ragionamento automatico.

Parametri della richiesta

policyArn(obbligatorio)

Il nome della risorsa Amazon (ARN) della policy di ragionamento automatico per cui creare la versione.

lastUpdatedDefinitionHash(richiesto)

L'hash della definizione della policy per la nuova versione. Recupera questo hash dall'API. GetAutomatedReasoningPolicy Ciò garantisce che tu stia verificando la versione esatta della definizione della policy che hai testato.

Esempio

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

Risposta di esempio:

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

Aggiungere la policy di ragionamento automatico al guardrail

Una volta salvata una versione della tua policy di ragionamento automatico, aggiungila a un guardrail. Il guardrail è il componente di runtime che l'applicazione chiama per convalidare le risposte LLM. È possibile aggiungere una politica di ragionamento automatico a un guardrail nuovo o esistente.

Utilizzo della console

  1. Nella barra di navigazione a sinistra, scegli Guardrails, quindi scegli Crea guardrail (o seleziona un guardrail esistente e scegli Modifica).

  2. Quando arrivi alla schermata Aggiungi controlli del ragionamento automatico, scegli Abilita la policy del ragionamento automatico.

  3. Per Nome della policy, scegli una versione salvata di una policy di ragionamento automatico, quindi scegli Avanti.

  4. Completa la creazione o l'aggiornamento del guardrail.

Uso dell’API

Usa l'UpdateGuardrailAPI CreateGuardrail o per aggiungere una politica di ragionamento automatico al tuo guardrail. Includi il automatedReasoningConfig parametro con la policy ARN con versione.

Parametri della richiesta

automatedReasoningConfig

La configurazione per i controlli del ragionamento automatico in Guardrail per Amazon Bedrock.

policyArn(obbligatorio)

L'ARN della versione della policy di ragionamento automatico da utilizzare con il guardrail. Usa l'ARN con versione (che termina con, ecc.) :1:2, non l'ARN senza versione.

Esempio

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

Utilizza la policy ARN con versione (ad esempio,). arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1 Se si utilizza l'ARN senza versione, l'API restituisce un errore. Crea prima una versione utilizzando. CreateAutomatedReasoningPolicyVersion

Importante

I guardrail che utilizzano i controlli di ragionamento automatico richiedono un profilo di inferenza interregionale. Includi il --cross-region-config parametro con un guardrailProfileIdentifier che corrisponda al prefisso della tua regione (ad esempio, per le regioni degli Stati Uniti o us.guardrail.v1:0 per le regioni dell'UE). eu.guardrail.v1:0 Se ometti questo parametro, l'API restituisce un. ValidationException

Esporta una versione della policy per la distribuzione

Per implementare una policy tramite CloudFormation o una CI/CD pipeline, è necessario il JSON di definizione della policy. Utilizza l'ExportAutomatedReasoningPolicyVersionAPI per esportare la definizione completa della policy, incluse tutte le regole, le variabili e i tipi personalizzati, da una versione salvata.

La definizione esportata è lo stesso formato accettato dalla PolicyDefinition proprietà della CloudFormation AWS::Bedrock::AutomatedReasoningPolicy risorsa. Ciò semplifica lo spostamento di una policy dal flusso di lavoro della console interattiva alla distribuzione automatica.

# 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

Il JSON esportato contiene la seguente struttura:

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

Memorizza questo file nel controllo della versione insieme ai tuoi CloudFormation modelli. Quando aggiorni la tua policy, esporta la nuova versione e aggiorna il file per attivare una distribuzione.

Automatizza la distribuzione con CloudFormation

Utilizzalo CloudFormation per implementare la tua policy di ragionamento automatico e il guardrail come infrastruttura come codice. La AWS::Bedrock::AutomatedReasoningPolicy risorsa crea una policy con una definizione di policy che puoi esportare dall'API o dalla console. In combinazione conAWS::Bedrock::Guardrail, puoi distribuire lo stack di convalida completo in un unico modello.

Nota

CloudFormation crea la risorsa politica con la definizione della politica fornita. Non esegue un flusso di lavoro di compilazione né estrae regole dai documenti di origine. Devi prima creare e testare la tua policy in modo interattivo (usando la console, l'API o l'interfaccia a riga di comando di Kiro), quindi esportare la definizione della policy testata per utilizzarla nel tuo modello. Per ulteriori informazioni, consulta Esporta una versione della policy per la distribuzione.

Per il riferimento completo alle proprietà della risorsa politica, vedi AWS::Bedrock: AutomatedReasoningPolicy nel Riferimento al CloudFormation modello.

Esempio: implementazione di una policy e di un guardrail

Il CloudFormation modello seguente crea una politica di ragionamento automatico con una definizione della politica e un guardrail che fa riferimento ad essa. Sostituisci la definizione della policy con il JSON esportato dalla tua policy testata.

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
Suggerimento

Per le implementazioni di produzione, mantieni la definizione della policy in un file JSON separato e fai riferimento ad essa utilizzando Fn::Include o caricandola come parametro del modello. Ciò mantiene pulito il modello e semplifica l'aggiornamento della definizione della politica in modo indipendente.

Importante

I guardrail che utilizzano i controlli di ragionamento automatico richiedono un profilo di inferenza interregionale. La CrossRegionConfig proprietà specifica l'ARN del profilo guardrail per la tua regione. Sostituisci il prefisso della regione (us) con il prefisso appropriato per la regione di distribuzione (ad esempio, per le regioni dell'UE). eu Se ometti questa proprietà, la creazione del guardrail ha esito negativo.

Esempio: implementazione con una chiave KMS gestita dal cliente

Per crittografare la tua policy con una chiave KMS gestita dal cliente, aggiungi la proprietà. KmsKeyId È inoltre necessario configurare la policy chiave per consentire ad Amazon Bedrock di utilizzare la chiave. Per le autorizzazioni chiave richieste, consulta. Autorizzazioni KMS per le policy di ragionamento automatico

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

La modifica della KmsKeyId proprietà richiede la sostituzione della risorsa. CloudFormation eliminerà la policy esistente e ne creerà una nuova con un nuovo ARN. Aggiorna tutti i guardrail che fanno riferimento al vecchio ARN della policy.

Fasi successive

Dopo aver implementato la policy e il guardrail, integra i controlli di ragionamento automatico nella tua applicazione per convalidare le risposte LLM in fase di esecuzione. Per ulteriori informazioni, consulta Integra i controlli di ragionamento automatizzato nella tua applicazione.