本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
護欄用於為生成式 AI 應用程式實作保護措施,這些應用程式會針對您的使用案例進行自訂,並與負責任的 AI 政策保持一致。護欄可讓您設定遭拒的主題、篩選有害內容,以及移除敏感資訊。
您可以使用 ApplyGuardrail
API,使用預先設定的 Amazon Bedrock 護欄來評估任何文字,而無需調用基礎模型。
ApplyGuardrail
API 的功能:
-
內容驗證 – 您可以將任何文字輸入或輸出傳送至
ApplyGuardrail
API,以與定義的主題迴避規則、內容篩選條件、PII 偵測器和字詞區塊清單進行比較。您可以獨立評估使用者輸入和 FM 產生的輸出。 -
彈性部署 – 您可以在應用程式流程中的任意位置整合
ApplyGuardrail
API,以在處理或提供結果給使用者之前驗證資料。例如,如果您使用的是 RAG 應用程式,您現在可以在執行擷取之前評估使用者輸入,而不是等到產生最終回應。 -
從 FMs解耦。–
ApplyGuardrail
API 與基礎模型分離。您現在可以使用 Guardrail,而無需調用基礎模型。您可以使用評估結果來設計生成式 AI 應用程式的體驗。
主題
在您的應用程式流程中呼叫 ApplyGuardrail API
請求可讓客戶使用其定義的護欄傳遞應該保護的所有內容。當要評估的內容來自使用者時,來源欄位應設定為「INPUT」,通常是 LLM 提示。當模型輸出護欄應強制執行時,來源應設定為「OUTPUT」,通常是 LLM 回應。
設定護欄以搭配 ApplyGuardrail API 使用
您可以在guardrailConfig
輸入參數中指定護欄的組態資訊。組態包含 ID 和您要使用的護欄版本。您也可以啟用護欄的追蹤,提供護欄封鎖內容的相關資訊。
POST /guardrail/{guardrailIdentifier}/version/{guardrailVersion}/apply HTTP/1.1
{
"source": "INPUT" | "OUTPUT",
"content": [
{
"text": {
"text": "string",
}
},
]
}
ApplyGuardrail API 使用案例範例
ApplyGuardrail
請求的輸出取決於護欄對傳遞內容採取的動作。
-
如果護欄介入只遮罩內容的位置,則會傳回套用遮罩的確切內容。
-
如果護欄介入並封鎖請求內容,輸出欄位將是單一文字,這是根據護欄組態的固定訊息。
-
如果未對請求內容採取任何護欄動作,則輸出陣列為空。
請求範例
{
"source": "OUTPUT",
"content": [
"text": {
"text": "Hi, my name is Zaid. Which car brand is reliable?",
}
]
}
護欄未介入時的回應
{
"usage": {
"topicPolicyUnitsProcessed": 1,
"contentPolicyUnitsProcessed": 1,
"wordPolicyUnitsProcessed": 0,
"sensitiveInformationPolicyFreeUnits": 0
},
"action": "NONE",
"outputs": [],
"assessments": [{}]
}
在 ApplyGuardrail API 中傳回完整評估輸出
如果內容違反您的護欄組態,則會視為偵測到內容。例如,如果接地或相關性分數小於對應的閾值,則會視為偵測到內容式接地。
根據預設,ApplyGuardrail 操作只會傳回回應中偵測到的內容。您可以使用 FULL
值指定 outputScope
欄位,以傳回完整輸出。回應也會包含未偵測到的增強型偵錯項目。
您可以在 Invoke
和 Converse
操作中設定相同的行為,方法是將追蹤設定為已啟用的完整選項。
注意
完整的輸出範圍不適用於敏感資訊篩選條件中的字詞篩選條件或規則運算式。它確實適用於所有其他篩選政策,包括具有可偵測個人身分識別資訊 (PII) 之篩選條件的敏感資訊。