本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
注意
Amazon Bedrock 的護欄影像內容篩選條件處於預覽版本,可能會有所變更。
使用內容篩選條件封鎖有害映像 (預覽)
Amazon Bedrock Guardrails 可在在護欄內設定內容篩選條件時,透過將映像啟用為模態,協助封鎖不適當或有害的影像。
先決條件和限制
-
在內容篩選條件中偵測和封鎖有害影像的支援目前處於預覽狀態,不建議用於生產工作負載。
-
此功能僅支援映像,不支援具有內嵌影片內容的映像。
-
此功能僅支援內容篩選條件中的仇恨、侮辱、性與暴力類別,不支援任何其他類別,包括不當和即時攻擊。
-
使用者可以上傳大小上限為 4 MB 的影像,單一請求最多 20 個影像。
-
映像內容僅支援 PNG 和 JPEG 格式。
概觀
內容篩選條件中的仇恨、侮辱、性與暴力類別,以及其中沒有任何文字的影像,都支援偵測和封鎖有害影像。除了文字之外,使用者可以在建立護欄時,為內容篩選條件內上述類別選取影像模態,並將個別的篩選強度設定為 NONE、LOW、MEDIUM 或 HIGH。如果同時選取文字和影像,這些閾值將常見於這些類別的文字和影像內容。護欄將評估以使用者輸入傳送的影像,或從模型回應產生為輸出的影像。
偵測有害映像內容的四個支援類別如下所述:
-
仇恨 – 描述根據身分 (例如種族、族裔、性別、宗教、性傾向、能力和原國籍) 來歧視、批評、侮辱、詆毀或取消人道化個人或群組的內容。它還包括顯示仇恨群組符號的圖形和真實視覺內容、仇恨符號,以及與各種組織促進歧視、種族主義和不容忍相關的影像。
-
侮辱 – 描述內容,包括貶低、羞辱、嘲弄、侮辱或貶低語言。種類型的語言也被標記為霸凌。它還包括各種形式的粗魯、不尊重或令人反感的手勢,旨在表達藐視、憤怒或不核准的手勢。
-
性 – 描述使用直接或間接參考身體部位、身體特徵或性別來表示性興趣、活動或覺醒的內容。它還包括顯示私有部分和涉及性交之性活動的影像。此類別也包含卡通、動畫、繪圖、草圖,以及其他具有性主題的說明內容。
-
暴力 – 描述內容,包括對人、群體或事物造成身體疼痛、傷害或傷害的榮耀或威脅。
下列 區域支援 Amazon Bedrock Guardrails 影像內容篩選條件 (如需 Amazon Bedrock 支援區域的詳細資訊,請參閱 Amazon Bedrock 端點和配額):
-
美國東部 (維吉尼亞北部)
-
美國東部 (俄亥俄)
-
美國西部 (奧勒岡)
-
AWS GovCloud (美國西部)
-
亞太區域 (東京)
-
亞太區域 (首爾)
-
亞太區域 (孟買)
-
亞太區域 (新加坡)
-
亞太區域 (悉尼)
-
歐洲 (法蘭克福)
-
歐洲 (愛爾蘭)
-
歐洲 (倫敦)
下列基礎模型支援 Amazon Bedrock Guardrails 影像內容篩選條件 (若要查看支援每個模型的區域,請參閱 Amazon Bedrock 中支援的基礎模型):
-
Amazon Titan Image Generator G1 v2
-
Amazon Titan Image Generator G1
-
Anthropic Claude 3 Haiku
-
Anthropic Claude 3 Opus
-
Anthropic Claude 3 Sonnet
-
Anthropic Claude 3.5 Sonnet
-
Meta Llama 3.2 11B Instruct
-
Meta Llama 3.2 90B Instruct
-
Stability AI Stable Image Core 1.0
-
Stability AI Stable Image Ultra 1.0
使用映像內容篩選條件
使用影像的內容篩選條件建立或更新 Guardrail
建立新的護欄或更新現有的護欄時,除了現有的文字選項之外,使用者現在還會看到選取影像 (預覽中) 的選項。映像選項適用於仇恨、侮辱、性或暴力類別。(注意:預設會啟用文字選項,且需要明確啟用映像選項。使用者可以根據使用案例選擇文字和影像,或其中一個。
篩選分類和封鎖層級
根據使用者輸入和 FM 回應的可信度分類進行篩選。所有使用者輸入和模型回應都分為四個強度等級:無、低、中和高。篩選強度決定篩選有害內容的敏感度。隨著篩選強度的提高,篩選有害內容的可能性會增加,而且在應用程式中查看有害內容的可能性也會降低。選取影像和文字選項時,特定類別的兩個模態都會套用相同的篩選強度。
若要設定有害類別的影像和文字篩選條件,請選取設定有害類別篩選條件。
注意
影像內容篩選條件處於預覽狀態,如果模型不使用影像作為模型提示或回應,則無法使用。
-
選取文字和/或影像,從提示或對模型的回應篩選文字或影像內容。
-
針對您要套用至每個類別的篩選層級,選取無、低、中或高。高設定有助於封鎖套用至篩選條件該類別的最多文字或影像。
-
選取使用與回應相同的有害類別篩選條件,以使用與提示相同的篩選條件設定。您也可以選擇不選取此選項,為提示或回應設定不同的篩選條件層級。選取重設閾值,以重設提示或回應的所有篩選條件層級。
-
選取檢閱並建立 或下一步以建立護欄。
使用 API 設定映像的內容篩選條件
您可以使用護欄 API 在 Amazon Bedrock 護欄中設定影像內容篩選條件。以下範例顯示套用不同有害內容類別和篩選條件強度的 Amazon Bedrock Guardrails 篩選條件。您可以使用此範本做為您自己的使用案例的範例。
透過 contentPolicyConfig
操作, filtersConfig
是 物件,如下列範例所示。
使用影像內容篩選條件建立 Guardrail 的範例 Python Boto3 程式碼
import boto3
import botocore
import json
def main():
bedrock = boto3.client('bedrock', region_name='us-east-1')
try:
create_guardrail_response = bedrock.create_guardrail(
name='my-image-guardrail
',
contentPolicyConfig={
'filtersConfig': [
{
'type': 'SEXUAL',
'inputStrength': 'HIGH',
'outputStrength': 'HIGH',
'inputModalities': ['TEXT', 'IMAGE'],
'outputModalities': ['TEXT', 'IMAGE']
},
{
'type': 'VIOLENCE',
'inputStrength': 'HIGH',
'outputStrength': 'HIGH',
'inputModalities': ['TEXT', 'IMAGE'],
'outputModalities': ['TEXT', 'IMAGE']
},
{
'type': 'HATE',
'inputStrength': 'HIGH',
'outputStrength': 'HIGH',
'inputModalities': ['TEXT', 'IMAGE'],
'outputModalities': ['TEXT', 'IMAGE']
},
{
'type': 'INSULTS',
'inputStrength': 'HIGH',
'outputStrength': 'HIGH',
'inputModalities': ['TEXT', 'IMAGE'],
'outputModalities': ['TEXT', 'IMAGE']
},
{
'type': 'MISCONDUCT',
'inputStrength': 'HIGH',
'outputStrength': 'HIGH',
'inputModalities': ['TEXT'],
'outputModalities': ['TEXT']
},
{
'type': 'PROMPT_ATTACK',
'inputStrength': 'HIGH',
'outputStrength': 'NONE',
'inputModalities': ['TEXT'],
'outputModalities': ['TEXT']
}
]
},
blockedInputMessaging='Sorry, the model cannot answer this question.',
blockedOutputsMessaging='Sorry, the model cannot answer this question.',
)
create_guardrail_response['createdAt'] = create_guardrail_response['createdAt'].strftime('%Y-%m-%d %H:%M:%S')
print("Successfully created guardrail with details:")
print(json.dumps(create_guardrail_response, indent=2))
except botocore.exceptions.ClientError as err:
print("Failed while calling CreateGuardrail API with RequestId = " + err.response['ResponseMetadata']['RequestId'])
raise err
if __name__ == "__main__":
main()
設定映像篩選條件以使用 ApplyGuardrail API
您可以使用 ApplyGuardrail API 對影像和文字內容使用內容篩選條件。此選項可讓您使用內容篩選條件設定,而無需叫用 Amazon Bedrock 模型。您可以依照 Amazon Bedrock Guardrails 支援的每個底岩基礎模型的推論參數文件,更新下列指令碼中各種模型的請求承載。
您可以依照 Amazon Bedrock Guardrails 支援的每個底岩基礎模型的推論參數文件,更新不同模型的下列指令碼中的請求承載。
import boto3
import botocore
import json
guardrail_id = 'guardrail-id'
guardrail_version = 'DRAFT'
content_source = 'INPUT'
image_path = '/path/to/image.jpg'
with open(image_path, 'rb') as image:
image_bytes = image.read()
content = [
{
"text": {
"text": "Hi, can you explain this image art to me."
}
},
{
"image": {
"format": "jpeg",
"source": {
"bytes": image_bytes
}
}
}
]
def main():
bedrock_runtime_client = boto3.client("bedrock-runtime", region_name="us-east-1")
try:
print("Making a call to ApplyGuardrail API now")
response = bedrock_runtime_client.apply_guardrail(
guardrailIdentifier=guardrail_id,
guardrailVersion=guardrail_version,
source=content_source,
content=content
)
print("Received response from ApplyGuardrail API:")
print(json.dumps(response, indent=2))
except botocore.exceptions.ClientError as err:
print("Failed while calling ApplyGuardrail API with RequestId = " + err.response['ResponseMetadata']['RequestId'])
raise err
if __name__ == "__main__":
main()