Questa pagina mostra come risolvere i problemi relativi a Model Armor.
Questa sezione contiene i passaggi per la risoluzione dei problemi che potrebbero esserti utili se riscontri problemi durante l'utilizzo di Model Armor.
Tutte le chiamate API a Model Armor restituiscono un errore 404 - Non trovato
Stabilisci una connessione Private Service Connect alle API Model Armor. Questo errore si verifica in genere quando si accede agli endpoint regionali (REP) di Model Armor utilizzando l'accesso privato Google o senza Private Service Connect. Per saperne di più, consulta Informazioni sull'accesso agli endpoint regionali tramite gli endpoint Private Service Connect.
Il filtro di Sensitive Data Protection restituisce un errore o viene ignorato
Verifica quanto segue:
- Il template di Sensitive Data Protection si trova nella stessa regione dell'endpoint Model Armor chiamato.
- L'agente di servizio che effettua la richiesta di Model Armor dispone dei ruoli
dlp.Useredlp.Readernel progetto contenente il template di Sensitive Data Protection.
Questo errore si verifica a causa di errori del client nelle richieste SanitizeUserPrompt o SanitizeModelResponse o di problemi con il modello di Sensitive Data Protection.
Errori degli endpoint globali di Model Armor
Assicurati di inviare le richieste API all'endpoint regionale appropriato anziché all'endpoint globale.
Model Armor supporta le seguenti operazioni solo sui suoi endpoint regionali:
- Operazioni di creazione, lettura, aggiornamento, eliminazione ed elenco sui template.
- Richieste API
SanitizeUserPrompteSanitizeModelResponse.
Se effettui le richieste API per queste operazioni all'endpoint globale, viene visualizzato il seguente errore:
{
"error": {
"code": 403,
"message": "Write access to project '<PROJECT_ID>' was denied",
"status": "PERMISSION_DENIED"
}
}
Errori dei certificati durante l'accesso agli endpoint regionali di Model Armor
Questo errore si verifica in genere quando si accede agli endpoint regionali di Model Armor dall'interno di una rete VPC utilizzando l'accesso privato Google o i Controlli di servizio VPC e la verifica del certificato non va a buon fine.
Ad esempio, potresti visualizzare un messaggio di errore simile al seguente:
curl: (60) SSL: no alternative certificate subject name matches target host name 'modelarmor.europe-west4.rep.googleapis.com'
Per risolvere il problema, crea un endpoint Private Service Connect per le API Model Armor. Per saperne di più, consulta Informazioni sull'accesso agli endpoint regionali tramite gli endpoint Private Service Connect.
La regione non supporta le funzionalità richieste
Potresti visualizzare un messaggio di errore simile al seguente:
Region '<var>REGION</var>' does not support the requested capabilities: '<var>CAPABILITIES</var>'
Questo errore si verifica quando tenti di creare o aggiornare un template in una regione con limitazioni delle funzionalità e la richiesta attiva funzionalità non supportate in quella regione.
Per risolvere il problema:
- Identifica le funzionalità non supportate elencate nel messaggio di errore.
- Consulta la disponibilità delle funzionalità per regione per verificare quali funzionalità non sono disponibili per la tua regione di destinazione.
- Rimuovi le funzionalità non supportate dal template che stai creando o aggiornando.
In alternativa, utilizza un'altra regione di Model Armor che supporti le funzionalità, se i requisiti di residenza dei dati lo consentono.
La conformità della residenza dei dati del template è obbligatoria
Potresti visualizzare un messaggio di errore 400 (FAILED_PRECONDITION) simile al seguente:
Template data residency compliance is required. The 'Enforce data residency' field must not be set to false.
Questo errore si verifica quando viene applicato il vincolo del servizio policy dell'organizzazione gestito Richiedi la conformità alla residenza dei dati del template di Model Armor (constraints/modelarmor.managed.requireTemplateDataResidencyCompliance) e crei o aggiorni un template di Model Armor con la conformità alla residenza dei dati disabilitata.
La conformità della residenza dei dati è disattivata quando imposti data_residency_compliant
su false o deselezioni l'opzione Applica la residenza dei dati. Poiché questo vincolo viene applicato per impostazione predefinita, la modifica di qualsiasi impostazione, ad esempio un filtro, in un modello esistente in cui data_residency_compliant è già impostato su false genera questo errore. I template e le richieste esistenti per sanificare prompt e risposte non sono interessati, a meno che non aggiorni il template.
Per risolvere questo problema, procedi in uno dei seguenti modi:
- Attiva la conformità alla residenza dei dati nel template impostando
data_residency_compliantsutrueo selezionando l'opzione Applica la residenza dei dati. - Se devi mantenere disattivata la conformità alla residenza dei dati per il template, segui i passaggi descritti in Disattiva il vincolo della policy dell'organizzazione per la residenza dei dati per chiedere all'amministratore delle policy dell'organizzazione di disattivare il vincolo.
I controlli o i filtri delle policy vengono ignorati per prompt o payload di grandi dimensioni
Quando si esaminano prompt o risposte di grandi dimensioni, come i payload di generazione aumentata dal recupero (RAG) o le cronologie delle conversazioni degli agenti in più passaggi, i singoli filtri potrebbero non essere eseguiti o il risultato della sanitizzazione potrebbe restituire EXECUTION_SKIPPED con uno dei seguenti messaggi di avviso nel campo messageItems:
Detection skipped as token limit exceeded.
Input size exceeded the limit of 4194304 bytes.
Questo problema si verifica quando una richiesta di sanitizzazione unaria o una richiesta di streaming con buffering supera il limite di token del sistema di un filtro (65.536 token per il rilevamento di prompt injection e jailbreak, AI responsabile e CSAM; 130.000 token per Sensitive Data Protection) o il limite di dimensioni di input di 4 MB. Quando un input supera il limite di token di un filtro e non viene rilevata alcuna corrispondenza, il filtro restituisce EXECUTION_SKIPPED e NO_MATCH_FOUND, il che consente alla richiesta di procedere nelle integrazioni in linea.
Per verificare se un filtro è stato ignorato a causa dei limiti di token o di dimensioni di input, esegui una query sui log SanitizeOperation in Cloud Logging:
jsonPayload.@type="type.googleapis.com/google.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry"
"EXECUTION_SKIPPED"
Per risolvere il problema:
- Per i workload di streaming o le interazioni degli agenti di lunga durata, utilizza la sanitizzazione dello streaming in tempo reale (
StreamSanitizeUserPrompteStreamSanitizeModelResponse). UtilizzastreamQueryper gli agenti dell'Agent Development Kit che utilizzano Agent Gateway, che elabora l'input in blocchi e supporta token illimitati. - Per le richieste unarie, suddividi i payload RAG di grandi dimensioni o riduci le cronologie delle conversazioni degli agenti in più passaggi prima di inviarle a Model Armor, in modo che ogni richiesta rimanga entro i limiti di sistema dei token e il limite di dimensione dell'input di 4 MB.