Criar e gerenciar modelos de proteção de modelos

Nesta página, descrevemos como criar, visualizar, atualizar e excluir modelos do Model Armor.

Criar um modelo do Model Armor

Console

  1. No console Google Cloud , acesse a página Model Armor.

    Acessar o Model Armor

  2. Verifique se você está visualizando o projeto em que ativou o Model Armor.

  3. Na página Model Armor, clique em Criar modelo. A página Criar modelo é exibida.

  4. Especifique o ID do modelo. O ID do modelo pode ter letras, dígitos ou hifens. Ele não pode exceder 63 caracteres e não pode ter espaços nem começar com um hífen.

  5. Selecione uma região para executar seus modelos do Model Armor. Não é possível mudar a região depois.

  6. Opcional: adicione rótulos. Rótulos são pares de chave-valor que você pode usar para agrupar modelos relacionados.

  7. Na seção Detecções, configure as seguintes opções:

    • Detecção de URL malicioso: identifica endereços da Web (URLs) criados para prejudicar usuários ou sistemas. Esses URLs podem levar a sites de phishing, downloads de malware ou outros ataques cibernéticos. Para mais informações, consulte Detecção de URL malicioso.

    • Detecção de jailbreak e injeção de comando: detecta conteúdo malicioso e tentativas de jailbreak em um comando. Para uma aplicação mais rigorosa, defina o nível de confiança como Baixo e acima para detectar a maior parte dos conteúdos que podem consistir em uma injeção de comando e tentativa de jailbreak. Para mais informações, consulte Detecção de jailbreak e injeção de comando.

    • Proteção de dados sensíveis: detecta dados sensíveis e ajuda a evitar a exposição acidental a ataques como injeção de comandos. Para mais informações, consulte Proteção de Dados Sensíveis.

      É possível definir a Proteção de Dados Sensíveis básica ou avançada.

      • Básico: use InfoTypes predefinidos para detectar tipos de dados sensíveis. Para mais informações sobre o infoType predefinido, consulte Configuração básica da Proteção de dados sensíveis.

      • Avançado: use um modelo de inspeção definido no serviço de Proteção de dados sensíveis como uma única fonte para InfoTypes de dados sensíveis.

        Se você selecionar a Proteção de dados sensíveis avançada, especifique os seguintes parâmetros:

        • Modelo de inspeção: modelos para salvar informações de configuração para jobs de verificação de inspeção, incluindo quais detectores predefinidos ou personalizados serão usados. Insira o nome do modelo no seguinte formato: projects/projectName/locations/locationID/inspectTemplates/templateName

        • Opcional: Modelo de desidentificação: modelos para salvar informações de configuração para jobs de desidentificação, incluindo transformações de infoType e de conjunto de dados estruturados. Insira um identificador para o modelo de desidentificação no seguinte formato: projects/projectName/locations/locationID/deidentifyTemplates/templateName

          Verifique se o modelo de inspeção e o modelo de desidentificação existem na Proteção de dados sensíveis. Se o modelo estiver em um projeto diferente, o agente de serviço do Model Armor precisará receber o papel de usuário da DLP (roles/dlp.user) e o papel de leitor da DLP (roles/dlp.reader) para esse projeto.

  8. Na seção IA responsável, é possível definir o nível de confiança para cada filtro de conteúdo. O nível de confiança representa a probabilidade de que as descobertas correspondam a um tipo de filtro de conteúdo. Os valores possíveis são:

    • Nenhum: não detecta nenhum tipo de conteúdo.
    • Baixa e acima: detecta conteúdo com nível de confiança baixo, médio ou alto.
    • Médio e acima: detecta conteúdo com nível de confiança médio ou alto.
    • Alto: detecta conteúdo com alto nível de confiança.

    Para uma aplicação mais rigorosa, defina o nível de confiança como Baixo e acima para detectar a maioria dos conteúdos que se enquadram em um tipo de filtro de conteúdo. Você também pode selecionar o nível de confiança para todos os tipos de conteúdo de uma vez.

  9. Clique em Criar.

