封鎖拒絕的主題以協助移除有害內容 - 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 管理主控台或 Amazon Bedrock API,將最多 30 個拒絕的主題新增至護欄。

Console
  1. AWS 管理主控台使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著,開啟位於 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 防護機制偵測到之有害內容的選項

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

    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 清單中的每個項目都與一個主題相關。

    • 為應拒絕的主題指定 namedefinition

    • type 欄位中指定 DENY

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

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

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

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

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

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

  • 為防護機制指定 namedescription

回應格式如下所示:

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