Pontuação de confiança do atributo de segurança
O conteúdo processado pela API Vertex AI Gemini é avaliado com base em uma lista de atributos de segurança, que incluem "categorias prejudiciais" e tópicos que podem ser considerados sensíveis. Esses atributos de segurança são indicados na seguinte tabela:
Pontuação do atributo de segurança
Atributo de segurança | Definição |
---|---|
Discurso de ódio | Comentários negativos ou nocivos voltados à identidade e/ou atributos protegidos. |
Assédio | Comentários maliciosos, intimidadores, abusivos ou violentos direcionados a outra pessoa. |
Sexualmente explícito | Contém referências a atos sexuais ou outro conteúdo sexual. |
Conteúdo perigoso | Promove ou permite o acesso a produtos, serviços e atividades prejudiciais. |
Probabilidades de atributos de segurança
Cada atributo de segurança tem uma pontuação de confiança associada de 0,0 a 1,0, arredondada para uma casa decimal. A pontuação de confiança reflete a probabilidade da entrada ou resposta pertencer a uma determinada categoria.
A pontuação de confiança na tabela a seguir é retornada com um nível de confiança de segurança:
Probabilidade | Descrição |
---|---|
INSIGNIFICANTE | O conteúdo tem uma probabilidade mínima de não ser seguro. |
LOW | O conteúdo tem uma probabilidade baixa de não ser seguro. |
MÉDIO | O conteúdo tem uma probabilidade média de não ser seguro. |
HIGH | O conteúdo tem alta probabilidade de não ser seguro. |
Gravidade do atributo de segurança
Cada um dos quatro atributos de segurança recebe uma classificação de segurança (nível de gravidade) e uma pontuação de gravidade de 0,0 a 1,0, arredondada para uma casa decimal. As classificações e pontuações na tabela a seguir refletem a gravidade prevista do conteúdo em uma determinada categoria:
Gravidade | Descrição |
---|---|
INSIGNIFICANTE | A gravidade do conteúdo é prevista como insignificante com relação à política de segurança do Google. |
LOW | A gravidade do conteúdo é prevista como baixa de acordo com a política de segurança do Google. |
MÉDIO | A gravidade do conteúdo é considerada média com relação à política de segurança do Google. |
HIGH | A gravidade do conteúdo é prevista como alta de acordo com a política de segurança do Google. |
Pontuações de probabilidade em comparação com as pontuações de gravidade
Há dois tipos de pontuações de segurança:
- Pontuações de segurança com base na probabilidade de não ser segura
- Pontuações de segurança com base na gravidade de conteúdo nocivo
O atributo de segurança probability reflete a probabilidade de uma entrada ou resposta de modelo ser associada ao respectivo atributo de segurança. O atributo de segurança severity reflete a magnitude de quão prejudicial uma entrada ou resposta de modelo pode ser.
O conteúdo pode ter uma pontuação de probabilidade baixa e uma pontuação de gravidade alta ou uma pontuação de probabilidade alta e uma pontuação de gravidade baixa. Por exemplo, considere as duas frases a seguir:
- O robô me bateu.
- O robô me cortou.
A primeira frase pode aumentar a probabilidade de não ser segura, e a segunda, mais gravidade em termos de violência. Por isso, é importante testar cuidadosamente e considerar o nível apropriado de bloqueio necessário para oferecer suporte aos seus principais casos de uso e minimizar os danos aos usuários finais.
Configurações de segurança
As configurações de segurança fazem parte da solicitação que você envia ao serviço de API. Elas podem ser ajustadas para cada solicitação feita à API. A tabela a seguir descreve as configurações de bloqueio que você pode ajustar em cada categoria. Por exemplo, se você definir a configuração de bloqueio como Bloquear poucos itens na categoria "Conteúdos perigosos", tudo com alta probabilidade de ser um conteúdo perigoso será bloqueado. No entanto, qualquer item com menor probabilidade de risco é permitido. Se não for definida, a configuração de bloqueio padrão será Bloquear alguns itens.
Limite (Studio) | Limite (API) | Limite (descrição) |
---|---|---|
BLOCK_NONE (Restrito) | Sempre mostrar, seja qual for a probabilidade do conteúdo não ser seguro. | |
Bloquear poucos | BLOCK_ONLY_HIGH | Bloquear quando houver alta probabilidade do conteúdo não ser seguro. |
Bloquear alguns (padrão) | BLOCK_MEDIUM_AND_ABOVE (padrão) | Bloquear quando houver probabilidade média ou alta do conteúdo não ser seguro. |
Bloquear muitos | BLOCK_LOW_AND_ABOVE | Bloquear quando houver probabilidade média ou alta do conteúdo não ser seguro. |
HARM_BLOCK_THRESHOLD_UNSPECIFIED | Como o limite não foi especificado, o bloqueio está usando o limite padrão. |
Você pode mudar essas configurações em cada solicitação que fizer ao serviço de mensagens de texto. Confira mais detalhes na referência da API HarmBlockThreshold.
Como remover o bloqueio de respostas automáticas para atributos de segurança selecionados
A configuração de segurança "BLOCK_NONE" remove o bloqueio de respostas automáticas (para os atributos de segurança descritos em "Configurações de segurança") e permite que você defina suas próprias diretrizes de segurança com as pontuações retornadas. Para acessar a configuração "BLOCK_NONE", você tem duas opções:
(1) Você pode se inscrever na lista de permissões usando o formulário de lista de permissões de filtro de segurança do Gemini.
(2) É possível mudar o tipo de conta para faturamento mensal com a referência de cobrança por fatura do GCP.
Principais diferenças entre o Gemini e outras famílias de modelos
Embora os mesmos classificadores de segurança sejam aplicados ao Gemini e ao PaLM, o número de atributos de segurança retornados na API pode variar em diferentes famílias de modelos. A lógica de bloqueio (ou seja, limite de confiança) é baseada em avaliações rigorosas de cada modelo. Por isso, uma configuração de segurança aplicada a um modelo pode não corresponder perfeitamente ao comportamento de uma configuração de segurança aplicada a outro modelo. Se isso for uma preocupação, recomendamos que você configure sua própria lógica de bloqueio com pontuações de gravidade brutas e de confiança brutas, aplicando os mesmos limites de pontuação em todos os modelos.
Configurar limites
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Antes de testar essa amostra, siga as instruções de configuração para Java Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Antes de testar essa amostra, siga as instruções de configuração para Go Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Go.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Antes de testar essa amostra, siga as instruções de configuração para C# Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para C#.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: a região para processar a solicitação. As opções
disponíveis incluem:
Clique para expandir as regiões disponíveis
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
- PROJECT_ID: o ID do projeto.
- MODEL_ID: o ID do modelo multimodal
que você quer usar. As opções são:
gemini-1.0-pro
gemini-1.0-pro-vision
- ROLE:
o papel em uma conversa associada ao conteúdo. É necessário especificar um papel mesmo em
casos de uso de turno único.
Os valores aceitáveis são os seguintes:
USER
: especifica o conteúdo que é enviado por você.MODEL
: especifica a resposta do modelo.
- TEXT: as instruções de texto a serem incluídas no comando.
- SAFETY_CATEGORY:
a categoria de segurança para a qual configurar um limite. Os valores aceitáveis são os seguintes:
Clique para expandir as categorias de segurança
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD: o limite de bloqueio de respostas que podem pertencer à categoria de segurança especificada com base na probabilidade. Os valores aceitáveis são os seguintes:
Clique para expandir os limites de bloqueio
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(padrão)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
bloqueia mais, eBLOCK_ONLY_HIGH
bloqueia a menor.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
Corpo JSON da solicitação:
{ "contents": { "role": "ROLE", "parts": { "text": "TEXT" } }, "safety_settings": { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" }, }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte.
Exemplo de comando curl
LOCATION="us-central1"
MODEL_ID="gemini-1.0-pro"
PROJECT_ID="test-project"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:streamGenerateContent -d \
$'{
"contents": {
"role": "user",
"parts": { "text": "Hello!" }
},
"safety_settings": [
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_LOW_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_MEDIUM_AND_ABOVE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_ONLY_HIGH"
}
]
}'
Console
Na seção "Vertex AI" do console do Google Cloud, acesse a página do Vertex AI Studio.
Em Criar um novo comando, clique em qualquer um dos botões para abrir a página de criação de comandos.
Clique em Configurações de segurança.
A caixa de diálogo Configurações de segurança é aberta.
Para cada atributo de segurança, configure o valor limite desejado.
Clique em Save.
A seguir
- Saiba mais sobre a IA responsável.
- Saiba mais sobre governança de dados.