Puoi configurare regole di esclusione specifiche per i modelli in Model Armor per ridurre i falsi positivi. Le regole di esclusione sono regole specifiche del modello che contengono espressioni regolari o frasi da escludere dal rilevamento.
Filtri supportati
Puoi utilizzare le regole di esclusione per i seguenti filtri:
- Rilevamento di prompt injection e jailbreaking
(
PROMPT_INJECTION_AND_JAILBREAK) - Filtri di sicurezza dell'AI
responsabile
(
RESPONSIBLE_AI)
Quando utilizzare le regole di esclusione
Utilizza regole di esclusione specifiche per i modelli quando devi eliminare rilevamenti di falsi positivi noti per workload specifici senza disattivare completamente un filtro:
- Terminologia tecnica o specifica del dominio: i tuoi processi di applicazione
utilizzano un vocabolario specializzato, ad esempio comandi di amministrazione di sistema (
kill process,abort transaction), terminologia di test di sicurezza (penetration testing), termini scientifici (blast search) o espressioni idiomatiche del settore, che si sovrappongono alle categorie di sicurezza dell'AI responsabile. - Istruzioni operative o di formattazione benigne: i tuoi utenti o i modelli di prompt includono istruzioni legittime che utilizzano verbi imperativi (ad esempio
"ignore case when sorting this list","ignore empty rows"o"Summarize my inbox and ignore the emails from the marketing vendor.") che attivano falsi positivi nel rilevamento di prompt injection e jailbreak. - Mitigazione mirata in attesa degli aggiornamenti del modello: hai bisogno di una soluzione alternativa immediata per un falso positivo verificato in un flusso di lavoro dell'applicazione specifico, mantenendo attivo il filtro per tutti gli altri input.
La tabella seguente descrive quando utilizzare ogni combinazione di tipo di regola e ambito di corrispondenza. Per saperne di più su come funzionano la corrispondenza con dizionario e con espressioni regolari, consulta Regole di corrispondenza con dizionario ed espressioni regolari e Come funziona la corrispondenza.
| Configurazione della regola | Quando utilizzarlo | Esempio |
|---|---|---|
Regola del dizionario con corrispondenza parziale
(MATCHING_SCOPE_PARTIAL_MATCH)
|
Hai un elenco fisso di parole o frasi statiche che possono essere visualizzate ovunque all'interno di un prompt o di una risposta. Per saperne di più sul comportamento della corrispondenza del dizionario, consulta Regole di dizionario ed espressioni regolari. |
Il dizionario contiene la frase
Risultati:
Non corrisponde a:
|
Regola del dizionario con corrispondenza esatta
(MATCHING_SCOPE_FULL_MATCH)
|
La tua applicazione utilizza opzioni di prompt predefinite (ad esempio pulsanti di risposta rapida dell'interfaccia utente o comandi predefiniti) in cui l'intero input corrisponde a una frase nota e vuoi impedire che testo aggiuntivo non filtrato aggiri il filtro. Per saperne di più sul comportamento della corrispondenza del dizionario, consulta Regole di dizionario ed espressioni regolari. |
Il dizionario contiene la frase
Risultati:
Non corrisponde a:
|
Regola di espressione regolare con corrispondenza parziale
(MATCHING_SCOPE_PARTIAL_MATCH)
|
Devi escludere pattern strutturati, identificatori dinamici o combinazioni specifiche di verbi e nomi all'interno di prompt o risposte più grandi. Per saperne di più, vedi Esempio di pattern di esclusione di espressioni regolari. |
Pattern di espressione regolare:
Risultati:
Non corrisponde a:
|
Regola di espressione regolare con corrispondenza completa
(MATCHING_SCOPE_FULL_MATCH)
|
L'intero payload di input segue un formato strutturale rigoroso (ad esempio un identificatore di test automatizzato o un comando strutturato). |
Pattern di espressione regolare:
Risultati:
Non corrisponde a:
|
Utilizza un endpoint regionale o multiregionale
Quando utilizzi un modello Model Armor, devi utilizzare un
endpoint regionale o
multiregionale
(modelarmor.LOCATION.rep.googleapis.com) che corrisponda
alla posizione del modello.
L'endpoint globale (modelarmor.googleapis.com) non supporta
la gestione dei modelli Model Armor o la sanificazione dei prompt e
delle risposte.
Prima di iniziare
Prima di iniziare, completa le seguenti attività.
Ottieni le autorizzazioni richieste
Per ottenere le autorizzazioni necessarie per configurare le regole di esclusione nei modelli Model Armor, chiedi all'amministratore di concederti il ruolo IAM Model Armor Admin (roles/modelarmor.admin) sul progetto Model Armor che contiene il modello Model Armor.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Abilita API
Prima di poter utilizzare Model Armor, devi abilitare l'API Model Armor.
Console
Abilita l'API Model Armor, se non è già abilitata.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.Seleziona il progetto in cui vuoi attivare Model Armor.
gcloud
Prima di iniziare, segui questi passaggi utilizzando Google Cloud CLI con l'API Model Armor:
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
Abilita l'API Model Armor, se non è già abilitata:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.gcloud services enable modelarmor.googleapis.com
Imposta l'override dell'endpoint API utilizzando gcloud CLI.
Imposta l'override dell'endpoint API utilizzando gcloud CLI
Questo passaggio è necessario solo se utilizzi gcloud CLI con
Model Armor e vuoi utilizzare una regione o una multi-regione diversa dalla
multi-regione us predefinita. Devi impostare manualmente l'override dell'endpoint API
per assicurarti che gcloud CLI indirizzi correttamente le richieste al
servizio Model Armor.
Esegui questo comando per impostare l'endpoint API per il servizio Model Armor.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
Sostituisci LOCATION con la regione o la multi-regione in cui
vuoi utilizzare Model Armor.
Come funzionano le regole di esclusione
Configura le regole di esclusione utilizzando l'API Model Armor.
Regole di dizionario ed espressioni regolari
Puoi definire due tipi di regole di esclusione all'interno di un modello Model Armor:
- Regole del dizionario: specifica un elenco di parole o frasi (
wordList, fino a 128 KB per dizionario) da escludere. Un dizionario deve contenere almeno una frase e ogni frase deve contenere almeno due caratteri costituiti da lettere o cifre. La corrispondenza del dizionario funziona nel seguente modo:- Insensibilità alle maiuscole: le parole e le frasi del dizionario non fanno distinzione tra maiuscole e minuscole.
- Caratteri non alfanumerici: durante la scansione per trovare corrispondenze, tutti i caratteri
diversi da lettere e cifre nel
Basic Multilingual Plane
vengono sostituiti con spazi vuoti. Ad esempio, la frase del dizionario
Sam Johnsoncorrisponde asam johnson,Sam, JohnsoneSam (Johnson). Le frasi del dizionario che contengono molti caratteri diversi da lettere o cifre potrebbero produrre corrispondenze inaspettate perché questi caratteri vengono trattati come spazi vuoti. - Limiti dei caratteri: i caratteri che circondano una corrispondenza devono essere di un
tipo diverso rispetto ai caratteri adiacenti all'interno della parola
del dizionario. Le lettere devono essere adiacenti a caratteri non alfabetici e le cifre devono essere adiacenti
a caratteri non numerici. Ad esempio, la parola del dizionario
jencorrisponde alle prime tre lettere dijen123, ma non ajennifer.
- Regole di espressione regolare: specifica un pattern di espressione regolare (fino a
1000 caratteri) da corrispondere ed escludere. Per impostazione predefinita, le corrispondenze delle espressioni regolari sono sensibili alle maiuscole. Per eseguire una corrispondenza senza distinzione tra maiuscole e minuscole, includi il flag
(?i)nel pattern. Ad esempio,(?i)kill process [0-9]+corrisponde sia akill process 1234sia aKill Process 1234.
Come funziona la corrispondenza
Ogni regola di esclusione supporta il campo matchingScope, che specifica in che modo
Model Armor confronta i contenuti di input con la regola:
- Corrispondenza parziale (
MATCHING_SCOPE_PARTIAL_MATCH, impostazione predefinita):- Regole del dizionario: si verifica una corrispondenza quando una parola o una frase nel dizionario
corrisponde a una sottostringa nei contenuti di input, in base alle regole
di delimitazione dei caratteri del dizionario. Ad esempio, la frase del dizionario
ignore empty rowscorrisponde aignore empty rows,ignore EMPTY-rowsePlease ignore empty rows and summarize this table, ma non aignore rowsoignore the empty rows. - Regole di espressione regolare: la corrispondenza si verifica quando una sottostringa nel contenuto di input corrisponde al pattern dell'espressione regolare.
- Regole del dizionario: si verifica una corrispondenza quando una parola o una frase nel dizionario
corrisponde a una sottostringa nei contenuti di input, in base alle regole
di delimitazione dei caratteri del dizionario. Ad esempio, la frase del dizionario
- Corrispondenza esatta (
MATCHING_SCOPE_FULL_MATCH):- Regole del dizionario: la corrispondenza si verifica solo quando la voce del dizionario copre
l'intero contenuto dell'input. Ad esempio, la frase del dizionario
ignore empty rowscorrisponde aignore empty rowseignore EMPTY-rows, ma non aplease ignore empty rowsoignore rows. - Regole di espressione regolare: la corrispondenza si verifica solo quando il pattern dell'espressione regolare corrisponde all'intero contenuto di input.
- Regole del dizionario: la corrispondenza si verifica solo quando la voce del dizionario copre
l'intero contenuto dell'input. Ad esempio, la frase del dizionario
Override delle regole di esclusione durante la sanificazione
Se un modello include regole di esclusione, Model Armor valuta
queste regole durante la sanificazione dei prompt e delle risposte del modello ogni volta che un filtro
di prompt injection e jailbreaking (PROMPT_INJECTION_AND_JAILBREAK) o
di AI responsabile (RESPONSIBLE_AI) identifica una potenziale corrispondenza:
- La regola corrisponde all'input: se una regola di esclusione corrisponde a una sottostringa
(
MATCHING_SCOPE_PARTIAL_MATCH, impostazione predefinita) o all'intero input dall'inizio alla fine (MATCHING_SCOPE_FULL_MATCH), Model Armor esegue l'override dimatchStatee lo imposta suNO_MATCH_FOUNDper l'intero tipo di filtro supportato (incluse tutte le categorie di sicurezza dell'AI responsabile perRESPONSIBLE_AI), anziché escludere singole frasi o intervalli all'interno dell'input. Se nessun altro filtro attivo rileva una violazione,filterMatchStaterestituisceNO_MATCH_FOUND. Model Armor non registra un indicatore in Cloud Logging né include un segnale nella risposta di sanificazione quando una regola di esclusione sostituisce il filtromatchState. - La regola non corrisponde all'input completo (
MATCHING_SCOPE_FULL_MATCH): se l'input contiene testo aggiuntivo oltre alla frase o al pattern configurato, la regola non corrisponde e il filtro mantieneMATCH_FOUND. - L'input supera 0,5 MB: le regole di esclusione valutano solo
i primi 0,5 MB di testo di input. Se un input supera
0,5 MB e un filtro rileva una corrispondenza al di fuori della porzione
iniziale scansionata, il filtro restituisce
EXECUTION_SKIPPED. Per informazioni dettagliate sui valori dimessageItemse sui limiti del payload, consulta Limiti del sistema di regole di esclusione.
Per esempi di sanitizzazione di prompt e risposte del modello con regole di esclusione, consulta Sanificare un prompt con una regola di esclusione e Sanificare una risposta con una regola di esclusione.
Considerazioni
Quando configuri le regole di esclusione, tieni presente quanto segue:
- Le regole di esclusione si applicano solo al modello in cui le definisci. Non puoi condividere le regole di esclusione tra i modelli.
- Puoi configurare regole di esclusione per un tipo di filtro
supportato solo quando il filtro è abilitato nel modello.
Per il rilevamento di prompt injection e jailbreaking
(
PROMPT_INJECTION_AND_JAILBREAK), impostafilterEnforcementsuENABLEDinpiAndJailbreakFilterSettings. Per attivare i filtri di sicurezza dell'AI responsabile (RESPONSIBLE_AI), configura almeno una categoria di sicurezza dell'AI responsabile inraiSettings.raiFilters. - Model Armor non supporta le regole di esclusione nelle API di streaming o nelle impostazioni di base.
- Model Armor valuta le regole di esclusione in base al testo di input non elaborato prima di eseguire trasformazioni del testo come l'anonimizzazione o la traduzione. Le regole di esclusione non supportano il rilevamento multilingue o la traduzione automatica. Per escludere contenuti in più lingue, aggiungi frasi specifiche per la lingua o pattern di espressioni regolari per ogni lingua di destinazione.
- Le regole di esclusione supportano in modo limitato le lingue con caratteri non latini e
i caratteri UTF-8 multibyte. In particolare, le regole del dizionario (
wordList) potrebbero non corrispondere come previsto per gli script che utilizzano segni di combinazione (come gli script indiani) o gli script senza spazi tra le parole (come il cinese e il giapponese). Le regole di corrispondenza esatta (MATCHING_SCOPE_FULL_MATCH) non corrispondono agli input contenenti caratteri UTF-8 multibyte. Quando escludi contenuti in script non latini o input con caratteri multibyte, utilizza regole di espressioni regolari (regex) conMATCHING_SCOPE_PARTIAL_MATCH. - Le regole di esclusione sono soggette a limiti di sistema. Per saperne di più, consulta Limiti di sistema delle regole di esclusione.
Crea un modello con regole di esclusione
Per creare un modello con regole di esclusione, includi l'oggetto filterRuleSettings
all'interno di filterConfig in una richiesta POST.
L'esempio seguente crea un modello che attiva l'injection di prompt e
il rilevamento di jailbreak e i filtri di sicurezza dell'AI responsabile e configura due
regole di esclusione con corrispondenza parziale (MATCHING_SCOPE_PARTIAL_MATCH):
- Rilevamento di prompt injection e jailbreaking
(
PROMPT_INJECTION_AND_JAILBREAK): utilizza una regola del dizionario per escludere gli input contenenti frasi specifiche, ad esempioignore case when sorting this listoignore empty rows, dai rilevamenti di prompt injection e jailbreaking. - AI responsabile (
RESPONSIBLE_AI): utilizza una regola di espressione regolare per escludere gli input che corrispondono a un pattern specificato, ad esempio(?i)kill process [0-9]+, dai rilevamenti di sicurezza dell'AI responsabile.
export TEMPLATE_WITH_EXCLUSIONS='{
"filterConfig": {
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "LOW_AND_ABOVE"
},
"raiSettings": {
"raiFilters": [
{
"filterType": "DANGEROUS",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "HARASSMENT",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "HATE_SPEECH",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "LOW_AND_ABOVE"
}
]
},
"filterRuleSettings": {
"ruleSets": [
{
"filterTypes": [
"PROMPT_INJECTION_AND_JAILBREAK"
],
"rules": [
{
"exclusionRule": {
"dictionary": {
"wordList": {
"words": [
"EXCLUDED_PHRASE_1",
"EXCLUDED_PHRASE_2"
]
}
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
}
]
},
{
"filterTypes": [
"RESPONSIBLE_AI"
],
"rules": [
{
"exclusionRule": {
"regex": {
"pattern": "EXCLUDED_REGEX_PATTERN"
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
}
]
}
]
}
}
}'
curl -X POST \
-d "$TEMPLATE_WITH_EXCLUSIONS" \
-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"
Sostituisci quanto segue:
EXCLUDED_PHRASE_1eEXCLUDED_PHRASE_2: le parole o le frasi del dizionario da escludere dal rilevamento di prompt injection e jailbreaking, ad esempioignore case when sorting this listeignore empty rows.EXCLUDED_REGEX_PATTERN: il pattern dell'espressione regolare da escludere dal rilevamento della sicurezza dell'AI responsabile, ad esempio(?i)kill process [0-9]+.PROJECT_ID: l'ID del progetto a cui appartiene il modello.LOCATION: la posizione del modello.TEMPLATE_ID: l'ID del modello.
Questo comando restituisce una risposta simile alla seguente:
{
"filterConfig": {
"raiSettings": {
"raiFilters": [
{
"filterType": "DANGEROUS",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "HARASSMENT",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "HATE_SPEECH",
"confidenceLevel": "LOW_AND_ABOVE"
},
{
"filterType": "SEXUALLY_EXPLICIT",
"confidenceLevel": "LOW_AND_ABOVE"
}
]
},
"piAndJailbreakFilterSettings": {
"filterEnforcement": "ENABLED",
"confidenceLevel": "LOW_AND_ABOVE"
},
"filterRuleSettings": {
"ruleSets": [
{
"filterTypes": [
"PROMPT_INJECTION_AND_JAILBREAK"
],
"rules": [
{
"exclusionRule": {
"dictionary": {
"wordList": {
"words": [
"ignore case when sorting this list",
"ignore empty rows"
]
}
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
}
]
},
{
"filterTypes": [
"RESPONSIBLE_AI"
],
"rules": [
{
"exclusionRule": {
"regex": {
"pattern": "(?i)kill process [0-9]+"
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
}
]
}
]
}
},
"templateMetadata": {
"dataResidencyCompliant": true
}
}
Aggiorna le regole di esclusione in un modello
Per aggiornare le regole di esclusione in un modello esistente, invia una richiesta PATCH
con updateMask impostato su filterConfig.filterRuleSettings. Poiché l'aggiornamento
sostituisce l'intero campo filterRuleSettings, includi tutte le regole che vuoi
conservare insieme alle modifiche.
L'esempio seguente aggiorna le regole di esclusione dell'esempio precedente aggiungendo una regola di espressione regolare al set di regole PROMPT_INJECTION_AND_JAILBREAK e rimuovendo il set di regole RESPONSIBLE_AI:
export EXCLUSION_RULES_UPDATE='{
"filterConfig": {
"filterRuleSettings": {
"ruleSets": [
{
"filterTypes": [
"PROMPT_INJECTION_AND_JAILBREAK"
],
"rules": [
{
"exclusionRule": {
"dictionary": {
"wordList": {
"words": [
"EXCLUDED_PHRASE_1",
"EXCLUDED_PHRASE_2"
]
}
},
"matchingScope": "MATCHING_SCOPE_PARTIAL_MATCH"
}
},
{
"exclusionRule": {
"regex": {
"pattern": "EXCLUDED_REGEX_PATTERN"
},
"matchingScope": "MATCHING_SCOPE_FULL_MATCH"
}
}
]
}
]
}
}
}'
curl -X PATCH \
-d "$EXCLUSION_RULES_UPDATE" \
-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?updateMask=filterConfig.filterRuleSettings"
Sostituisci quanto segue:
EXCLUDED_PHRASE_1eEXCLUDED_PHRASE_2: le parole o le frasi del dizionario da escludere dal rilevamento di prompt injection e jailbreaking, ad esempioignore case when sorting this listeignore empty rows.EXCLUDED_REGEX_PATTERN: il pattern dell'espressione regolare da escludere dal rilevamento di prompt injection e jailbreaking, ad esempio(?i)\\b(?:ignore\\s+(?:the\\s+)?(?:emails?|spams?|warnings?|drafts?|typos?|duplicates?|noise))\\b.PROJECT_ID: l'ID del progetto a cui appartiene il modello.LOCATION: la posizione del modello.TEMPLATE_ID: l'ID del modello.
Esempi di pattern di esclusione delle espressioni regolari
Quando scrivi regole di esclusione delle espressioni regolari, limita l'ambito dei pattern a termini di dominio o sostantivi target specifici in modo che Model Armor escluda i falsi positivi noti senza ignorare le violazioni effettive della sicurezza. Quando passi pattern di espressioni regolari all'interno dei corpi delle richieste JSON
("pattern"), esegui l'escape di ogni barra rovesciata con una seconda barra rovesciata (ad esempio, utilizza
\\b e \\s).
Esempi di rilevamento di prompt injection e jailbreaking
Verbi imperativi come ignore, disregard, bypass o override compaiono spesso sia nei prompt malevoli sia nelle istruzioni legittime per la classificazione delle email, la formattazione dei dati, la gestione degli errori o la configurazione del sistema. Per evitare di escludere ampie categorie di prompt, combina i limiti delle parole (\\b), i gruppi non di acquisizione ((?:...)) e il flag senza distinzione tra maiuscole e minuscole ((?i)) con MATCHING_SCOPE_PARTIAL_MATCH per ancorare l'espressione regolare a sostantivi di destinazione operativi specifici.
La tabella seguente fornisce un esempio di pattern di espressione regolare di corrispondenza parziale (con barre rovesciate con escape JSON) e un esempio di prompt per lo scenario di falsi positivi di prompt injection e jailbreak.
| Categoria istruzione | Termini di attivazione | Scenari di falsi positivi | Esempio di pattern di espressione regolare a corrispondenza parziale | Prompt di esempio |
|---|---|---|---|---|
| Triage e filtraggio dei contenuti | ignore, disregard |
Triage delle email, gestione degli errori e revisione delle bozze |
(?i)\\b(?:ignore\\s+(?:the\\s+)?(?:emails?|spams?|warnings?|drafts?|typos?|duplicates?|noise))\\b
|
Summarize my inbox and ignore the emails from the marketing vendor.
|
Esempi di filtri di sicurezza per l'AI responsabile
La documentazione tecnica, i comandi di amministrazione del sistema e le espressioni idiomatiche comuni spesso
contengono parole che si sovrappongono alle categorie di sicurezza dell'AI responsabile. Per ridurre
i falsi positivi in prompt o risposte più grandi, combina i limiti delle parole
(\\b), i gruppi non di acquisizione ((?:...)) e il flag che non fa distinzione tra maiuscole e minuscole
((?i)) con MATCHING_SCOPE_PARTIAL_MATCH.
La tabella seguente fornisce esempi di pattern di espressioni regolari a corrispondenza parziale (con barre rovesciate con escape JSON) ed esempi di prompt per scenari comuni di falsi positivi dell'AI responsabile.
| Categoria di rischio | Termini di attivazione | Scenari di falsi positivi | Esempio di pattern di espressione regolare a corrispondenza parziale | Prompt di esempio |
|---|---|---|---|---|
| Violenza o danno | kill |
Interruzione di processi, interruttori elettrici o dell'impianto di climatizzazione ed espressioni idiomatiche comuni |
(?i)\\b(?:kill\\s+(?:-9|all|process(?:es)?|switch(?:es)?|jobs?|pods?|sessions?|bill|lights?)|time\\s+to\\s+kill|dressed\\s+to\\s+kill)\\b
|
Please kill all pods in the namespace. |
| Tossicità o linguaggio offensivo | abort, terminate |
Transazioni di database, ciclo di vita della missione e termini di impiego o contratto |
(?i)\\b(?:abort\\s+(?:transactions?|missions?|requests?|connections?|retry|retries)|terminate\\s+(?:contracts?|sessions?|threads?|instances?|connections?))\\b
|
Abort retry. |
| Corrispondenze di sottostringhe nei termini del dominio | Sottostringhe di caratteri sovrapposte | Termini accademici, botanica, ornitologia, aviazione e nomi propri |
(?i)\\b(?:class(?:room|ic)?|assess(?:ment)?|associate|passive|peacock|cockpit|cocktail|dickens)\\b
|
I love reading Dickens. |
| Armi o esplosivi | bomb, blast, detonate |
Bioinformatica, espressioni idiomatiche di intrattenimento e attrezzature industriali o pulizia |
(?i)\\b(?:blast\\s+(?:search|alignment|radius|furnace)|box\\s+office\\s+bomb|had\\s+a\\s+blast)\\b
|
Run a blast search on the genetic sequence. |
Best practice per la configurazione delle regole di esclusione
Segui queste best practice per ridurre al minimo i falsi positivi senza compromettere la postura di sicurezza del modello:
- Limita le regole di ambito a contesti specifici: evita di escludere singoli verbi
o termini generici (come
ignore,killoabort) o di utilizzare caratteri jolly senza vincoli (come.*ignore.*). PoichéMATCHING_SCOPE_PARTIAL_MATCHesegue l'override dimatchStatesuNO_MATCH_FOUNDper l'intero filtro ogni volta che una sottostringa corrisponde, regole troppo generiche possono mascherare violazioni reali altrove nello stesso prompt o risposta. Associa sempre i verbi di attivazione a nomi di destinazione specifici (ad esempio,ignore case when sorting this listo(?i)kill process [0-9]+). - Utilizza i limiti delle parole e consolida i pattern: nelle regole delle espressioni regolari,
utilizza i limiti delle parole (
\b) per evitare corrispondenze accidentali di sottostringhe all'interno di parole non correlate. Consolida le frasi correlate in un'unica espressione regolare utilizzando gruppi non di acquisizione ((?:...)) e alternanza (|) per rimanere entro il limite di sistema di 10 regole per set di regole. - Preferisci
MATCHING_SCOPE_FULL_MATCHper input prevedibili: quando escludi prompt UI predefiniti, comandi predefiniti o payload di test automatici, impostamatchingScopesuMATCHING_SCOPE_FULL_MATCH(o ancora le espressioni regolari con^e$). L'ambito di corrispondenza esatta impedisce agli utenti di aggiungere istruzioni ostili a una frase esclusa per aggirare il rilevamento. - Scrivi regole per il testo non elaborato e non trasformato: Model Armor valuta le regole di esclusione prima della deidentificazione o della traduzione. Assicurati che i pattern corrispondano al formato originale prima della deidentificazione e aggiungi frasi specifiche per la lingua o pattern di espressioni regolari per ogni lingua supportata dalla tua applicazione.
- Rivedi e ritira le regole temporanee dopo gli upgrade dei filtri: quando esegui l'upgrade di un modello a una versione del filtro più recente, valuta nuovamente gli scenari di test dei falsi positivi e rimuovi le regole di esclusione risolte dai modelli di rilevamento aggiornati.
Passaggi successivi
- Consulta esempi di come sanificare i prompt e sanificare le risposte del modello con regole di esclusione.
- Esamina i limiti del sistema di regole di esclusione.
- Scopri come creare e gestire i modelli Model Armor.