Nesta página, mostramos como resolver problemas com o Model Armor.
Nesta seção, descrevemos as etapas de solução de problemas que podem ser úteis se você tiver problemas ao usar o Model Armor.
Todas as chamadas de API para o Model Armor retornam um erro 404 Não encontrado
Estabeleça um Private Service Connect com as APIs do Model Armor. Esse erro geralmente ocorre quando os endpoints regionais (REPs) do Model Armor são acessados usando o Acesso privado do Google ou sem um Private Service Connect. Para mais informações, consulte Sobre o acesso de endpoints regionais por meio de endpoints do Private Service Connect.
O filtro da Proteção de Dados Sensíveis apresenta um erro ou é ignorado
Confirme o seguinte:
- O modelo da Proteção de Dados Sensíveis está na mesma região que o endpoint do Model Armor que está sendo chamado.
- O agente de serviço que faz a solicitação do Model Armor tem os papéis
dlp.Useredlp.Readerno projeto que contém o modelo da Proteção de Dados Sensíveis.
Esse erro ocorre devido a erros do cliente nas solicitações SanitizeUserPrompt ou
SanitizeModelResponse ou problemas com o modelo de Proteção de Dados Sensíveis.
Erros de endpoint global do Model Armor
Verifique se você está fazendo as solicitações de API para o endpoint regional apropriado, em vez do endpoint global.
O Model Armor só aceita as seguintes operações nos endpoints regionais:
- Operações de criação, leitura, atualização, exclusão e listagem em modelos.
- Solicitações de API
SanitizeUserPrompteSanitizeModelResponse.
Se você fizer as solicitações de API para essas operações no endpoint global, o seguinte erro será exibido:
{
"error": {
"code": 403,
"message": "Write access to project '<PROJECT_ID>' was denied",
"status": "PERMISSION_DENIED"
}
}
Erros de certificado ao acessar endpoints regionais do Model Armor
Esse erro geralmente ocorre quando os endpoints regionais do Model Armor são acessados de uma rede VPC usando o Acesso Privado do Google ou o VPC Service Controls, e a verificação do certificado falha.
Por exemplo, você pode ver uma mensagem de erro semelhante a esta:
curl: (60) SSL: no alternative certificate subject name matches target host name 'modelarmor.europe-west4.rep.googleapis.com'
Para resolver esse problema, crie um endpoint do Private Service Connect para as APIs do Model Armor. Para mais informações, consulte Sobre o acesso de endpoints regionais por meio de endpoints do Private Service Connect.
A região não é compatível com os recursos solicitados
Talvez você veja uma mensagem de erro semelhante a esta:
Region '<var>REGION</var>' does not support the requested capabilities: '<var>CAPABILITIES</var>'
Esse erro ocorre quando você tenta criar ou atualizar um modelo em uma região com restrições de recursos, e a solicitação ativa recursos que não são compatíveis com essa região.
Para resolver o problema:
- Identifique os recursos não compatíveis listados na mensagem de erro.
- Confira a disponibilidade de recursos por região para confirmar quais recursos não estão disponíveis na sua região de destino.
- Remova os recursos incompatíveis do modelo que você está criando ou atualizando.
Como alternativa, use uma região diferente do Model Armor que ofereça suporte aos recursos, se os requisitos de residência de dados permitirem.
A conformidade com a residência de dados do modelo é obrigatória
Talvez você veja uma mensagem de erro 400 (FAILED_PRECONDITION) semelhante a
esta:
Template data residency compliance is required. The 'Enforce data residency' field must not be set to false.
Esse erro ocorre quando a restrição de serviço gerenciado do Serviço de Política da Organização Exigir conformidade com a residência de dados do modelo do Model Armor (constraints/modelarmor.managed.requireTemplateDataResidencyCompliance) é aplicada e você cria ou atualiza um modelo do Model Armor com a conformidade com a residência de dados desativada.
A conformidade com a residência de dados é desativada quando você define data_residency_compliant
como false ou desmarca a opção Aplicar residência de dados. Como essa
restrição é aplicada por padrão, a edição de qualquer configuração, como um filtro, em um
modelo que já tenha data_residency_compliant definido como false
também aciona esse erro. Os modelos e as solicitações atuais para limpar comandos
e respostas não são afetados, a menos que você atualize o modelo.
Para resolver o problema, siga um destes procedimentos:
- Ative a conformidade com a residência de dados no modelo definindo
data_residency_compliantcomotrueou selecionando a opção Aplicar residência de dados. - Se você precisar manter a conformidade com a residência de dados desativada para o modelo, siga as etapas em Desativar a restrição da política da organização para residência de dados para que o administrador da política da organização desative a restrição.
Os controles ou filtros de política são ignorados para comandos ou payloads grandes
Ao analisar comandos ou respostas grandes, como payloads de geração aumentada por recuperação (RAG) ou históricos de conversas de agentes em várias etapas, os filtros individuais podem não ser executados ou o resultado da limpeza pode retornar EXECUTION_SKIPPED com uma das seguintes mensagens de aviso no campo messageItems:
Detection skipped as token limit exceeded.
Input size exceeded the limit of 4194304 bytes.
Esse problema ocorre quando uma solicitação de sanitização unária ou uma solicitação de streaming em buffer
excede o limite do sistema de tokens
de um filtro (65.536 tokens para injeção de comando
e detecção de jailbreak, IA responsável e CSAM; 130.000
tokens para Proteção de Dados Sensíveis) ou o limite de tamanho de entrada
de 4 MB. Quando uma entrada excede o limite de tokens de um filtro e nenhuma correspondência é detectada, o filtro retorna EXECUTION_SKIPPED e NO_MATCH_FOUND, o que permite que a solicitação prossiga em integrações inline.
Para verificar se um filtro foi ignorado devido a limites de tamanho de token ou entrada, consulte
os registros do SanitizeOperation no Cloud Logging:
jsonPayload.@type="type.googleapis.com/google.cloud.modelarmor.logging.v1.SanitizeOperationLogEntry"
"EXECUTION_SKIPPED"
Para resolver o problema:
- Para cargas de trabalho de streaming ou interações de agentes de longa duração, use a limpeza de streaming em tempo real (
StreamSanitizeUserPrompteStreamSanitizeModelResponse). UsestreamQuerypara agentes do Kit de Desenvolvimento de Agente que usam o Gateway de Agente, que processa entradas em blocos e oferece suporte a tokens ilimitados. - Para solicitações unárias, divida payloads grandes de RAG ou reduza os históricos de conversas de agentes de várias etapas antes de enviá-los ao Model Armor, para que cada solicitação permaneça dentro dos limites do sistema de tokens e do limite de tamanho de entrada de 4 MB.