封鎖拒絕的主題以協助移除有害的內容 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

封鎖拒絕的主題以協助移除有害的內容

您可以在護欄中指定一組拒絕的主題,這些主題在生成式 AI 應用程式的內容中是不需要的。例如,銀行可能希望其 AI 助理避免與投資建議或加密貨幣相關的對話。

系統會針對護欄中的每個遭拒主題,評估自然語言的模型提示和回應。如果偵測到其中一個拒絕的主題,您的護欄會傳回封鎖的訊息。

使用下列參數建立拒絕主題,您的護欄會使用此參數來偵測提示或回應是否屬於主題:

  • 名稱 – 主題的名稱。名稱應該是名詞或片語。不要在名稱中描述主題。例如:

    • Investment Advice

  • 定義 – 總結主題內容最多 200 個字元。定義應描述主題的內容及其子主題。

    以下是您可以提供的範例主題定義:

    Investment advice is inquiries, guidance, or recommendations about the management or allocation of funds or assets with the goal of generating returns or achieving specific financial objectives.

  • 範例片語 (選用) – 最多五個參考主題的範例片語清單。每個片語的長度上限為 100 個字元。範例是提示或接續,顯示應篩選出的內容類型。例如:

    • Is investing in the stocks better than bonds?

    • Should I invest in gold?

建立遭拒主題的最佳實務

  • 以清晰且精確的方式定義主題。明確且模棱兩可的主題定義可以改善主題偵測的準確性。例如,偵測與加密貨幣相關聯的查詢或陳述式的主題可以定義為 Question or information associated with investing, selling, transacting, or procuring cryptocurrencies

  • 請勿在主題定義中包含範例或指示。例如, Block all contents associated to cryptocurrency 是 指令,而不是 主題的定義。這類指示不得做為主題定義的一部分。

  • 請勿定義負面主題或例外狀況。例如, All contents except medical informationContents not containing medical information 是主題的負面定義,不得使用。

  • 請勿使用拒絕的主題來擷取實體或單字。例如 Statement or questions containing the name of a person "X"Statements with a competitor name Y。主題定義代表佈景主題或主題,護欄會以情境方式評估輸入。主題篩選不應用於擷取個別單字或實體類型。如需詳細資訊,請參閱 使用敏感資訊篩選條件從對話中移除 PII從具有字詞篩選條件的對話中移除特定字詞和片語清單 以取得這些使用案例。

將拒絕的主題新增至護欄

您可以使用 AWS Management Console 或 Amazon Bedrock API,將最多 30 個拒絕的主題新增至護欄。