gcloud

Execute este comando:

gcloud model-armor templates create TEMPLATE_ID --location LOCATION

Substitua:

  • LOCATION é o local do modelo.
  • TEMPLATE_ID é o ID do modelo.

Confira um exemplo com todos os filtros.

 gcloud model-armor templates create --location LOCATION TEMPLATE_ID 
--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=LOW_AND_ABOVE
--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

REST

Use esse comando para criar um modelo do 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"

Substitua:

  • FILTER_CONFIG é a configuração de filtro do modelo.
  • PROJECT_ID é o ID do projeto a que o modelo pertence.
  • TEMPLATE_ID é o ID do modelo a ser criado.
  • LOCATION é o local do modelo.

Siga estas etapas para conseguir o token.

O exemplo a seguir explica a configuração do modelo do Model Armor.

  1. Crie uma configuração (neste caso, FILTER_CONFIG) de quais filtros você quer que o modelo do Model Armor verifique e em qual nível de confiança, quando aplicável.
  2. Crie um modelo do Model Armor (neste caso, ma-template-id-1234) usando a configuração criada.

LOW_AND_ABOVE significa que qualquer conteúdo com probabilidade BAIXA, MÉDIA ou ALTA será sinalizado.

  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": "LOW_AND_ABOVE"
  },
  "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"

Para criar um modelo do Model Armor com a detecção de vários idiomas ativada, transmita o parâmetro TEMPLATE_CONFIG no comando. Esse parâmetro define a configuração das configurações de detecção de idioma.

Use este comando para criar um modelo do Model Armor com a detecção multilíngue ativada.

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"

O exemplo a seguir explica a configuração do modelo do Model Armor com a detecção multilíngue ativada.

  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": "LOW_AND_ABOVE"
  },
  "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"

Python

Para executar esse comando, primeiro inicialize um cliente do Model Armor em Python.

  request = modelarmor_v1.CreateTemplateRequest(
    parent="projects/PROJECT_ID/locations/LOCATION",
    template_id="TEMPLATE_ID",
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
      "filter_config": FILTER_CONFIG
    }
  )
  response = client.create_template(request=request)
 

Substitua:

  • FILTER_CONFIG é a configuração de filtro do modelo.
  • PROJECT_ID é o ID do projeto a que o modelo pertence.
  • TEMPLATE_ID é o ID do modelo a ser criado.
  • LOCATION é o local do modelo.

Para ativar o registro abrangente em um modelo, consulte Auditoria e registro da plataforma do Model Armor.

Ver um modelo do Model Armor

Console

  1. No console Google Cloud , acesse a página Model Armor.

    Acessar o Model Armor

  2. Verifique se você está visualizando o projeto em que ativou o Model Armor. A página Model Armor é exibida com os modelos criados para seu projeto.

  3. Clique em qualquer modelo da lista para conferir os detalhes.

gcloud

Execute este comando:

gcloud model-armor templates describe TEMPLATE_ID --location LOCATION

Substitua:

  • LOCATION é o local do modelo.
  • TEMPLATE_ID é o ID do modelo.

REST

Execute este comando:

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"

Substitua:

  • PROJECT_ID é o ID do projeto a que o modelo pertence.
  • TEMPLATE_ID é o ID do modelo a ser visualizado.
  • LOCATION é o local do modelo.

Python

Para executar esse comando, primeiro inicialize um cliente do Model Armor em Python.

  request = modelarmor_v1.GetTemplateRequest(
    name="projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
    )
  response = client.get_template(request=request)
 

Substitua:

  • PROJECT_ID é o ID do projeto a que o modelo pertence.
  • TEMPLATE_ID é o ID do modelo a ser visualizado.
  • LOCATION é o local do modelo.

Atualizar um modelo do Model Armor

