您可以使用 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 提供彈性的偵測設定系統,可讓您自訂 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 | 布林值 | 否 | 啟用記錄清除作業。 |