自動推論ポリシーをテストする - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

自動推論ポリシーをテストする

自然言語ステートメントまたは QnAs を検証用に送信してポリシーをテストし、自動推論チェックのフィードバックを調べて、適切な変数を使用して入力テキストを翻訳し、検証対象のルールが正しいことを確認します。

質問question-and-answer (QnA) のペアを手動で定義するか、テストシナリオを自動的に生成するかの 2 つの方法でテストを作成できます。QnAs は、特定のユースケースをテストするために記述する、対応するモデルレスポンスを含む特定のユーザーの質問です。一方、テストシナリオは、ポリシールールから自動的に生成される論理的な状況であり、アプリケーションコンテキストで現実的な場合とそうでない場合があります。

注記

チュートリアルビデオ: 自動推論ポリシーをテストするstep-by-stepのチュートリアルについては、次のチュートリアルを参照してください。

チュートリアルデモ 2 - 自動推論ポリシーのテスト

テストは、アプリケーションのユーザーが尋ねる質問と、基盤モデルから得られる可能性のあるレスポンスを模倣する必要があります。Automated Reasoning は、Automated Reasoning ポリシーのルールに関してプロンプトとレスポンスの精度を評価します。Automated Reasoning は、次のステップでこの検証を実行します。

ヒント

ベストプラクティス: 有効なシナリオと無効なシナリオの両方をカバーするテストを作成します。たとえば、ポリシーに「従業員が親休暇に 1 年間のサービスを必要とする」と記載されている場合、このルールを正しく記載するレスポンスのテストを作成し、別の要件を誤って記載するレスポンスをテストします。

  1. テストの質問と回答をポリシーの変数とその説明とともに使用して、自然言語入力を正式なロジックに変換します。

  2. 健全な数学手法を使用して、変換されたロジックをポリシーに対して検証します。

注記

自動推論は、完全な精度を保証できない AI 技術を使用して自然言語をロジックに変換します。ただし、適切なテストは、Automated Reasoning ポリシーの潜在的な不正確さを検出して修正するのに役立ちます。

コンソールでテストを手動で作成する

  1. テストする自動推論ポリシー (MyHrPolicy など) に移動します。

  2. 「テストの表示」を選択し、「追加」を選択します。

  3. テストの追加ダイアログで、次の操作を行います。

    1. 入力 (オプション) と出力を含めます。これらは、ユーザーが尋ねる質問と基盤モデルが提供する可能性のあるレスポンスを表し、ポリシーが実際のユーザーインタラクションを検証する方法をテストする QnA ペアを形成します。

    2. テストで期待される結果 (有効または無効など) を選択します。

    3. ロジック検証の最小信頼レベルである信頼度しきい値を選択します。

  4. 保存を選択してテストを作成します。

注記

テストを作成する場合、信頼度しきい値はオプションです。

  • 自動推論チェックでは、複数の大規模言語モデル (LLMs) を使用して自然言語テストを結果に変換します。LLM 翻訳のかなりの割合でサポートされている「信頼できる」検出結果のみを返します。信頼度しきい値は、翻訳が有効な結果の結果になるために必要なサポートの最小パーセンテージを定義します。

  • LLM 翻訳の十分な割合でサポートされていない翻訳された検出結果が 1 つ以上ある場合、自動推論チェックは追加の「TRANSLATION_AMBIGUOUS」検出結果を表示します。この検出結果には、一致しない LLM 翻訳の違いを強調するための情報が含まれます。

コンソールでテストを自動的に生成する

  1. テストする自動推論ポリシー (MyHrPolicy など) に移動します。

  2. 「テストの表示」を選択し、「生成」を選択します。

  3. 「シナリオの生成」ダイアログで、生成されたシナリオと関連するルールを確認します。次に、以下のいずれかを行ってください。

    • シナリオが発生する可能性があると思われる場合は (満足できるシナリオとも呼ばれます)、親指を上げます (はい)。

    • そうでない場合は、親指を下げます (いいえ)。また、シナリオが不可能な理由を説明する注釈を指定することもできます。これは、ドキュメントにコメントを残すことに似ています。

    • 別のシナリオをテストする場合は、シナリオを再生成を選択します。

    ヒント

    シナリオの正式なロジックバージョンを調べる場合は、SMT-LIB の表示を有効にします。

  4. 保存して閉じるを選択してテストを保存するか、保存して別のテストを追加します

  5. いずれかのテストに注釈を指定した場合は、注釈の適用を選択します。自動推論は、フィードバックに基づいてポリシーを変更します。

  6. ポリシー変更の確認画面で、ポリシーのルール、変数、変数タイプに対する変更を確認します。次に、変更を受け入れるを選択します。

