您可以使用 Model Armor 範本,為 AI 應用程式設定提示詞和回覆的篩選條件。範本提供多種安全類別的自訂篩選條件和門檻。本文說明如何建立及管理 Model Armor 範本。詳情請參閱「Model Armor 範本」。
事前準備
開始之前,請先完成下列工作。
取得必要權限
如要取得管理 Model Armor 範本所需的權限,請要求管理員授予您 Model Armor 範本的「Model Armor 管理員」 (roles/modelarmor.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
啟用 API
您必須先啟用 Model Armor API,才能使用 Model Armor。
控制台
gcloud
開始前,請使用 Google Cloud CLI 搭配 Model Armor API 執行下列步驟:
在 Google Cloud 控制台中啟用 Cloud Shell。
Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能需要幾秒鐘的時間才能完成初始化。
使用 gcloud CLI 設定 API 端點覆寫
如果您使用 gcloud CLI 啟用 Model Armor API,才需要執行這個步驟。您必須手動設定 API 端點覆寫,確保 gcloud CLI 正確將要求轉送至 Model Armor 服務。
執行下列指令,為 Model Armor 服務設定 API 端點。
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
將 LOCATION 替換為要使用 Model Armor 的區域。
建立 Model Armor 範本
Model Armor 範本會定義特定篩選條件和門檻,供 Model Armor 用來篩選提示詞和回覆,找出安全風險。如要建立 Model Armor 範本,請按照下列步驟操作:
控制台
前往 Google Cloud 控制台的「Model Armor」頁面。
確認您正在查看已啟用 Model Armor 的專案。
在「Model Armor」頁面,按一下「Create Template」。 系統會顯示「建立範本」頁面。
指定範本 ID。範本 ID 可以包含英文字母、數字或連字號,長度不得超過 63 個字元,且不得包含空格或以連字號開頭。
選取要執行 Model Armor 範本的區域,設定後即無法變更。
選用:新增標籤。標籤是鍵/值組合,可用於將相關範本分組。
在「篩選器版本」部分,選取篩選器版本號碼或篩選器版本別名。
在「偵測」部分,設定偵測設定。
選用:如果選取 Sensitive Data Protection 偵測,請設定 Sensitive Data Protection 設定。
在「負責任的 AI 技術」部分,為每個內容篩選器設定信心水準。
選用:選取「啟用多語言支援」,即可使用多語言偵測設定。
點選「建立」。
gcloud
執行下列指令:
gcloud model-armor templates create TEMPLATE_ID --project=PROJECT_ID --location=LOCATION \
--rai-settings-filters='[{ "filterType": "HATE_SPEECH", "confidenceLevel": "MEDIUM_AND_ABOVE" },{ "filterType": "HARASSMENT", "confidenceLevel": "MEDIUM_AND_ABOVE" },{ "filterType": "SEXUALLY_EXPLICIT", "confidenceLevel": "MEDIUM_AND_ABOVE" }]' \
--basic-config-filter-enforcement=enabled \
--pi-and-jailbreak-filter-settings-enforcement=enabled \
--pi-and-jailbreak-filter-settings-confidence-level=HIGH \
--malicious-uri-filter-settings-enforcement=enabled \
--template-metadata-custom-llm-response-safety-error-code=798 \
--template-metadata-custom-llm-response-safety-error-message="test template llm response evaluation failed" \
--template-metadata-custom-prompt-safety-error-code=799 \
--template-metadata-custom-prompt-safety-error-message="test template prompt evaluation failed" \
--template-metadata-ignore-partial-invocation-failures \
--template-metadata-log-operations \
--template-metadata-log-sanitize-operations
更改下列內容:
LOCATION:範本的位置。TEMPLATE_ID:範本 ID。PROJECT_ID:範本所屬的專案 ID。
REST
使用下列指令建立新的 Model Armor 範本。
curl -X POST \
-d "{'FILTER_CONFIG': {} }" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
更改下列內容:
FILTER_CONFIG:範本的篩選器設定。PROJECT_ID:範本所屬的專案 ID。TEMPLATE_ID:要建立的範本 ID。LOCATION:範本的位置。
以下範例顯示 Model Armor 範本設定。在這個範例中,負責任的 AI 篩選器已針對仇恨言論、騷擾、危險內容和情色露骨內容設定不同的信賴度。
系統會啟用提示詞注入和越獄偵測篩選器,並將信心水準設為 HIGH,因此只會標記高機率的內容。已啟用惡意 URI 篩選器。
export FILTER_CONFIG='{
"filterConfig": {
"raiSettings": {
"raiFilters": [{
"filterType": "HATE_SPEECH",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}, {
"filterType": "HARASSMENT",
"confidenceLevel": "HIGH"
}, {
"filterType": "DANGEROUS",
"confidenceLevel": "MEDIUM_AND_ABOVE"
},{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}]
},
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "HIGH"
},
"maliciousUriFilterSettings": {
"filterEnforcement": "ENABLED"
}
}
}'
curl -X POST \
-d "$FILTER_CONFIG" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/templates?template_id=TEMPLATE_ID"
如要建立啟用多語言偵測功能的 Model Armor 範本,請在指令中傳遞 TEMPLATE_CONFIG 參數。這個參數會定義語言偵測設定的設定。
使用下列指令建立新的 Model Armor 範本,並啟用多語言偵測功能。
curl -X POST \
-d "{'TEMPLATE_CONFIG': {} }" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
以下範例顯示已啟用多語言偵測功能的 Model Armor 範本設定。
export TEMPLATE_CONFIG='{
"filterConfig": {
"raiSettings": {
"raiFilters": [{
"filterType": "HATE_SPEECH",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}, {
"filterType": "HARASSMENT",
"confidenceLevel": "HIGH"
}, {
"filterType": "DANGEROUS",
"confidenceLevel": "MEDIUM_AND_ABOVE"
},{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "MEDIUM_AND_ABOVE"
}]
},
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "HIGH"
},
"maliciousUriFilterSettings": {
"filterEnforcement": "ENABLED"
}
},
"templateMetadata": {
"multiLanguageDetection": {
"enableMultiLanguageDetection": true
}
}
}'
curl -X POST \
-d "$TEMPLATE_CONFIG" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/templates?template_id=TEMPLATE_ID"
C#
如要執行這段程式碼,請先設定 C# 開發環境,然後安裝 Model Armor C# SDK。
Go
如要執行這段程式碼,請先設定 Go 開發環境,然後安裝 Model Armor Go SDK。
Java
如要執行這段程式碼,請先設定 Java 開發環境,然後安裝 Model Armor Java SDK。
Node.js
如要執行這段程式碼,請先設定 Node.js 開發環境, 然後安裝 Model Armor Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Model Armor PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Model Armor Python SDK。
選取篩選器版本
Model Armor 篩選器版本可兼顧生產工作負載的穩定性,以及存取最新威脅偵測模型的需求。篩選器版本是在範本層級進行設定,篩選器版本會套用至範本中的所有篩選器,但不使用篩選器版本的篩選器除外。詳情請參閱「為範本設定篩選器版本」。
設定偵測作業
偵測是指 Model Armor 對提示詞和回覆執行的特定檢查。Model Armor 提供彈性系統,可供您設定偵測項目,並根據需求調整 AI 應用程式的保護等級。您可以在建立範本時設定偵測項目。Model Armor 會對提示詞和回覆執行下列偵測檢查:
惡意網址偵測:找出用於危害使用者或系統的網址。這些網址可能會通往網路釣魚網站、誘導下載惡意軟體或進行其他網路攻擊。詳情請參閱「惡意網址偵測」。
提示詞注入和越獄偵測:偵測提示詞中的惡意內容和越獄嘗試。建議將信心水準設為「高」,盡量減少偽陽性情形,並確保偵測行為一致。即使將信心水準設為「高」,偽陽率仍會降低,但極少數情況下仍可能發生偽陽性。詳情請參閱「提示詞注入和越獄偵測」。
Sensitive Data Protection:偵測機密資料,協助防止機密資料因提示詞注入等攻擊而意外曝光。詳情請參閱「Sensitive Data Protection」。
設定 Sensitive Data Protection
Model Armor 會運用 Sensitive Data Protection 識別並防止 LLM 互動中的敏感資訊曝光。詳情請參閱「Sensitive Data Protection」。
Model Armor 提供兩種模式,可設定 Sensitive Data Protection:
基本:使用預先定義的 infoType 偵測機密資料,方法較為簡單。如要進一步瞭解預先定義的 infoType,請參閱「基本 Sensitive Data Protection 設定」。
進階:可設定的選項,使用 Sensitive Data Protection 服務中定義的檢查範本,做為機密/私密資料 infoType 的單一來源。
如果選取「進階」模式,您必須指定下列參數:
檢查範本:用於儲存檢查掃描工作設定資訊的範本,包括要使用的預先定義或自訂偵測工具。請以下列格式輸入範本名稱:
projects/projectId/locations/locationId/inspectTemplates/templateName選用:去識別化範本:用於儲存去識別化工作設定資訊的範本,包括 infoType 和結構化資料集轉換。請以下列格式輸入去識別化範本的 ID:
projects/projectId/locations/locationId/deidentifyTemplates/templateName
確認 Sensitive Data Protection 中有檢查範本和去識別化範本。如果範本位於其他專案,則必須將該專案的 DLP 使用者角色 (roles/dlp.user) 和 DLP 讀取者角色 (roles/dlp.reader) 授予 Model Armor 服務代理程式。
設定信賴區間
信心水準代表偵測到的結果符合某個內容篩選器類型的可能性。您可以為每個內容篩選器設定信心水準,可能值如下:
- 無:未偵測到任何內容。
- 低與以上:偵測到的內容信心水準為低、中或高。
- 中等以上:偵測到的內容信心水準為中等或高。
- 高:以高信心水準偵測到內容。
如要強制執行更嚴格的設定,請將信心水準設為「低與以上」,這樣就能偵測到多數屬於該內容篩選器類型的內容。
如要在範本上啟用全面記錄功能,請參閱「Model Armor 稽核與平台記錄」。
定義範本的強制執行類型
如要設定 Model Armor 處理偵測結果的方式,請設定強制執行類型。
以下範例顯示 Model Armor 範本設定,並採用 Inspect only 強制執行類型。
export TEMPLATE_CONFIG='{
"filter_config": {
"rai_settings": {
"rai_filters": [{
"filter_type": "HATE_SPEECH",
"confidence_level": "MEDIUM_AND_ABOVE"
}, {
"filter_type": "HARASSMENT",
"confidence_level": "MEDIUM_AND_ABOVE"
}, {
"filter_type": "DANGEROUS",
"confidence_level": "MEDIUM_AND_ABOVE"
},{
"filter_type": "SEXUALLY_EXPLICIT",
"confidence_level": "MEDIUM_AND_ABOVE"
}]
},
"pi_and_jailbreak_filter_settings": {
"filter_enforcement": "ENABLED",
"confidence_level": "HIGH"
},
"malicious_uri_filter_settings": {
"filter_enforcement": "ENABLED"
}
},
"template_metadata": {
"enforcement_type": "INSPECT_ONLY",
"multi_language_detection": {
"enable_multi_language_detection": true
}
}
}'
curl -X POST \
-d "$TEMPLATE_CONFIG" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates?template_id=TEMPLATE_ID"
更改下列內容:
PROJECT_ID:範本所屬的專案 ID。TEMPLATE_ID:要建立的範本 ID。LOCATION:範本的位置。
查看 Model Armor 範本
查看現有範本,瞭解可用的設定,並排解和解決篩選提示和回覆的問題。
控制台
前往 Google Cloud 控制台的「Model Armor」頁面。
確認您正在查看已啟用 Model Armor 的專案。系統會顯示「Model Armor」頁面,列出為專案建立的範本。
按一下清單中的任一範本,即可查看詳細資料。
gcloud
執行下列指令:
gcloud model-armor templates describe TEMPLATE_ID --project=PROJECT_ID --location=LOCATION
更改下列內容:
LOCATION:範本的位置。TEMPLATE_ID:範本 ID。PROJECT_ID:範本所屬的專案 ID。
REST
執行下列指令:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.LOCATION_ID.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"
更改下列內容:
PROJECT_ID:範本所屬的專案 ID。TEMPLATE_ID:要查看的範本 ID。LOCATION:範本的位置。
C#
如要執行這段程式碼,請先設定 C# 開發環境,然後安裝 Model Armor C# SDK。
Go
如要執行這段程式碼,請先設定 Go 開發環境,然後安裝 Model Armor Go SDK。
Java
如要執行這段程式碼,請先設定 Java 開發環境,然後安裝 Model Armor Java SDK。
Node.js
如要執行這段程式碼,請先設定 Node.js 開發環境, 然後安裝 Model Armor Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Model Armor PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Model Armor Python SDK。
更新 Model Armor 範本
定期更新範本,確保 AI 應用程式維持穩健有效的安全狀態。
控制台
前往 Google Cloud 控制台的「Model Armor」頁面。
確認您正在查看已啟用 Model Armor 的專案。系統會顯示「Model Armor」頁面,列出為貴機構建立的範本。
在清單中按一下要更新的範本,系統會顯示「範本詳細資料」頁面。
按一下 [編輯]。
更新必要參數,然後按一下「儲存」。
gcloud
執行下列指令:
gcloud model-armor templates update TEMPLATE_ID --project=PROJECT_ID --location=LOCATION
更改下列內容:
LOCATION:範本的位置。TEMPLATE_ID:範本 ID。PROJECT_ID:範本所屬的專案 ID。
REST
執行下列指令:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d "$FILTER_CONFIG" \ "https://modelarmor.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID?updateMask=UPDATE_MASK"
更改下列內容:
PROJECT_ID:範本所屬的專案 ID。LOCATION:範本的位置。TEMPLATE_ID:範本 ID。UPDATE_MASK:要更新的欄位,例如filterConfig和filterConfig.piAndJailbreakFilterSettings。如果將這個欄位留空,系統會更新整個篩選器設定。
其他欄位都無法變更。如果嘗試更新其他欄位 (例如更新範本名稱),系統會傳回錯誤。
C#
如要執行這段程式碼,請先設定 C# 開發環境,然後安裝 Model Armor C# SDK。
Go
如要執行這段程式碼,請先設定 Go 開發環境,然後安裝 Model Armor Go SDK。
Java
如要執行這段程式碼,請先設定 Java 開發環境,然後安裝 Model Armor Java SDK。
Node.js
如要執行這段程式碼,請先設定 Node.js 開發環境, 然後安裝 Model Armor Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Model Armor PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Model Armor Python SDK。
刪除 Model Armor 範本
如果不再使用範本、有新範本取代舊範本,或是安全政策有所變更,請刪除範本。
控制台
前往 Google Cloud 控制台的「Model Armor」頁面。
確認您正在查看已啟用 Model Armor 的專案。系統會顯示「Model Armor」頁面,列出為貴機構建立的範本。
在清單中點選要刪除的範本,系統會顯示「範本詳細資料」頁面。
按一下「Delete」(刪除)。系統會顯示確認對話方塊。
輸入範本名稱來確認刪除,然後按一下「刪除」。
gcloud
執行下列指令:
gcloud model-armor templates delete TEMPLATE_ID --project=PROJECT_ID --location=LOCATION
更改下列內容:
LOCATION:範本的位置。TEMPLATE_ID:範本 ID。PROJECT_ID:範本所屬的專案 ID。
REST
執行下列指令:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://modelarmor.LOCATION_ID.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"
更改下列內容:
PROJECT_ID:範本所屬的專案 ID。LOCATION:範本的位置。TEMPLATE_ID:範本 ID。
C#
如要執行這段程式碼,請先設定 C# 開發環境,然後安裝 Model Armor C# SDK。
Go
如要執行這段程式碼,請先設定 Go 開發環境,然後安裝 Model Armor Go SDK。
Java
如要執行這段程式碼,請先設定 Java 開發環境,然後安裝 Model Armor Java SDK。
Node.js
如要執行這段程式碼,請先設定 Node.js 開發環境, 然後安裝 Model Armor Node.js SDK。
PHP
如要執行這段程式碼,請先設定 PHP 開發環境,然後安裝 Model Armor PHP SDK。
Python
如要執行這段程式碼,請先設定 Python 開發環境,然後安裝 Model Armor Python SDK。
範本中繼資料
Model Armor 範本中繼資料可協助您設定 Model Armor 的行為,包括安全性和安全性檢查處理、錯誤處理和記錄行為。
Model Armor 的範本中繼資料包含下列欄位:
| 中繼資料 | 類型 | 預設值 | 說明 |
|---|---|---|---|
| multiLanguageDetection | 布林值 | 否 | 啟用多語言偵測功能。 |
| enforcement_type | 列舉 | INSPECT_AND_BLOCK |
定義強制執行類型。請使用下列其中一個值:
|
| log_template_operations | 布林值 | 否 | 啟用範本作業記錄。 |
| log_sanitize_operations | 布林值 | 否 | 啟用記錄清除作業。 |