Console

  1. No console Google Cloud , acesse a página Model Armor.

    Acessar o Model Armor

  2. Verifique se você está visualizando o projeto em que ativou o Model Armor. A página Model Armor é exibida com a lista de modelos criados para sua organização.

  3. Clique no modelo que você quer atualizar na lista. A página Detalhes do modelo é exibida.

  4. Clique em Editar.

  5. Atualize os parâmetros obrigatórios e clique em Salvar.

gcloud

Execute este comando:

gcloud model-armor templates update TEMPLATE_ID --location LOCATION

Substitua:

  • LOCATION é o local do modelo.
  • TEMPLATE_ID é o ID do modelo.

REST

Execute este comando:

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?update_mask=FILTER_CONFIG"

Substitua:

  • PROJECT_ID é o ID do projeto a que o modelo pertence.
  • LOCATION é o local do modelo.
  • TEMPLATE_ID é o ID do modelo.
  • FILTER_CONFIG é a representação JSON da configuração do filtro.

Todos os outros campos são imutáveis. As tentativas de atualizar outros campos (por exemplo, o nome do modelo) resultam em um erro.

Python

Para executar esse comando, primeiro inicialize um cliente do Model Armor em Python.

  request = modelarmor_v1.UpdateTemplateRequest(
    template={
      "name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
      "filter_config": FILTER_CONFIG
    }
  )
  response = client.update_template(request=request)
 

Substitua:

  • FILTER_CONFIG é a configuração de filtro do modelo.
  • PROJECT_ID é o ID do projeto a que o modelo pertence.
  • TEMPLATE_ID é o ID do modelo a ser atualizado.
  • LOCATION é o local do modelo.

Excluir um modelo do Model Armor

Console

  1. No console Google Cloud , acesse a página Model Armor.

    Acessar o Model Armor

  2. Verifique se você está visualizando o projeto em que ativou o Model Armor. A página Model Armor é exibida com a lista de modelos criados para sua organização.

  3. Clique no modelo que você quer excluir na lista. A página Detalhes do modelo é exibida.

  4. Clique em Excluir. Uma caixa de diálogo de confirmação é exibida.

  5. Insira o nome do modelo para confirmar a exclusão e clique em Excluir.

gcloud

Execute este comando:

gcloud model-armor templates delete TEMPLATE_ID --location LOCATION

Substitua:

  • LOCATION é o local do modelo.
  • TEMPLATE_ID é o ID do modelo.

REST

Execute este comando:

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"

Substitua:

  • PROJECT_ID é o ID do projeto a que o modelo pertence.
  • LOCATION é o local do modelo.
  • TEMPLATE_ID é o ID do modelo.

Python

Para executar esse comando, primeiro inicialize um cliente do Model Armor em Python.

  request = modelarmor_v1.DeleteTemplateRequest(
    name="projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
  )
  response = client.delete_template(request=request)
 

Substitua:

  • PROJECT_ID é o ID do projeto a que o modelo pertence.
  • TEMPLATE_ID é o ID do modelo a ser excluído.
  • LOCATION é o local do modelo.

Metadados de modelos

Os metadados do modelo do Model Armor ajudam a configurar o comportamento do Model Armor, incluindo o processamento de verificações de segurança, o tratamento de erros e o comportamento de geração de registros.

Os metadados do modelo do Model Armor incluem os seguintes campos:

Metadados Tipo Descrição
multi_language_detection Booleano Ativa a detecção de vários idiomas.
enforcement_type Enum

Define o tipo de aplicação. Use um dos seguintes valores:

  • INSPECT_ONLY: inspeciona solicitações que violam as configurações definidas, mas não as bloqueia.
  • INSPECT_AND_BLOCK: ele bloqueia solicitações que violam as configurações definidas.
log_template_operations Booleano Ativa a geração de registros de operações de modelo.
log_sanitize_operations Booleano Ativa o registro de operações de limpeza.

A seguir