本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
測試自動化推理政策
您透過傳送自然語言陳述式或 QnAs 進行驗證來測試政策,然後檢查自動推理檢查意見回饋,以確保其使用正確的變數翻譯輸入文字,且其驗證的規則正確無誤。
您可以透過兩種方式建立測試:手動定義question-and-answer(QnA) 配對或自動產生測試案例。QnAs 是您寫入以測試特定使用案例之對應模型回應的特定使用者問題,而測試案例是從您的政策規則自動產生的邏輯情況,這些情況在應用程式內容中不一定實際。
注意
教學影片:如需測試自動化理由政策的step-by-step演練,請觀看下列教學課程:
測試應模擬應用程式使用者會提出的問題,以及他們可能從基礎模型取得的回應。自動化理由會針對自動化理由政策中的規則,評估提示和回應準確性。自動化理由會在下列步驟中執行此驗證:
提示
最佳實務:建立涵蓋有效和無效案例的測試。例如,如果您的政策陳述「員工需要 1 年的親職休假服務」,請為正確陳述此規則的回應建立測試,並為錯誤陳述不同需求的回應建立測試。
-
使用測試的問題和答案,以及您政策的變數及其描述,將自然語言輸入轉譯為正式邏輯。
-
使用音效數學技術,根據政策驗證翻譯的邏輯。
注意
自動化推理使用 AI 技術將自然語言轉換為邏輯,無法保證完美的準確性。不過,良好的測試將有助於偵測和修正自動化理由政策中可能的不正確。
在主控台中手動建立測試
-
前往您要測試的自動化理由政策 (例如 MyHrPolicy)。
-
選擇檢視測試,然後選擇新增。
-
在新增測試對話方塊中,執行下列動作:
-
包含輸入 (選用) 和輸出。這些代表使用者可能提出的問題,以及基礎模型可能提供的回應 - 一起形成 QnA 對,以測試您的政策如何驗證實際使用者互動。
-
選擇您預期來自測試的結果 (例如有效或無效)。
-
選取可信度閾值,這是邏輯驗證的最低可信度層級。
-
-
選取儲存以建立測試。
注意
建立測試時,可信度閾值為選用。
-
自動化推理檢查使用多個大型語言模型 LLMs) 將自然語言測試轉譯為問題清單。它只會傳回大量 LLM 轉譯所支援的「可信」調查結果。可信度閾值定義了翻譯成為具有有效結果的問題清單所需的最低支援百分比。
-
如果有一或多個翻譯的問題清單不受足夠百分比的 LLM 翻譯支援,Automated Reasoning 檢查將顯示額外的「TRANSLATION_AMBIGUOUS」問題清單。此調查結果將包含資訊,以強調不同 LLM 轉譯之間的差異。
在主控台中自動產生測試
-
前往您要測試的自動化理由政策 (例如 MyHrPolicy)。
-
選擇檢視測試,然後選擇產生。
-
在產生案例對話方塊中,檢閱產生的案例和相關規則。然後執行下列其中一項:
-
如果您認為案例可能發生 (也稱為滿意案例),請選取大拇指 (是)。
-
如果沒有,請選取拇指向下 (否)。您也可以提供註釋來解釋為什麼您認為這種情況是不可能的。這類似於在文件中留下註解。
-
如果您希望測試不同的案例,請選擇重新產生案例。
提示
如果您想要檢查案例的正式邏輯版本,請啟用顯示 SMT-LIB。
-
-
選取儲存並關閉以儲存測試,或儲存並新增另一個測試。
-
如果您為任何測試提供註釋,請選擇套用註釋。自動化理由會根據您的意見回饋變更您的政策。
-
在檢閱政策變更畫面上,檢閱政策規則、變數和變數類型的變更。然後選取接受變更。
在主控台中執行測試
-
前往您要驗證的自動化理由政策 (例如 MyHrPolicy)。
-
選擇檢視測試。
-
執行以下任意一項:
-
若要執行政策的所有測試,請選擇驗證所有測試。
-
若要個別執行測試,請選取您要執行的測試旁的動作按鈕,然後選擇驗證。
-
使用 API 手動建立測試
您可以使用 CreateAutomatedReasoningPolicyTestCase
API 操作,以程式設計方式為您的自動化理由政策建立測試。
請求參數
建立測試時,需要或選用下列參數:
policyArn
(必要)-
要建立測試之自動化原因政策的 Amazon Resource Name (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 Resource Name (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 Resource Name (ARN)。
testCaseId
(必要)-
要執行之測試的唯一識別符。
取得測試結果
若要擷取測試結果,請使用下列參數:
policyArn
(必要)-
自動化理由政策的 Amazon Resource Name (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"
回應將包含具有驗證問題清單和執行狀態的詳細測試結果。