Console
  1. AWS Management Console 使用具有 Amazon Bedrock 許可的 IAM 角色登入 ,然後開啟位於 https://https://console.aws.amazon.com/bedrock/ 的 Amazon Bedrock 主控台。

  2. 從左側導覽窗格中,選擇護欄,然後選擇建立護欄

  3. 針對提供護欄詳細資訊頁面,執行下列動作:

    1. 護欄詳細資訊區段中,提供護欄的名稱和選用的描述

    2. 針對封鎖提示的訊息,輸入套用護欄時顯示的訊息。選取為回應套用相同的封鎖訊息核取方塊,以在將護欄套用至回應時使用相同的訊息。

    3. (選用) 若要為您的護欄啟用跨區域推論,請展開跨區域推論,然後選取為您的護欄啟用跨區域推論。選擇護欄設定檔,定義可路由護欄推論請求 AWS 區域 的目的地。

    4. (選用) 根據預設,您的護欄會使用 加密 AWS 受管金鑰。若要使用您自己的客戶受管 KMS 金鑰,請展開 KMS 金鑰選擇,然後選取自訂加密設定 (進階) 核取方塊。

      您可以選取現有的 AWS KMS 金鑰,或選取建立金鑰以建立新的 AWS KMS 金鑰

    5. (選用) 若要將標籤新增至護欄,請展開標籤,然後針對您定義的每個標籤選取新增標籤。

      如需詳細資訊,請參閱標記 Amazon Bedrock 資源

    6. 選擇下一步

  4. 當您前往新增拒絕主題頁面時,請選擇新增拒絕主題並執行下列動作:

    1. 輸入新主題的 名稱 (Name)。

    2. 針對定義,定義 主題。如需如何定義遭拒主題的指導方針,請參閱 封鎖拒絕的主題以協助移除有害的內容

    3. (選用) 針對輸入,指定是否針對模型提示啟用護欄評估。如果啟用,請選擇您想要護欄的動作。區塊預設為啟用。如需詳細資訊,請參閱用於處理 Amazon Bedrock Guardrails 偵測到之有害內容的選項

    4. (選用) 針對輸出,指定是否針對模型回應啟用護欄評估。如果啟用,請選擇您希望護欄對回應採取的動作。區塊預設為啟用。如需詳細資訊,請參閱用於處理 Amazon Bedrock Guardrails 偵測到之有害內容的選項

    5. (選用) 展開 新增範例片語,然後輸入代表與此主題相關的提示或回應的片語。您最多可以輸入五個片語。針對您包含的每個片語,選取新增片語

    6. 針對遭拒主題層,選擇您希望護欄用於封鎖提示和回應中主題的保護層。如需詳細資訊,請參閱護欄政策的防護層

    7. 當您完成設定拒絕主題後,請選取確認

    8. 重複上述步驟以建立其他拒絕的主題。

    9. 選擇下一步視需要設定其他政策,或跳至檢閱並建立以完成建立護欄。

  5. 檢閱護欄的設定。

    1. 在您要進行變更的任何區段中選取編輯

    2. 設定政策完成後,請選取建立以建立護欄。

API

傳送 CreateGuardrail 請求,將拒絕的主題新增至護欄。以下是請求格式的外觀:

POST /guardrails HTTP/1.1 Content-type: application/json { "blockedInputMessaging": "string", "blockedOutputsMessaging": "string", "topicPolicyConfig": { "topicsConfig": [ { "definition": "string", "examples": [ "string" ], "inputAction": "BLOCK | NONE", "inputEnabled": true, "name": "string", "outputAction": "BLOCK | NONE", "outputEnabled": true, "type": "DENY" }, "tierConfig": { "tierName": "CLASSIC | STANDARD" }, ] }, "crossRegionConfig": { "guardrailProfileIdentifier": "string" }, "description": "string", "name": "string" }
  • 指定當護欄成功封鎖 blockedInputMessagingblockedOutputsMessaging欄位中的提示或模型回應時的訊息。

  • 指定要在 topicPolicyConfig 物件中拒絕的護欄主題。topicsConfig 清單中的每個項目都與一個主題相關。

    • definition 為應拒絕的主題指定 name和 。

    • DENYtype 欄位中指定 。

    • 在提示中使用 inputAction或 回應中使用 偵測到主題時,指定要採取的動作outputAction。選擇BLOCK封鎖內容並以封鎖的訊息取代,或選擇不採取任何動作NONE,但傳回偵測資訊。如需詳細資訊,請參閱用於處理 Amazon Bedrock Guardrails 偵測到之有害內容的選項

    • 設定 inputEnabledoutputEnabled以控制是否針對模型提示和回應啟用護欄評估。

    • (選用) 在examples清單中,指定最多五個範例片語,代表您代表與此主題相關的提示或回應。

  • (選用) 在 tierConfig 物件中指定護欄的防護層。選項包括 STANDARDCLASSIC層。

    如需詳細資訊,請參閱護欄政策的防護層

  • (選用) 若要啟用跨區域推論,請在 crossRegionConfig 物件中指定護欄設定檔。這是使用 STANDARD層時的必要項目。

  • description 為護欄指定 name和 。

回應格式如下所示:

HTTP/1.1 202 Content-type: application/json { "createdAt": "string", "guardrailArn": "string", "guardrailId": "string", "version": "string" }