安全設定

總覽

本指南說明適用於文字服務的 PaLM API 可調整安全設定。在原型設計階段,您可以調整六個維度的安全設定,快速評估應用程式是否需要調整設定。根據預設,安全設定會針對六大維度封鎖中等和/或極高可能不安全內容的內容。這項基準安全功能適用於大多數用途,因此建議您只調整應用程式一致需要的安全設定。

安全性篩選器

除了可調整的安全篩選器外,PaLM API 內建防護機制,可防範核心危害,例如危害兒童安全的內容。這類危害一律會遭到封鎖,且無法調整。

可調整的安全篩選器涵蓋下列類別:

  • 詆毀
  • 有毒
  • 含有色情內容
  • 暴力內容
  • 醫療
  • 危險事物

透過這些設定,開發人員可以判斷適合您的用途。舉例來說,如果您要建立電玩遊戲對話,您可以認定允許更多因遊戲性質而歸類為暴力或危險的內容。以下列舉其他在這類安全設定中,可能需要保留一些彈性的用途:

用途 類別
反騷擾訓練應用程式 貶抑他人、色情、有毒
醫學考試研究 Pal 醫療
編劇 暴力、色情、醫療、危險內容
惡意分類器 有毒、詆毀

機率與嚴重性

PaLM API 會根據內容不安全的「機率」,以及「不是」嚴重性來封鎖內容。這一點非常重要,因為即使損害的嚴重性可能還是很高,某些內容仍然可能不太有安全。例如,比較語句:

  1. 機器人把我打鬧給我。
  2. 機器人把我倒在地上。

語句 1 可能提高不安全機率,但我們建議將第 2 句話視為暴力方面的嚴重性較高。

因此,每個開發人員都必須仔細測試,並考慮需要適當的封鎖層級來支援主要用途,同時盡量減少對使用者的傷害。

安全性設定

您傳送給文字服務的要求中會包含安全性設定,您向 API 發出的每個要求都能調整設定。下表列出您可以設定的類別,並說明每個類別涵蓋的危害類型。

類別 說明
貶抑他人 涉及身分和/或受保護屬性的負面或有害留言。
有毒 粗俗、無禮或不雅內容。
色情 含有性行為或其他猥褻內容。
暴力 說明對個人或群體施暴的情境,或對血腥的概略描述。
危險 宣傳、鼓吹或助長有害舉動。
醫療 與醫療主題相關的內容

您也可以在 API 參考資料中查看這些定義。

下表說明您可以為每個類別調整的封鎖設定。舉例來說,如果您將「Derogatory」類別的封鎖設定設為「Block 幾個」,系統就會封鎖極可能為貶抑他人的內容。但任何機率較低的任何資料都適用。

如果未設定,系統會根據政策類別,將預設封鎖設定設為「封鎖部分項目」或「封鎖大部分項目」

門檻 (Google AI Studio) 閾值 (API) 說明
不封鎖任何項目 BLOCK_NONE 無論內容是否可能不安全,一律顯示
封鎖少數 BLOCK_ONLY_HIGH 出現極可能不安全的內容時封鎖
封鎖部分 (色情、暴力、危險和醫療的預設值) BLOCK_MEDIUM_AND_ABOVE 針對中度或極高的不安全內容一律封鎖
封鎖大部分 (貶抑他人和惡意行為的預設值) BLOCK_LOW_AND_ABOVE 針對低、中或高可能不安全的內容封鎖
HARM_BLOCK_THRESHOLD_UNSPECIFIED 未指定門檻,使用預設閾值封鎖

您可以為每個傳送至文字服務的要求調整這些設定。詳情請參閱 HarmBlockThreshold API 參考資料。

安全意見回饋

如果內容遭到封鎖,API 的回應會在 ContentFilter.reason 欄位中說明封鎖原因。如果原因與安全性有關,回應中也會包含 SafetyFeedback 欄位,其中包含該要求所使用的安全設定,以及安全性評分。安全評分包括危害類別 和損害分類的機率系統不會傳回遭封鎖的內容。

傳回的機率會對應至區塊信賴水準,如下表所示:

機率 說明
資格 內容可能幾乎不安全
內容不太可能不安全
中等 內容可能不安全
內容很有可能不安全

舉例來說,如果內容是因為惡意類別具有高機率而遭到封鎖,則傳回的安全性評分會等於 TOXICITY 類別,並將傷害機率設為 HIGH

Google AI Studio 中的安全設定

您也可以在 Google AI Studio 中進行這些設定。在「Run settings」中,按一下「Edit safety settings」

安全性設定按鈕

使用旋鈕調整每項設定:

安全性設定按鈕

如果內容遭到封鎖,系統會顯示 「沒有內容」訊息。如要查看更多詳細資料,請將滑鼠遊標懸停在「No Content」(無內容) 上,然後按一下 「Safety」(安全)

程式碼範例

本節說明如何使用 Python 用戶端程式庫,在程式碼中使用安全設定。

要求範例

以下提供 Python 程式碼片段,示範如何在 GenerateText 呼叫中調整安全設定。這會將傷害類別 DerogatoryViolence 設為 BLOCK_LOW_AND_ABOVE,藉此封鎖任何低或高機率暴力或貶抑他人的內容。

completion = genai.generate_text(
    model=model,
    prompt=prompt,
    safety_settings=[
        {
            "category": safety_types.HarmCategory.HARM_CATEGORY_DEROGATORY,
            "threshold": safety_types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        },
        {
            "category": safety_types.HarmCategory.HARM_CATEGORY_VIOLENCE,
            "threshold": safety_types.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
        },
    ]
)

回應範例

下列程式碼片段說明如何剖析回應中的安全意見回饋。請注意,除非封鎖原因是安全性維度,否則安全性意見回饋會是空白的。

# First check the content filter reason
for filter in completion.filters:
    print(filter["reason"])

# If any of the reason is "safety", then the safety_feedback field will be
# populated
for feedback in completion.safety_feedback:
    print(feedback["rating"])
    print(feedback["setting"])s

後續步驟

  • 如要進一步瞭解完整 API,請參閱 API 參考資料
  • 使用 LLM 進行開發時,請參閱安全指南,瞭解一般的安全考量。
  • Jigsaw 團隊進一步瞭解如何評估機率與嚴重性
  • 進一步瞭解有助於打造安全解決方案的產品,例如 Perspective API
  • 您可以利用這些安全設定建立惡意內容分類器。如要開始使用,請參閱分類範例