Esta página descreve como limpar comandos e respostas em detalhes. O Model Armor oferece um conjunto de filtros para proteger seus aplicativos de IA. O Model Armor verifica comandos e respostas nos níveis de confiança de triagem configurados.
Antes de começar
Crie um modelo seguindo as instruções em Criar modelos.
Receber as permissões necessárias
Para receber as permissões necessárias para higienizar comandos e respostas, peça ao administrador para conceder a você os seguintes papéis do IAM no Model Armor:
-
Usuário do Model Armor (
roles/modelarmor.user
) -
Leitor do Model Armor (
roles/modelarmor.viewer
)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Ativar APIs
É necessário ativar as APIs do Model Armor antes de usar o Model Armor.
Console
Enable the Model Armor API.
Selecione o projeto em que você quer ativar o Model Armor.
gcloud
Antes de começar, siga estas etapas usando a Google Cloud CLI com a API Model Armor:
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Execute o seguinte comando para definir o endpoint de API para o serviço Model Armor.
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"
Substitua
LOCATION
pela região em que você quer usar o Model Armor.SDP_PROJECT_ID
: o ID do projeto a que o modelo avançado da Proteção de dados sensíveis pertence.PROJECT_NUMBER
: o número do projeto a que o modelo pertence.PROJECT_ID
: o ID do projeto para o modelo.LOCATION
: o local do modelo.TEMPLATE_ID
: o ID do modelo.PROJECT_ID
: o ID do projeto para o modelo.LOCATION
: o local do modelo.TEMPLATE_ID
: o ID do modelo.PROJECT_ID
: o ID do projeto a que o modelo pertence.LOCATION
: o local do modelo.TEMPLATE_ID
: o ID do modelo.FILE_TYPE
: o formato do arquivo de entrada.CREDIT_CARD_NUMBER
: um número de cartão de crédito tem de 12 a 19 dígitos. Ele é usado para transações de pagamento em todo o mundo.FINANCIAL_ACCOUNT_NUMBER
: um número referente a uma conta financeira específica, por exemplo, o número de uma conta bancária ou de uma conta de aposentadoria.GCP_CREDENTIALS
:credenciais da conta de serviço Google Cloud . Credenciais que podem ser usadas para autenticar com {api_client_lib_name} e contas de serviço.GCP_API_KEY
: Google Cloud chave de API. Uma string criptografada usada ao chamar APIs Google Cloud que não precisam acessar dados particulares do usuário.PASSWORD
: limpe senhas de texto em configurações, códigos e outros textos.US_SOCIAL_SECURITY_NUMBER
: O Número da Previdência Social (SSN, na sigla em inglês) dos Estados Unidos é um número de nove dígitos emitido para cidadãos, residentes permanentes e temporários. Este detector não fará a correspondência com números compostos apenas por zeros em qualquer grupo de dígitos (isto é, 000-##-####, ###-00-#### ou ###-##-0000), com 666 no primeiro grupo de dígitos ou que começam com 9.US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER
: um Número de Identificação do Contribuinte Individual (ITIN) dos Estados Unidos é um tipo de Número de Identificação Fiscal (TIN) emitido pelo Internal Revenue Service (IRS). O ITIN é um número de processamento fiscal disponível somente para determinados estrangeiros não residentes e residentes, seus cônjuges e dependentes que não podem ter um Número de Previdência Social (SSN).TEMPLATE_ID
: o ID do modelo.LOCATION
: o local do modelo.PROJECT_ID
: o ID do projeto a que o modelo pertence.LOCATION
: o local do modelo.TEMPLATE_ID
: o ID do modelo.PROJECT_ID
: o ID do projeto a que o modelo pertence.LOCATION
: o local do modelo.TEMPLATE_ID
: o ID do modelo.TEMPLATE_ID
: o ID do modelo.LOCATION
: o local do modelo.PROJECT_ID
: o ID do projeto a que o modelo pertence.LOCATION
: o local do modelo.TEMPLATE_ID
: o ID do modelo.PROJECT_ID
: o ID do projeto a que o modelo pertence.LOCATION
: o local do modelo.TEMPLATE_ID
: o ID do modelo.PROJECT_ID
: o ID do projeto a que o modelo pertence.LOCATION
: o local do modelo.TEMPLATE_ID
: o ID do modelo.Este exemplo retorna a seguinte resposta:
{ "sanitizationResult": { "filterMatchState": "MATCH_FOUND", "invocationResult": "SUCCESS", "filterResults": { "rai": { "raiFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "MATCH_FOUND", "raiFilterTypeResults": { "dangerous": { "confidenceLevel": "MEDIUM_AND_ABOVE", "matchState": "MATCH_FOUND" }, "sexually_explicit": { "matchState": "NO_MATCH_FOUND" }, "hate_speech": { "matchState": "NO_MATCH_FOUND" }, "harassment": { "matchState": "NO_MATCH_FOUND" } } } }, "pi_and_jailbreak": { "piAndJailbreakFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "csam": { "csamFilterFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "malicious_uris": { "maliciousUriFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, } } }
PROJECT_ID
: o ID do projeto a que o modelo pertence.LOCATION
: o local do modelo.TEMPLATE_ID
: o ID do modelo.- Saiba mais sobre o Model Armor.
- Saiba mais sobre as configurações mínimas do Model Armor.
- Saiba mais sobre os modelos do Model Armor.
- Resolver problemas do Model Armor.
Execute o comando a seguir para ativar o Model Armor.
gcloud services enable modelarmor.googleapis.com --project=PROJECT_ID
Substitua PROJECT_ID
pelo ID do projeto.
No projeto que contém o modelo da Proteção de dados sensíveis, conceda o papel de usuário da DLP (roles/dlp.user
) e o papel de leitor da DLP (roles/dlp.reader
) ao agente de serviço criado como parte da etapa de Proteção de dados sensíveis avançada de Criar modelos.
Pule esta etapa se o modelo da Proteção de dados sensíveis estiver no mesmo projeto que o modelo do Model Armor.
gcloud projects add-iam-policy-binding SDP_PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-modelarmor.iam.gserviceaccount.com --role=roles/dlp.user gcloud projects add-iam-policy-binding SDP_PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-modelarmor.iam.gserviceaccount.com --role=roles/dlp.reader
Substitua:
Limpar comandos
Higienize os comandos para evitar entradas maliciosas e garantir que comandos seguros e adequados sejam enviados aos LLMs.
Comandos de texto
O Model Armor higieniza comandos de texto analisando o texto e aplicando diferentes filtros para identificar e reduzir possíveis ameaças.
REST
Use o comando a seguir para limpar um comando de texto no Model Armor.
curl -X POST \
-d '{"userPromptData":{"text":"[UNSAFE TEXT]"}}' \
-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:sanitizeUserPrompt"
Substitua:
Isso resulta na seguinte resposta. Observe que MATCH_FOUND
está na categoria
"Conteúdo perigoso".
{ "sanitizationResult": { "filterMatchState": "MATCH_FOUND", "invocationResult": "SUCCESS", "filterResults": { "csam": { "csamFilterFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "malicious_uris": { "maliciousUriFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, "rai": { "raiFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "MATCH_FOUND", "raiFilterTypeResults": { "sexually_explicit": { "matchState": "NO_MATCH_FOUND" }, "hate_speech": { "matchState": "NO_MATCH_FOUND" }, "harassment": { "matchState": "NO_MATCH_FOUND" }, "dangerous": { "matchState": "MATCH_FOUND" } } } }, "pi_and_jailbreak": { "piAndJailbreakFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "MATCH_FOUND" } }, "sdp": { "sdpFilterResult": { "inspectResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } } } } } }
Go
Java
Node.js
PHP
Python
Para executar esse código, configure um ambiente de desenvolvimento Python e instale o SDK do Model Armor para Python.
Isso resulta na seguinte resposta.
sanitization_result { filter_match_state: MATCH_FOUND filter_results { key: "rai" value { rai_filter_result { execution_state: EXECUTION_SUCCESS match_state: MATCH_FOUND rai_filter_type_results { key: "dangerous" value { confidence_level: HIGH match_state: MATCH_FOUND } } } } } filter_results { key: "pi_and_jailbreak" value { pi_and_jailbreak_filter_result { execution_state: EXECUTION_SUCCESS match_state: MATCH_FOUND confidence_level: HIGH } } } filter_results { key: "malicious_uris" value { malicious_uri_filter_result { execution_state: EXECUTION_SUCCESS match_state: NO_MATCH_FOUND } } } filter_results { key: "csam" value { csam_filter_filter_result { execution_state: EXECUTION_SUCCESS match_state: NO_MATCH_FOUND } } } invocation_result: SUCCESS }
Remover informações sensíveis de comandos de texto com a detecção de vários idiomas ativada
Ative a detecção de vários idiomas por solicitação definindo a flag
enableMultiLanguageDetection
como true
para cada solicitação individual.
Se quiser, especifique o idioma de origem para ter resultados mais precisos. Se o idioma de origem não for especificado, ele será detectado automaticamente para oferecer suporte a vários idiomas.
Use o comando a seguir para limpar um comando de texto no Model Armor com a detecção multilíngue ativada no nível da solicitação.
curl -X POST \ -d '{"userPromptData":{"text":"[UNSAFE TEXT]"}, "multiLanguageDetectionMetadata": { "enableMultiLanguageDetection": true , "sourceLanguage": "jp"}}' \ -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:sanitizeUserPrompt"
Substitua:
Comandos baseados em arquivos
Para limpar um comando armazenado em um arquivo, forneça o conteúdo do arquivo no formato base64. O Model Armor não detecta automaticamente o tipo de arquivo. Você precisa definir explicitamente o campo byteDataType
para indicar o formato do arquivo. Se o campo estiver faltando ou não for especificado, a solicitação vai falhar. Os valores possíveis de byteDataType
são PLAINTEXT_UTF8
, PDF
, WORD_DOCUMENT
,
EXCEL_DOCUMENT
, POWERPOINT_DOCUMENT
, TXT
e CSV
.
REST
curl -X POST \ -d "$(jq -n \ --arg data "$(base64 -w 0 -i sample.pdf)" \ '{userPromptData: {byteItem: {byteDataType: "FILE_TYPE", byteData: $data}}}')" \ -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:sanitizeUserPrompt"
Substitua:
Go
Java
Node.js
PHP
Python
Para executar esse código, configure um ambiente de desenvolvimento Python e instale o SDK do Model Armor para Python.
Configuração básica da Proteção de Dados Sensíveis
O Model Armor se integra à Proteção de dados sensíveis para evitar a exposição acidental de informações particulares. Crie um modelo com as configurações básicas da proteção de dados sensíveis ativadas. A Proteção de Dados Sensíveis básica ajuda você a verificar um conjunto fixo de infoTypes da Proteção de Dados Sensíveis.
Os seguintes infoTypes da Proteção de dados sensíveis são verificados no comando para todas as regiões:
Os seguintes infoTypes adicionais da Proteção de Dados Sensíveis são verificados no comando para regiões dos EUA:
Confira um exemplo de configuração básica da Proteção de dados sensíveis:
gcloud
gcloud model-armor templates create TEMPLATE_ID \ --location=LOCATION \ --project=PROJECT_ID \ --basic-config-filter-enforcement=enabled
Substitua:
REST
export FILTER_CONFIG_SDP_BASIC='{ "filterConfig": { "sdpSettings": { "basicConfig": { "filterEnforcement": "ENABLED" } } } }' curl -X PATCH \ -d "$FILTER_CONFIG_SDP_BASIC" \ -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.sdpSettings.basicConfig.filterEnforcement"
Substitua:
Go
Java
Node.js
PHP
Python
Para executar esse código, configure um ambiente de desenvolvimento Python e instale o SDK do Model Armor para Python.
Use o modelo criado para analisar seus comandos. Veja um exemplo:
curl -X POST \ -d '{"userPromptData":{"text":"can you remember my ITIN : ###-##-####"}}' \ -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:sanitizeUserPrompt"
Substitua:
Este exemplo retorna a seguinte resposta:
{ "sanitizationResult": { "filterMatchState": "MATCH_FOUND", "invocationResult": "SUCCESS", "filterResults": [ { "csamFilterFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, { "sdpFilterResult": { "inspectResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "MATCH_FOUND", "findings": [ { "infoType": "US_INDIVIDUAL_TAXPAYER_IDENTIFICATION_NUMBER", "likelihood": "LIKELY", "location": { "byteRange": { "start": "26", "end": "37" }, "codepointRange": { "start": "26", "end": "37" } } } ] } } } ] } }
Configuração avançada da proteção de dados sensíveis
O Model Armor examina os comandos e as respostas do LLM usando a configuração avançada de proteção de dados sensíveis. Isso permite usar recursos da Proteção de Dados Sensíveis além dos infoTypes oferecidos na configuração básica da Proteção de Dados Sensíveis.
Para usar o filtro avançado da Proteção de Dados Sensíveis no Model Armor, os modelos da Proteção de Dados Sensíveis precisam estar no mesmo local da nuvem que o modelo do Model Armor.
gcloud
gcloud model-armor templates create TEMPLATE_ID \ --location=LOCATION \ --advanced-config-inspect-template="path/to/template" \
Substitua:
REST
export FILTER_CONFIG_SDP_ADV='{ "filterConfig": { "sdpSettings": { "advancedConfig": { "deidentifyTemplate": "projects/PROJECT_ID/locations/LOCATION/deidentifyTemplates/deidentify-ip-address", "inspectTemplate": "projects/PROJECT_ID/locations/LOCATION/inspectTemplates/inspect-ip-address" } } } }' curl -X POST \ -d "$FILTER_CONFIG_SDP_ADV" \ -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.sdpSettings.advancedConfig"
Substitua:
Este exemplo retorna a seguinte resposta:
{ "name": "projects/PROJECT_ID/locations/LOCATION/templates/all-filters-test", "createTime": "2024-12-16T17:08:19.626693819Z", "updateTime": "2024-12-16T17:08:19.626693819Z", "filterConfig": { "sdpSettings": { "advancedConfig": { "deidentifyTemplate": "projects/PROJECT_ID/locations/LOCATION/deidentifyTemplates/deidentify-ip-address", "inspectTemplate": "projects/PROJECT_ID/locations/LOCATION/inspectTemplates/inspect-ip-address" } } } }
Go
Java
Node.js
PHP
Python
Para executar esse código, configure um ambiente de desenvolvimento Python e instale o SDK do Model Armor para Python.
Use o modelo criado para analisar seus comandos. Veja um exemplo:
curl -X POST \ -d '{"userPromptData":{"text":"is there anything malicious running on 1.1.1.1?"}}' \ -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:sanitizeUserPrompt"
Substitua:
Este exemplo retorna a seguinte resposta:
{ "sanitizationResult": { "filterMatchState": "MATCH_FOUND", "invocationResult": "SUCCESS", "filterResults": [ { "csamFilterFilterResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "NO_MATCH_FOUND" } }, { "sdpFilterResult": { "deidentifyResult": { "executionState": "EXECUTION_SUCCESS", "matchState": "MATCH_FOUND", "data": { "text": "is there anything malicious running on [IP_ADDRESS]?" }, "transformedBytes": "7", "infoTypes": ["IP_ADDRESS"] } } } ] } }
Higienizar a resposta do modelo
Às vezes, os LLMs podem gerar respostas prejudiciais. Para reduzir os riscos associados ao uso de LLMs nos seus aplicativos, é importante higienizar as respostas deles.
Confira um exemplo de comando para higienizar uma resposta do modelo no Model Armor.
REST
curl -X POST \
-d '{"text":"IP address of the current network is ##.##.##.##"}' \
-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:sanitizeModelResponse"
Substitua:
Go
Java
Node.js
PHP
Python
Para executar esse código, configure um ambiente de desenvolvimento Python e instale o SDK do Model Armor para Python.
Limpar a resposta do modelo com a detecção multilíngue ativada
Ative a detecção de vários idiomas por solicitação definindo a flag
enableMultiLanguageDetection
como true
para cada resposta individual.
Se quiser, especifique o idioma de origem para ter resultados mais precisos. Se o idioma de origem não for especificado, ele será detectado automaticamente para oferecer suporte a vários idiomas.
curl -X POST \ -d '{"userPromptData":{"text":"[UNSAFE TEXT]"}, "multiLanguageDetectionMetadata": { "enableMultiLanguageDetection": true , "sourceLanguage": "jp"}}' \ -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:sanitizeModelResponse"
Substitua:
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-19 UTC.