翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
自動推論ポリシーをアプリケーションでデプロイする
自動推論ポリシーをテストし、パフォーマンスが満足いくものであったら、Amazon Bedrock のガードレールでアプリケーションにデプロイして使用できます。このページでは、イミュータブルバージョンの保存、ガードレールへのアタッチ、 によるデプロイの自動化 CloudFormation、CI/CD パイプラインへの統合というデプロイワークフロー全体について説明します。
自動推論ポリシーのバージョンを保存する
ポリシーのテストが完了したら、イミュータブルバージョンを作成します。イミュータブルバージョンは、DRAFT の編集を続行するときにガードレールにアタッチされたポリシーが予期せず変更されないようにします。各バージョンは数値バージョン番号 (1、2、3、...) で識別され、作成後に変更することはできません。
コンソールを使用する
-
左側のナビゲーションペインで、[自動推論] を選択します。
-
アプリケーションで使用する [自動推論] ポリシーを選択します。
-
[Save as new version] (新しいバージョンとして保存) を選択します。このバージョンのポリシーをガードレールで使用できます。
API を使用する
CreateAutomatedReasoningPolicyVersion API を使用して、自動推論ポリシーのイミュータブルバージョンを作成します。
リクエストパラメータ
policyArn(必須)-
バージョンを作成する自動推論ポリシーの Amazon リソースネーム (ARN)
lastUpdatedDefinitionHash(必須)-
新しいバージョンのポリシー定義のハッシュ。
GetAutomatedReasoningPolicyAPI からこのハッシュを取得します。これにより、テストしたポリシー定義を正確にバージョニングできます。
例
# 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..."
レスポンスの例:
{ "policyArn": "arn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk", "version": "1", "name": "MyHRPolicy" }
自動推論ポリシーをガードレールに追加する
自動推論ポリシーを保存したら、ガードレールに追加します。ガードレールは、アプリケーションが LLM レスポンスを検証するために呼び出すランタイムコンポーネントです。自動推論ポリシーを新規または既存のガードレールに追加できます。
コンソールを使用する
-
左側のナビゲーションで、ガードレールを選択し、ガードレールの作成 (または既存のガードレールを選択して編集) を選択します。
-
[自動推論チェックを追加] 画面が表示されたら、[自動推論ポリシーを有効化] をクリックします。
-
[ポリシー名] で、自動推論ポリシーの保存済みバージョンを選択し、[次へ] をクリックします。
-
ガードレールの作成または更新を完了します。
API を使用する
CreateGuardrail または UpdateGuardrail API を使用して、自動推論ポリシーをガードレールに追加します。バージョニングされたポリシー ARN に automatedReasoningConfigパラメータを含めます。
リクエストパラメータ
automatedReasoningConfig-
Amazon Bedrock のガードレールでの自動推論チェックの設定
policyArn(必須)-
ガードレールで使用する自動推論ポリシーバージョンの ARN。バージョン管理されていない ARN ではなく
:2、バージョン管理された ARN (:1、 などで終わる) を使用します。
例
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."
重要
バージョニングされたポリシー ARN ( などarn:aws:bedrock:us-east-1:111122223333:automated-reasoning-policy/lnq5hhz70wgk:1) を使用します。バージョン管理されていない ARN を使用する場合、API はエラーを返します。を使用して最初にバージョンを作成しますCreateAutomatedReasoningPolicyVersion。
重要
自動推論チェックを使用するガードレールには、クロスリージョン推論プロファイルが必要です。リージョンプレフィックスguardrailProfileIdentifierに一致する に --cross-region-configパラメータを含めます (たとえば、us.guardrail.v1:0米国リージョンの場合は 、欧州リージョンeu.guardrail.v1:0の場合は )。このパラメータを省略すると、API は を返しますValidationException。
デプロイ用のポリシーバージョンをエクスポートする
CloudFormation または CI/CD パイプラインを介してポリシーをデプロイするには、ポリシー定義 JSON が必要です。ExportAutomatedReasoningPolicyVersion API を使用して、すべてのルール、変数、カスタムタイプを含む完全なポリシー定義を、保存されたバージョンからエクスポートします。
エクスポートされた定義は、AWS::Bedrock::AutomatedReasoningPolicyリソースの CloudFormation PolicyDefinitionプロパティで受け入れられたのと同じ形式です。これにより、インタラクティブコンソールワークフローから自動デプロイにポリシーを簡単に移動できます。
# 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
エクスポートされた JSON には、次の構造が含まれています。
{ "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": [] }
このファイルを CloudFormation テンプレートと一緒にバージョン管理に保存します。ポリシーを更新するときは、新しいバージョンをエクスポートし、 ファイルを更新してデプロイをトリガーします。
によるデプロイの自動化 CloudFormation
を使用して CloudFormation 、自動推論ポリシーとガードレールをコードとしてのインフラストラクチャとしてデプロイします。AWS::Bedrock::AutomatedReasoningPolicy リソースは、API またはコンソールからエクスポートするポリシー定義を持つポリシーを作成します。と組み合わせてAWS::Bedrock::Guardrail、完全な検証スタックを 1 つのテンプレートにデプロイできます。
注記
CloudFormation は、指定したポリシー定義を使用してポリシーリソースを作成します。ビルドワークフローを実行したり、ソースドキュメントからルールを抽出したりすることはありません。まず、インタラクティブに (コンソール、API、または Kiro CLI を使用して) ポリシーを作成してテストしてから、テストされたポリシー定義をエクスポートしてテンプレートで使用する必要があります。詳細については、「デプロイ用のポリシーバージョンをエクスポートする」を参照してください。
ポリシーリソースの完全なプロパティリファレンスについては、CloudFormation テンプレートリファレンスの「AWS::Bedrock::AutomatedReasoningPolicy」を参照してください。
例: ポリシーとガードレールをデプロイする
次の CloudFormation テンプレートは、ポリシー定義とそれを参照するガードレールを持つ自動推論ポリシーを作成します。ポリシー定義を、テスト済みポリシーからエクスポートされた JSON に置き換えます。
AWSTemplateFormatVersion: '2010-09-09' Description: Deploy an Automated Reasoning policy and guardrail Parameters: PolicyName: Type: String Default:MyHRPolicyDescription: Name of the Automated Reasoning policy GuardrailName: Type: String Default:HR-Policy-GuardrailDescription: 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:A1B2C3D4E5F6Expression: >- (=> (and isFullTime (> tenureMonths 12)) eligibleForParentalLeave) - Id:G7H8I9J0K1L2Expression: >- (=> (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
ヒント
本番環境のデプロイでは、ポリシー定義を別の JSON ファイルに保持し、 Fn::Includeまたは テンプレートパラメータとしてロードして参照します。これにより、テンプレートをクリーンに保ち、ポリシー定義を個別に更新することが容易になります。
重要
自動推論チェックを使用するガードレールには、クロスリージョン推論プロファイルが必要です。CrossRegionConfig プロパティは、リージョンのガードレールプロファイル ARN を指定します。リージョンプレフィックス (us) をデプロイリージョンに適したプレフィックス (euEU リージョンなど) に置き換えます。このプロパティを省略すると、ガードレールの作成は失敗します。
例: カスタマーマネージド KMS キーを使用してデプロイする
カスタマーマネージド KMS キーを使用してポリシーを暗号化するには、 KmsKeyIdプロパティを追加します。また、Amazon Bedrock がキーを使用できるようにキーポリシーを設定する必要があります。必要なキーポリシーのアクセス許可については、「」を参照してください自動推論ポリシーの KMS アクセス許可。
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
重要
KmsKeyId プロパティを変更するには、リソースを置き換える必要があります。 CloudFormation は既存のポリシーを削除し、新しい ARN を持つ新しいポリシーを作成します。古いポリシー ARN を参照するガードレールを更新します。
次の手順
ポリシーとガードレールをデプロイしたら、自動推論チェックをアプリケーションに統合して、実行時に LLM レスポンスを検証します。詳細については、「自動推論チェックをアプリケーションに統合する」を参照してください。