O Model Armor pode ser integrado diretamente à Vertex AI usando configurações de limite mínimo ou modelos. Ao integrar o Model Armor à
Vertex AI, você pode examinar as solicitações enviadas aos modelos do
Gemini e as respostas deles, além de inspecionar ou bloquear solicitações ou respostas se elas violarem
os limites das configurações mínimas. O Model Armor oferece proteção de comandos e respostas na API Gemini na Vertex AI para o método generateContent
.
É necessário ativar o Cloud Logging para ter visibilidade dos resultados da higienização de comandos e respostas. Os locais compatíveis com essa integração são us-central1
, us-east4
, us-west1
e europe-west4
. Durante a prévia, não há custo para usar essa integração. Para informações sobre preços, consulte
Preços do Model Armor.
Antes de começar
Conceda à conta de serviço da Vertex AI a permissão de usuário do Model Armor.
gcloud projects add-iam-policy-binding PROJECT_ID --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com' --role='roles/modelarmor.user'
Substitua:
PROJECT_ID
: o ID do projeto do Google Cloud .PROJECT_NUMBER
: o número do projeto Google Cloud .
Definir configurações mínimas
Você usa as configurações mínimas para configurar os limites básicos de detecção dos modelos do Model Armor. Essas configurações verificam se todos os modelos novos e modificados atendem aos requisitos da política de preço mínimo.
Antes de configurar os valores mínimos, considere o seguinte:
- As configurações mínimas podem ser definidas no nível da organização, da pasta e do projeto. A interface do usuário está disponível apenas para as configurações de piso no nível do projeto. Para definir as configurações de mínimo no nível da organização ou da pasta, use a API.
- A interface do usuário está disponível apenas no nível do projeto e permite herdar as configurações da organização ou da pasta.
Para configurar as opções de limite mínimo, consulte Definir configurações mínimas.
Para configurar as opções de piso com a integração da Vertex AI, execute o seguinte comando:
curl -X PATCH \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -d '{"filterConfig" : {}, "integratedServices": "AI_PLATFORM", "aiPlatformFloorSetting":{"inspect_only":true, "enableCloudLogging":true}}' \ "https://modelarmor.googleapis.com/v1/projects/PROJECT_ID/locations/global/floorSetting"
Substitua PROJECT_ID
pelo ID do projeto das
configurações de planta.
Depois de configurar as opções de restrição para ativar a limpeza da Vertex AI, o Model Armor limpa todas as chamadas da API generateContent
para os endpoints do Gemini do projeto usando as configurações de filtro especificadas.
O exemplo de código a seguir mostra como usar o método generateContent
.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-2.0-flash-001:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 } }'
Substitua:
PROJECT_ID
: o ID do projeto do Google Cloud .LOCATION
: o Google Cloud local do endpoint do Gemini. Para locais compatíveis, consulte Locais da API Model Armor.
O exemplo de código a seguir mostra a resposta do método generateContent
.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.0-flash-001", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }
Configurar modelos do Model Armor
O Model Armor também pode ser integrado à Vertex AI usando modelos do Model Armor. Com os modelos, você configura como o Model Armor examina comandos e respostas e define as configurações do filtro de segurança.
Primeiro, crie modelos e depois use-os com o método generateContent
do Gemini. Para mais informações sobre modelos, consulte Criar e gerenciar modelos do Model Armor.
Depois de configurar o modelo do Model Armor, transmita o ID dele como um
parâmetro ao fazer uma chamada para a API Gemini usando o método generateContent
. A Vertex AI vai encaminhar a solicitação para o Model Armor para
processamento.
O exemplo de código a seguir mostra a solicitação para o método generateContent
.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/gemini-2.0-flash-001:generateContent" -d '{ "contents": [ { "role": "user", "parts": [ { "text": "" } ] } ] , "generationConfig": { "responseModalities": ["TEXT"] ,"temperature": 0.2 ,"maxOutputTokens": 1024 ,"topP": 0.8 }, "model_armor_config": { "prompt_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID", "response_template_name": "projects/PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID" } }'
Substitua:
PROJECT_ID
: o ID do projeto do Google Cloud .LOCATION
: o Google Cloud local do endpoint do Gemini. Os locais compatíveis sãous-central1
,us-east4
,us-west1
eeurope-west4
.TEMPLATE_ID
: ID do modelo do Model Armor.
O exemplo de código a seguir mostra a resposta do método generateContent
.
{ "promptFeedback": { "blockReason": "MODEL_ARMOR", "blockReasonMessage": "Blocked by Floor Setting. The prompt violated Responsible AI Safety settings (Harassment, Dangerous), Prompt Injection and Jailbreak filters." }, "usageMetadata": { "trafficType": "ON_DEMAND" }, "modelVersion": "gemini-2.0-flash-001", "createTime": "2025-03-26T13:14:36.961184Z", "responseId": "vP3jZ6DVOqLKnvgPqZL-8Ao" }