

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

# 封鎖拒絕的主題以協助移除有害內容
<a name="guardrails-denied-topics"></a>

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

模型提示和自然語言的回應，以及 Standard 層中的程式碼相關內容，都會針對護欄中的每個遭拒主題進行評估。如果偵測到其中一個拒絕的主題，您的防護機制就會傳回封鎖的訊息。

使用下列參數建立拒絕的主題，您的防護機制會使用此參數來偵測提示或回應是否屬於主題：
+ **名稱** – 主題的名稱。名稱應該是名詞或片語。不要在名稱中描述主題。例如：
  + **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?**

## 建立遭拒主題的最佳實務
<a name="guardrails-denied-topics-best-practices"></a>
+ 以清晰且精確的方式定義主題。明確且模棱兩可的主題定義可以改善主題偵測的準確性。例如，偵測與加密貨幣相關聯的查詢或陳述式的主題可以定義為 **Question or information associated with investing, selling, transacting, or procuring cryptocurrencies**。
+ 請勿在主題定義中包含範例或指示。例如，**Block all contents associated to cryptocurrency** 是指令，而不是主題的定義。這類指示不得做為主題定義的一部分。
+ 請勿定義負面主題或例外狀況。例如，**All contents except medical information** 或 **Contents not containing medical information** 是主題的負面定義，不得使用。
+ 請勿使用拒絕的主題來擷取實體或單字。例如 **Statement or questions containing the name of a person "X"** 或 **Statements with a competitor name Y**。主題定義代表佈景主題或主題，防護機制會以情境方式評估輸入。主題篩選不應用於擷取個別單字或實體類型。如需詳細資訊，請參閱 [使用敏感資訊篩選條件從對話中移除 PII](guardrails-sensitive-filters.md) 或 [從具有單字篩選條件的對話中移除特定單字和片語清單](guardrails-word-filters.md)，以取得這些使用案例。

## 將拒絕的主題新增至防護機制
<a name="guardrails-denied-topics-configure"></a>

您可以使用 AWS 管理主控台 或 Amazon Bedrock API，將最多 30 個拒絕的主題新增至護欄。

------
#### [ Console ]

1.  AWS 管理主控台 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。接著，開啟位於 [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock) 的 Amazon Bedrock 主控台。

1. 從左側導覽窗格中，選擇**防護機制**，然後選擇**建立防護機制**。

1. 在**提供防護機制詳細資訊**頁面中，執行下列動作：

   1. 在**防護機制詳細資訊**區段中，提供防護機制的**名稱**和選用的**描述**。

   1. 在**封鎖提示的訊息**中，輸入套用防護機制時顯示的訊息。選取**為回應套用相同的封鎖訊息**核取方塊，以在將防護機制套用至回應時，使用相同的訊息。

   1. (選用) 若要為您的防護機制啟用[跨區域推論](guardrails-cross-region.md)，請展開**跨區域推論**，然後選取**為您的防護機制啟用跨區域推論**。選擇護欄設定檔，定義可路由護欄推論請求 AWS 區域 的目的地。

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

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

   1. (選用) 若要將標籤新增至防護機制，請展開**標籤**，然後為您定義的每個標籤選取**新增標籤**。

      如需詳細資訊，請參閱[標記 Amazon Bedrock 資源](tagging.md)。

   1. 選擇**下一步**。

1. 當您前往**新增拒絕主題**頁面時，請選擇**新增拒絕主題**，並執行下列動作：

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

   1. 針對**定義**，定義主題。如需如何定義遭拒主題的指導方針，請參閱 [封鎖拒絕的主題以協助移除有害內容](#guardrails-denied-topics)。

   1. (選用) 針對**輸入**，指定是否針對模型提示啟用防護機制評估。如果啟用，請選擇您想要防護機制的動作。依預設會啟用**封鎖**。如需詳細資訊，請參閱[用於處理 Amazon Bedrock 防護機制偵測到之有害內容的選項](guardrails-harmful-content-handling-options.md)。

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

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

   1. 針對**遭拒主題層**，選擇您希望防護機制用於封鎖提示和回應中主題的保護層。如需詳細資訊，請參閱[防護機制政策的防護層](guardrails-tiers.md)。

   1. 當您完成設定拒絕主題後，請選取**確認**。

   1. 若要建立其他拒絕的主題，請重複先前的步驟。

   1. 選擇**下一步**以視需要設定其他政策，或**跳至檢閱並建立**以完成建立防護機制。

1. 檢閱防護機制的設定。

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

   1. 設定政策完成後，請選取**建立**以建立防護機制。

------
#### [ API ]

透過傳送 [CreateGuardrail](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateGuardrail.html) 請求，將拒絕的主題新增至防護機制。請求格式如下：

```
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"
}
```
+ 指定當防護機制成功封鎖 `blockedInputMessaging` 和 `blockedOutputsMessaging` 欄位中的提示或模型回應時的訊息。
+ 在 `topicPolicyConfig` 物件中指定要拒絕的防護機制主題。`topicsConfig` 清單中的每個項目都與一個主題相關。
  + 為應拒絕的主題指定 `name` 和 `definition`。
  + 在 `type` 欄位中指定 `DENY`。
  + 在提示中使用 `inputAction` 偵測到主題或在回應中使用 `outputAction` 偵測到主題時，指定要採取的動作。選擇 `BLOCK` 以封鎖內容並取代為封鎖的訊息，或選擇 `NONE` 以不採取任何動作，但傳回偵測資訊。如需詳細資訊，請參閱[用於處理 Amazon Bedrock 防護機制偵測到之有害內容的選項](guardrails-harmful-content-handling-options.md)。
  + 設定 `inputEnabled` 和 `outputEnabled` 以控制是否針對模型提示和回應啟用防護機制評估。
  + (選用) 在 `examples` 清單中，指定最多五個範例片語，指出您代表與此主題相關的提示或回應。
+ (選用) 在 `tierConfig` 物件中指定防護機制的防護層。選項包括 `STANDARD` 和 `CLASSIC` 層。

  如需詳細資訊，請參閱[防護機制政策的防護層](guardrails-tiers.md)。
+ (選用) 若要啟用[跨區域推論](guardrails-cross-region.md)，請在 `crossRegionConfig` 物件中指定防護機制設定檔。這是使用 `STANDARD` 層時的必要項目。
+ 為防護機制指定 `name` 和 `description`。

回應格式如下所示：

```
HTTP/1.1 202
Content-type: application/json

{
   "createdAt": "string",
   "guardrailArn": "string",
   "guardrailId": "string",
   "version": "string"
}
```

------