コンソールでテストを実行する

  1. 検証する自動推論ポリシー (MyHrPolicy など) に移動します。

  2. テストの表示 を選択します。

  3. 次のいずれかを行います:

    • ポリシーのすべてのテストを実行するには、すべてのテストの検証を選択します。

    • テストを個別に実行するには、実行するテストの横にあるアクションボタンを選択し、検証を選択します。

API を使用して手動でテストを作成する

CreateAutomatedReasoningPolicyTestCase API オペレーションを使用して、自動推論ポリシーのテストをプログラムで作成できます。

リクエストパラメータ

テストを作成するときは、次のパラメータが必須またはオプションです。

policyArn (必須)

テストを作成する自動推論ポリシーの Amazon リソースネーム (ARN)。

guardContent (必須)

自動推論ポリシーによって検証される出力コンテンツ。これは、精度をチェックする基盤モデルのレスポンスを表します。

query (オプション)

コンテンツを生成した入力クエリまたはプロンプト。これにより、検証のコンテキストが提供されます。

expectedAggregatedFindingsResult (オプション)

テストで予想される検証結果 (例: VALIDまたは INVALID)。

confidenceThreshold (オプション)

ロジック検証の最小信頼レベル。しきい値を満たすコンテンツは、検証できる信頼性の高い検出結果と見なされます。

次の例は、 を使用して自動推論ポリシーのテストを作成する方法を示しています AWS CLI。

aws bedrock create-automated-reasoning-policy-test-case \ --policy-arn "arn:aws:bedrock:us-west-2:123456789012:automated-reasoning-policy/k8m9n2p4q7r5" \ --query-content "Can I take a leave of absence if I'm a part-time employee?" \ --guard-content "No, only full-time employees are eligible for leave of absence." \ --expected-aggregated-findings-result "VALID" \ --confidence-threshold 0.8

レスポンスの例:

{ "testCaseId": "test-12345abcde", "policyArn": "arn:aws:bedrock:us-west-2:123456789012:automated-reasoning-policy/k8m9n2p4q7r5" }

API を使用してテストを自動的に生成する

GenerateAutomatedReasoningPolicyTestScenarios API オペレーションを使用して、ポリシーのルールに基づいてテストシナリオを自動的に生成できます。

リクエストパラメータ

テストシナリオを生成する場合、以下のパラメータは必須またはオプションです。

policyArn (必須)

テストシナリオを生成する自動推論ポリシーの Amazon リソースネーム (ARN)。

maxResults (オプション)

生成するテストシナリオの最大数。

次の例は、 を使用して自動推論ポリシーのテストシナリオを生成する方法を示しています AWS CLI。

aws bedrock generate-automated-reasoning-policy-test-scenarios \ --policy-arn "arn:aws:bedrock:us-west-2:123456789012:automated-reasoning-policy/k8m9n2p4q7r5" \ --max-results 3

レスポンスには、テストを作成するために確認して使用できる、生成されたテストシナリオが含まれます。

API を使用してテストを実行する

ValidateAutomatedReasoningPolicyTest API オペレーションを使用して自動推論ポリシーのテストを実行し、 GetAutomatedReasoningPolicyTestResultオペレーションを使用して結果を取得できます。

リクエストパラメータ

テストを実行するときは、次のパラメータが必要です。

policyArn (必須)

自動推論ポリシーの Amazon リソースネーム (ARN)。

testCaseId (必須)

実行するテストの一意の識別子。

テスト結果を取得する

テストの結果を取得するには、次のパラメータを使用します。

policyArn (必須)

自動推論ポリシーの Amazon リソースネーム (ARN)。

buildWorkflowId (必須)

ビルドワークフロー識別子。結果を取得するには、ビルドワークフローにCOMPLETEDステータスを表示する必要があります。

testCaseId (必須)

結果を取得するテストの一意の識別子。

次の例は、 を使用してテストを実行し、結果を取得する方法を示しています AWS CLI。

# Run the test aws bedrock validate-automated-reasoning-policy-test \ --policy-arn "arn:aws:bedrock:us-west-2:123456789012:automated-reasoning-policy/k8m9n2p4q7r5" \ --test-case-id "test-12345abcde" # Get the test results aws bedrock get-automated-reasoning-policy-test-result \ --policy-arn "arn:aws:bedrock:us-west-2:123456789012:automated-reasoning-policy/k8m9n2p4q7r5" \ --build-workflow-id "workflow-67890fghij" \ --test-case-id "test-12345abcde"

レスポンスには、検証結果と実行ステータスを含む詳細なテスト結果が含まれます。