Ferramenta: create_guardrail
Cria uma nova proteção no app especificado.
O exemplo de código abaixo mostra como usar curl para chamar a ferramenta MCP create_guardrail.
| Solicitação curl |
|---|
curl --location 'https://ces.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "create_guardrail", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Mensagem de solicitação para AgentService.CreateGuardrail.
CreateGuardrailRequest
| Representação JSON |
|---|
{
"parent": string,
"guardrailId": string,
"guardrail": {
object ( |
| Campos | |
|---|---|
parent |
Obrigatório. O nome do recurso do app em que a proteção será criada. |
guardrailId |
Opcional. O ID a ser usado na proteção, que se tornará o componente final do nome do recurso da proteção. Se não for fornecido, um ID exclusivo será atribuído automaticamente à proteção. |
guardrail |
Obrigatório. A proteção a ser criada. |
Proteção
| Representação JSON |
|---|
{ "name": string, "displayName": string, "description": string, "enabled": boolean, "action": { object ( |
| Campos | |
|---|---|
name |
Identificador. O identificador exclusivo da proteção. Formato: |
displayName |
Obrigatório. Nome de exibição da proteção. |
description |
Opcional. Descrição da proteção. |
enabled |
Opcional. Se a proteção está ativada. |
action |
Opcional. Ação a ser tomada quando a proteção for acionada. |
createTime |
Apenas saída. Carimbo de data/hora de quando a barreira de proteção foi criada. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
updateTime |
Apenas saída. Carimbo de data/hora de quando a proteção foi atualizada pela última vez. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
etag |
Etag usada para garantir que o objeto não tenha sido alterado durante uma operação de leitura-modificação-gravação. Se a etag estiver vazia, a atualização vai substituir todas as mudanças simultâneas. |
Campo de união guardrail_type. Tipo de barreira de proteção. guardrail_type pode ser apenas de um dos tipos a seguir: |
|
contentFilter |
Opcional. Proteção que proíbe o uso de determinados conteúdos na conversa. |
llmPromptSecurity |
Opcional. Proteção que bloqueia a conversa se o comando for considerado inseguro com base na classificação do LLM. |
llmPolicy |
Opcional. Proteção que bloqueia a conversa se a resposta do LLM for considerada uma violação da política com base na classificação do LLM. |
modelSafety |
Opcional. Proteção que bloqueia a conversa se a resposta do LLM for considerada insegura com base nas configurações de segurança do modelo. |
codeCallback |
Opcional. Proteção que pode bloquear a conversa com base no resultado da execução do callback. |
supervisor |
Opcional. Proteção que executa a intervenção do supervisor. |
ContentFilter
| Representação JSON |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| Campos | |
|---|---|
bannedContents[] |
Opcional. Lista de frases proibidas. Aplica-se às entradas do usuário e às respostas do agente. |
bannedContentsInUserInput[] |
Opcional. Lista de frases proibidas. Aplica-se apenas às entradas do usuário. |
bannedContentsInAgentResponse[] |
Opcional. Lista de frases proibidas. Aplica-se apenas às respostas do agente. |
matchType |
Obrigatório. Tipo de correspondência para o filtro de conteúdo. |
disregardDiacritics |
Opcional. Se for verdadeiro, os diacríticos serão ignorados durante a correspondência. |
sensitiveWordsExemptions[] |
Opcional. Entradas da lista de palavras sensíveis que essa proteção permite. Válido apenas quando match_type é SENSITIVE_WORDS. Cada valor precisa ser igual a uma entrada da lista (não diferencia maiúsculas de minúsculas, espaços em branco ao redor são ignorados). Outros valores não têm efeito. Aplica-se apenas a esta proteção. No máximo 1.000 entradas de até 256 caracteres cada. |
LlmPromptSecurity
| Representação JSON |
|---|
{ "failOpen": boolean, // Union field |
| Campos | |
|---|---|
failOpen |
Opcional. Determina o comportamento quando a proteção encontra um erro de LLM. - Se for verdadeiro: a proteção é ignorada. - Se for falso (padrão): a proteção é acionada/bloqueada. Observação: se uma política personalizada for fornecida, esse campo será ignorado em favor da configuração "fail_open" da política. |
Campo de união security_config. Define o modo de configuração de segurança. O usuário precisa escolher uma das seguintes configurações. security_config pode ser apenas de um dos tipos a seguir: |
|
defaultSettings |
Opcional. Use as configurações de segurança padrão predefinidas do sistema. Para selecionar esse modo, inclua uma mensagem "default_settings" vazia na solicitação. O campo "default_prompt_template" será preenchido pelo servidor na resposta. |
customPolicy |
Opcional. Use uma LlmPolicy definida pelo usuário para configurar a proteção de segurança. |
DefaultSecuritySettings
| Representação JSON |
|---|
{ "defaultPromptTemplate": string } |
| Campos | |
|---|---|
defaultPromptTemplate |
Apenas saída. O modelo de comando padrão usado pelo sistema. Este campo serve para mostrar ao usuário qual comando o sistema usa por padrão. É OUTPUT_ONLY. |
LlmPolicy
| Representação JSON |
|---|
{ "maxConversationMessages": integer, "modelSettings": { object ( |
| Campos | |
|---|---|
maxConversationMessages |
Opcional. Ao verificar essa política, considere as últimas "n" mensagens na conversa. Quando não definido, um valor padrão de 10 será usado. |
modelSettings |
Opcional. Configurações do modelo. |
prompt |
Obrigatório. Comando de política. Oferece suporte a marcadores de posição de variáveis de sessão ( |
policyScope |
Obrigatório. Define quando aplicar a verificação de política durante a conversa. Se definida como |
failOpen |
Opcional. Se ocorrer um erro durante a verificação da política, falhe em aberto e não acione a proteção. |
allowShortUtterance |
Opcional. Por padrão, a verificação da política de LLM é ignorada para enunciados curtos. Ativar essa configuração aplica a verificação de política a todas as falas, incluindo aquelas que normalmente seriam ignoradas. |
ModelSettings
| Representação JSON |
|---|
{ "model": string, "thinkingLevel": enum ( |
| Campos | |
|---|---|
model |
Opcional. O modelo de LLM que o agente deve usar. Se não for definido, o agente vai herdar o modelo do agente pai. |
thinkingLevel |
Opcional. O nível de raciocínio do modelo. |
Campo de união
|
|
temperature |
Opcional. Se definida, essa temperatura será usada para o modelo de LLM. A temperatura controla a aleatoriedade das respostas do modelo. Temperaturas mais baixas produzem respostas mais previsíveis. Temperaturas mais altas produzem respostas mais criativas. |
ModelSafety
| Representação JSON |
|---|
{
"safetySettings": [
{
object ( |
| Campos | |
|---|---|
safetySettings[] |
Obrigatório. Lista de configurações de segurança. |
SafetySetting
| Representação JSON |
|---|
{ "category": enum ( |
| Campos | |
|---|---|
category |
Obrigatório. A categoria de dano. |
threshold |
Obrigatório. O limite do bloqueio de danos. |
CodeCallback
| Representação JSON |
|---|
{ "beforeAgentCallback": { object ( |
| Campos | |
|---|---|
beforeAgentCallback |
Opcional. O callback a ser executado antes que o agente seja chamado. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - 'decision': 'OK' ou 'TRIGGER'. - 'reason': uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento. |
afterAgentCallback |
Opcional. O callback a ser executado depois que o agente é chamado. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - 'decision': 'OK' ou 'TRIGGER'. - 'reason': uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento. |
beforeModelCallback |
Opcional. O callback a ser executado antes que o modelo seja chamado. Se houver várias chamadas para o modelo, o callback será executado várias vezes. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - 'decision': 'OK' ou 'TRIGGER'. - 'reason': uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento. |
afterModelCallback |
Opcional. O callback a ser executado depois que o modelo é chamado. Se houver várias chamadas para o modelo, o callback será executado várias vezes. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - 'decision': 'OK' ou 'TRIGGER'. - 'reason': uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento. |
Callback
| Representação JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| Campos | |
|---|---|
description |
Opcional. Descrição legível por humanos do callback. |
disabled |
Opcional. Se o callback está desativado. Os callbacks desativados são ignorados pelo agente. |
proactiveExecutionEnabled |
Opcional. Se ativado, o callback também será executado em saídas de modelo intermediárias. Essa configuração afeta apenas a chamada de retorno "After model". ATIVE COM CUIDADO. Normalmente, a chamada de retorno after_model_callback só precisa ser executada depois de receber todas as respostas do modelo. A ativação da execução proativa pode ter implicações negativas no custo e na latência da execução e só deve ser ativada em situações raras. |
Campo de união callback. O callback a ser executado. callback pode ser apenas de um dos tipos a seguir: |
|
pythonCode |
Obrigatório. O código Python a ser executado para o callback. |
Supervisor
| Representação JSON |
|---|
{ "type": enum ( |
| Campos | |
|---|---|
type |
Opcional. O tipo do supervisor. |
detectionMode |
Opcional. O modo de detecção do supervisor. |
TriggerAction
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união action. A ação a ser tomada. action pode ser apenas de um dos tipos a seguir: |
|
respondImmediately |
Opcional. Responda imediatamente com uma resposta pré-configurada. |
transferAgent |
Opcional. Transferir a conversa para outro agente. |
generativeAnswer |
Opcional. Responder com uma resposta generativa. |
RespondImmediately
| Representação JSON |
|---|
{
"responses": [
{
object ( |
| Campos | |
|---|---|
responses[] |
Obrigatório. As respostas automáticas que o agente pode escolher. A resposta é escolhida aleatoriamente. |
Resposta
| Representação JSON |
|---|
{ "text": string, "disabled": boolean } |
| Campos | |
|---|---|
text |
Obrigatório. Texto para o agente responder. |
disabled |
Opcional. Indica se a resposta está desativada. As respostas desativadas não são usadas pelo agente. |
TransferAgent
| Representação JSON |
|---|
{ "agent": string } |
| Campos | |
|---|---|
agent |
Obrigatório. O nome do agente para quem a conversa será transferida. O agente precisa estar no mesmo app que o agente atual. Formato: |
GenerativeAnswer
| Representação JSON |
|---|
{ "prompt": string } |
| Campos | |
|---|---|
prompt |
Obrigatório. O comando a ser usado para a resposta generativa. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799, inclusive (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999. |
MatchType
Tipo de correspondência para o filtro de conteúdo.
| Tipos enumerados | |
|---|---|
MATCH_TYPE_UNSPECIFIED |
O tipo de correspondência não foi especificado. |
SIMPLE_STRING_MATCH |
O conteúdo é correspondido por substrings caractere por caractere. |
WORD_BOUNDARY_STRING_MATCH |
O conteúdo só será correspondente se o padrão encontrado no texto estiver cercado por delimitadores de palavras. As frases proibidas também podem conter delimitadores de palavras. |
REGEXP_MATCH |
A correspondência do conteúdo é feita usando a sintaxe de expressão regular. |
SENSITIVE_WORDS |
O conteúdo é comparado com uma lista de palavras e frases sensíveis gerenciada pelo sistema. Anexar uma proteção com esse tipo de correspondência a um app ou agente substitui o filtro padrão de palavras sensíveis para os agentes afetados. Desative a proteção para desativar o filtro padrão. |
ThinkingLevel
Configuração do nível de raciocínio do modelo.
| Tipos enumerados | |
|---|---|
THINKING_LEVEL_UNSPECIFIED |
O nível de pensamento não foi especificado. |
DEFAULT |
Nível de raciocínio padrão. |
LOW |
Nível de raciocínio baixo. |
MEDIUM |
Nível de raciocínio médio. |
HIGH |
Nível de raciocínio alto. |
PolicyScope
Define quando aplicar a verificação de política durante a conversa.
| Tipos enumerados | |
|---|---|
POLICY_SCOPE_UNSPECIFIED |
O escopo da política não foi especificado. |
USER_QUERY |
A verificação de política é acionada na entrada do usuário. |
AGENT_RESPONSE |
A verificação de política é acionada na resposta do agente. A aplicação desse escopo de política vai introduzir uma latência adicional antes que o agente possa responder. |
USER_QUERY_AND_AGENT_RESPONSE |
A verificação de política é acionada tanto na entrada do usuário quanto na resposta do agente. A aplicação desse escopo de política vai introduzir uma latência adicional antes que o agente possa responder. |
HarmCategory
Categoria de dano.
| Tipos enumerados | |
|---|---|
HARM_CATEGORY_UNSPECIFIED |
A categoria de danos não foi especificada. |
HARM_CATEGORY_HATE_SPEECH |
A categoria de danos é discurso de ódio. |
HARM_CATEGORY_DANGEROUS_CONTENT |
A categoria de danos é um conteúdo perigoso. |
HARM_CATEGORY_HARASSMENT |
A categoria de dano é assédio. |
HARM_CATEGORY_SEXUALLY_EXPLICIT |
A categoria de dano é conteúdo sexualmente explícito. |
HARM_CATEGORY_PROFANITY |
A categoria de dano é linguagem obscena. |
HARM_CATEGORY_TOXIC |
A categoria de dano é tóxica. |
HarmBlockThreshold
Níveis de limites baseados em probabilidade para bloqueio.
| Tipos enumerados | |
|---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED |
Limite de bloqueio de danos não especificado. |
BLOCK_LOW_AND_ABOVE |
Bloquear o limite inferior e superior (ou seja, bloquear mais). |
BLOCK_MEDIUM_AND_ABOVE |
Bloquear o limite médio e acima. |
BLOCK_ONLY_HIGH |
Bloquear apenas o limite superior (ou seja, bloquear menos). |
BLOCK_NONE |
Bloquear nenhum |
OFF |
Desative o filtro de segurança. |
Tipo
Tipo de supervisor.
| Tipos enumerados | |
|---|---|
TYPE_UNSPECIFIED |
Tipo não especificado. |
INVALID_TEXT |
Tipo de problema de texto inválido. |
LANGUAGE_SHIFT |
Tipo de problema de mudança de idioma. |
SPEAKER_SHIFT |
Tipo de problema de mudança de locutor. |
AUDIO_MISMATCH |
Tipo de problema de incompatibilidade de áudio. |
MISSING_TOOL_CALL |
Tipo de problema de chamada de ferramenta ausente. |
CUSTOM |
Tipo de problema personalizado. |
CHOPPY_AUDIO |
Tipo de problema de áudio entrecortado. |
PROFANITY |
Tipo de problema de linguagem obscena do agente. |
DetectionMode
Modo de detecção do supervisor.
| Tipos enumerados | |
|---|---|
DETECTION_MODE_UNSPECIFIED |
O modo de detecção não foi especificado. O padrão é NON_BLOCKING. |
NON_BLOCKING |
Modo de detecção sem bloqueio. A resposta não é bloqueada quando a detecção do supervisor está em andamento. |
BLOCKING |
Modo de detecção de bloqueio. A resposta é bloqueada quando a detecção do supervisor está em andamento. |
Esquema de saída
A barreira de proteção contém uma lista de verificações e controles para manter os agentes seguros.
Proteção
| Representação JSON |
|---|
{ "name": string, "displayName": string, "description": string, "enabled": boolean, "action": { object ( |
| Campos | |
|---|---|
name |
Identificador. O identificador exclusivo da proteção. Formato: |
displayName |
Obrigatório. Nome de exibição da proteção. |
description |
Opcional. Descrição da proteção. |
enabled |
Opcional. Se a proteção está ativada. |
action |
Opcional. Ação a ser tomada quando a proteção for acionada. |
createTime |
Apenas saída. Carimbo de data/hora de quando a barreira de proteção foi criada. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
updateTime |
Apenas saída. Carimbo de data/hora de quando a proteção foi atualizada pela última vez. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
etag |
Etag usada para garantir que o objeto não tenha sido alterado durante uma operação de leitura-modificação-gravação. Se a etag estiver vazia, a atualização vai substituir todas as mudanças simultâneas. |
Campo de união guardrail_type. Tipo de barreira de proteção. guardrail_type pode ser apenas de um dos tipos a seguir: |
|
contentFilter |
Opcional. Proteção que proíbe o uso de determinados conteúdos na conversa. |
llmPromptSecurity |
Opcional. Proteção que bloqueia a conversa se o comando for considerado inseguro com base na classificação do LLM. |
llmPolicy |
Opcional. Proteção que bloqueia a conversa se a resposta do LLM for considerada uma violação da política com base na classificação do LLM. |
modelSafety |
Opcional. Proteção que bloqueia a conversa se a resposta do LLM for considerada insegura com base nas configurações de segurança do modelo. |
codeCallback |
Opcional. Proteção que pode bloquear a conversa com base no resultado da execução do callback. |
supervisor |
Opcional. Proteção que executa a intervenção do supervisor. |
ContentFilter
| Representação JSON |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| Campos | |
|---|---|
bannedContents[] |
Opcional. Lista de frases proibidas. Aplica-se às entradas do usuário e às respostas do agente. |
bannedContentsInUserInput[] |
Opcional. Lista de frases proibidas. Aplica-se apenas às entradas do usuário. |
bannedContentsInAgentResponse[] |
Opcional. Lista de frases proibidas. Aplica-se apenas às respostas do agente. |
matchType |
Obrigatório. Tipo de correspondência para o filtro de conteúdo. |
disregardDiacritics |
Opcional. Se for verdadeiro, os diacríticos serão ignorados durante a correspondência. |
sensitiveWordsExemptions[] |
Opcional. Entradas da lista de palavras sensíveis que essa proteção permite. Válido apenas quando match_type é SENSITIVE_WORDS. Cada valor precisa ser igual a uma entrada da lista (não diferencia maiúsculas de minúsculas, espaços em branco ao redor são ignorados). Outros valores não têm efeito. Aplica-se apenas a esta proteção. No máximo 1.000 entradas de até 256 caracteres cada. |
LlmPromptSecurity
| Representação JSON |
|---|
{ "failOpen": boolean, // Union field |
| Campos | |
|---|---|
failOpen |
Opcional. Determina o comportamento quando a proteção encontra um erro de LLM. - Se for verdadeiro: a proteção é ignorada. - Se for falso (padrão): a proteção é acionada/bloqueada. Observação: se uma política personalizada for fornecida, esse campo será ignorado em favor da configuração "fail_open" da política. |
Campo de união security_config. Define o modo de configuração de segurança. O usuário precisa escolher uma das seguintes configurações. security_config pode ser apenas de um dos tipos a seguir: |
|
defaultSettings |
Opcional. Use as configurações de segurança padrão predefinidas do sistema. Para selecionar esse modo, inclua uma mensagem "default_settings" vazia na solicitação. O campo "default_prompt_template" será preenchido pelo servidor na resposta. |
customPolicy |
Opcional. Use uma LlmPolicy definida pelo usuário para configurar a proteção de segurança. |
DefaultSecuritySettings
| Representação JSON |
|---|
{ "defaultPromptTemplate": string } |
| Campos | |
|---|---|
defaultPromptTemplate |
Apenas saída. O modelo de comando padrão usado pelo sistema. Este campo serve para mostrar ao usuário qual comando o sistema usa por padrão. É OUTPUT_ONLY. |
LlmPolicy
| Representação JSON |
|---|
{ "maxConversationMessages": integer, "modelSettings": { object ( |
| Campos | |
|---|---|
maxConversationMessages |
Opcional. Ao verificar essa política, considere as últimas "n" mensagens na conversa. Quando não definido, um valor padrão de 10 será usado. |
modelSettings |
Opcional. Configurações do modelo. |
prompt |
Obrigatório. Comando de política. Oferece suporte a marcadores de posição de variáveis de sessão ( |
policyScope |
Obrigatório. Define quando aplicar a verificação de política durante a conversa. Se definida como |
failOpen |
Opcional. Se ocorrer um erro durante a verificação da política, falhe em aberto e não acione a proteção. |
allowShortUtterance |
Opcional. Por padrão, a verificação da política de LLM é ignorada para enunciados curtos. Ativar essa configuração aplica a verificação de política a todas as falas, incluindo aquelas que normalmente seriam ignoradas. |
ModelSettings
| Representação JSON |
|---|
{ "model": string, "thinkingLevel": enum ( |
| Campos | |
|---|---|
model |
Opcional. O modelo de LLM que o agente deve usar. Se não for definido, o agente vai herdar o modelo do agente pai. |
thinkingLevel |
Opcional. O nível de raciocínio do modelo. |
Campo de união
|
|
temperature |
Opcional. Se definida, essa temperatura será usada para o modelo de LLM. A temperatura controla a aleatoriedade das respostas do modelo. Temperaturas mais baixas produzem respostas mais previsíveis. Temperaturas mais altas produzem respostas mais criativas. |
ModelSafety
| Representação JSON |
|---|
{
"safetySettings": [
{
object ( |
| Campos | |
|---|---|
safetySettings[] |
Obrigatório. Lista de configurações de segurança. |
SafetySetting
| Representação JSON |
|---|
{ "category": enum ( |
| Campos | |
|---|---|
category |
Obrigatório. A categoria de dano. |
threshold |
Obrigatório. O limite do bloqueio de danos. |
CodeCallback
| Representação JSON |
|---|
{ "beforeAgentCallback": { object ( |
| Campos | |
|---|---|
beforeAgentCallback |
Opcional. O callback a ser executado antes que o agente seja chamado. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - 'decision': 'OK' ou 'TRIGGER'. - 'reason': uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento. |
afterAgentCallback |
Opcional. O callback a ser executado depois que o agente é chamado. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - 'decision': 'OK' ou 'TRIGGER'. - 'reason': uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento. |
beforeModelCallback |
Opcional. O callback a ser executado antes que o modelo seja chamado. Se houver várias chamadas para o modelo, o callback será executado várias vezes. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - 'decision': 'OK' ou 'TRIGGER'. - 'reason': uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento. |
afterModelCallback |
Opcional. O callback a ser executado depois que o modelo é chamado. Se houver várias chamadas para o modelo, o callback será executado várias vezes. Cada função de callback precisa retornar uma estrutura (por exemplo, um dict ou objeto) que contenha pelo menos: - 'decision': 'OK' ou 'TRIGGER'. - 'reason': uma string que explica a decisão. Uma decisão "TRIGGER" pode interromper o processamento. |
Callback
| Representação JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| Campos | |
|---|---|
description |
Opcional. Descrição legível por humanos do callback. |
disabled |
Opcional. Se o callback está desativado. Os callbacks desativados são ignorados pelo agente. |
proactiveExecutionEnabled |
Opcional. Se ativado, o callback também será executado em saídas de modelo intermediárias. Essa configuração afeta apenas a chamada de retorno "After model". ATIVE COM CUIDADO. Normalmente, a chamada de retorno after_model_callback só precisa ser executada depois de receber todas as respostas do modelo. A ativação da execução proativa pode ter implicações negativas no custo e na latência da execução e só deve ser ativada em situações raras. |
Campo de união callback. O callback a ser executado. callback pode ser apenas de um dos tipos a seguir: |
|
pythonCode |
Obrigatório. O código Python a ser executado para o callback. |
Supervisor
| Representação JSON |
|---|
{ "type": enum ( |
| Campos | |
|---|---|
type |
Opcional. O tipo do supervisor. |
detectionMode |
Opcional. O modo de detecção do supervisor. |
TriggerAction
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união action. A ação a ser tomada. action pode ser apenas de um dos tipos a seguir: |
|
respondImmediately |
Opcional. Responda imediatamente com uma resposta pré-configurada. |
transferAgent |
Opcional. Transferir a conversa para outro agente. |
generativeAnswer |
Opcional. Responder com uma resposta generativa. |
RespondImmediately
| Representação JSON |
|---|
{
"responses": [
{
object ( |
| Campos | |
|---|---|
responses[] |
Obrigatório. As respostas automáticas que o agente pode escolher. A resposta é escolhida aleatoriamente. |
Resposta
| Representação JSON |
|---|
{ "text": string, "disabled": boolean } |
| Campos | |
|---|---|
text |
Obrigatório. Texto para o agente responder. |
disabled |
Opcional. Indica se a resposta está desativada. As respostas desativadas não são usadas pelo agente. |
TransferAgent
| Representação JSON |
|---|
{ "agent": string } |
| Campos | |
|---|---|
agent |
Obrigatório. O nome do agente para quem a conversa será transferida. O agente precisa estar no mesmo app que o agente atual. Formato: |
GenerativeAnswer
| Representação JSON |
|---|
{ "prompt": string } |
| Campos | |
|---|---|
prompt |
Obrigatório. O comando a ser usado para a resposta generativa. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799, inclusive (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa ser de 0 a 999.999.999. |
MatchType
Tipo de correspondência para o filtro de conteúdo.
| Tipos enumerados | |
|---|---|
MATCH_TYPE_UNSPECIFIED |
O tipo de correspondência não foi especificado. |
SIMPLE_STRING_MATCH |
O conteúdo é correspondido por substrings caractere por caractere. |
WORD_BOUNDARY_STRING_MATCH |
O conteúdo só será correspondente se o padrão encontrado no texto estiver cercado por delimitadores de palavras. As frases proibidas também podem conter delimitadores de palavras. |
REGEXP_MATCH |
A correspondência do conteúdo é feita usando a sintaxe de expressão regular. |
SENSITIVE_WORDS |
O conteúdo é comparado com uma lista de palavras e frases sensíveis gerenciada pelo sistema. Anexar uma proteção com esse tipo de correspondência a um app ou agente substitui o filtro padrão de palavras sensíveis para os agentes afetados. Desative a proteção para desativar o filtro padrão. |
ThinkingLevel
Configuração do nível de raciocínio do modelo.
| Tipos enumerados | |
|---|---|
THINKING_LEVEL_UNSPECIFIED |
O nível de pensamento não foi especificado. |
DEFAULT |
Nível de raciocínio padrão. |
LOW |
Nível de raciocínio baixo. |
MEDIUM |
Nível de raciocínio médio. |
HIGH |
Nível de raciocínio alto. |
PolicyScope
Define quando aplicar a verificação de política durante a conversa.
| Tipos enumerados | |
|---|---|
POLICY_SCOPE_UNSPECIFIED |
O escopo da política não foi especificado. |
USER_QUERY |
A verificação de política é acionada na entrada do usuário. |
AGENT_RESPONSE |
A verificação de política é acionada na resposta do agente. A aplicação desse escopo de política vai introduzir uma latência adicional antes que o agente possa responder. |
USER_QUERY_AND_AGENT_RESPONSE |
A verificação de política é acionada tanto na entrada do usuário quanto na resposta do agente. A aplicação desse escopo de política vai introduzir uma latência adicional antes que o agente possa responder. |
HarmCategory
Categoria de dano.
| Tipos enumerados | |
|---|---|
HARM_CATEGORY_UNSPECIFIED |
A categoria de danos não foi especificada. |
HARM_CATEGORY_HATE_SPEECH |
A categoria de danos é discurso de ódio. |
HARM_CATEGORY_DANGEROUS_CONTENT |
A categoria de danos é um conteúdo perigoso. |
HARM_CATEGORY_HARASSMENT |
A categoria de dano é assédio. |
HARM_CATEGORY_SEXUALLY_EXPLICIT |
A categoria de dano é conteúdo sexualmente explícito. |
HARM_CATEGORY_PROFANITY |
A categoria de dano é linguagem obscena. |
HARM_CATEGORY_TOXIC |
A categoria de dano é tóxica. |
HarmBlockThreshold
Níveis de limites baseados em probabilidade para bloqueio.
| Tipos enumerados | |
|---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED |
Limite de bloqueio de danos não especificado. |
BLOCK_LOW_AND_ABOVE |
Bloquear o limite inferior e superior (ou seja, bloquear mais). |
BLOCK_MEDIUM_AND_ABOVE |
Bloquear o limite médio e acima. |
BLOCK_ONLY_HIGH |
Bloquear apenas o limite superior (ou seja, bloquear menos). |
BLOCK_NONE |
Bloquear nenhum |
OFF |
Desative o filtro de segurança. |
Tipo
Tipo de supervisor.
| Tipos enumerados | |
|---|---|
TYPE_UNSPECIFIED |
Tipo não especificado. |
INVALID_TEXT |
Tipo de problema de texto inválido. |
LANGUAGE_SHIFT |
Tipo de problema de mudança de idioma. |
SPEAKER_SHIFT |
Tipo de problema de mudança de locutor. |
AUDIO_MISMATCH |
Tipo de problema de incompatibilidade de áudio. |
MISSING_TOOL_CALL |
Tipo de problema de chamada de ferramenta ausente. |
CUSTOM |
Tipo de problema personalizado. |
CHOPPY_AUDIO |
Tipo de problema de áudio entrecortado. |
PROFANITY |
Tipo de problema de linguagem obscena do agente. |
DetectionMode
Modo de detecção do supervisor.
| Tipos enumerados | |
|---|---|
DETECTION_MODE_UNSPECIFIED |
O modo de detecção não foi especificado. O padrão é NON_BLOCKING. |
NON_BLOCKING |
Modo de detecção sem bloqueio. A resposta não é bloqueada quando a detecção do supervisor está em andamento. |
BLOCKING |
Modo de detecção de bloqueio. A resposta é bloqueada quando a detecção do supervisor está em andamento. |
Anotações de ferramentas
As anotações de ferramentas são enviadas aos clientes do MCP para descrever o risco básico de uma determinada ferramenta. A maioria dos clientes trata essas dicas como não confiáveis, mas elas podem ser usadas para decidir quando uma solicitação de confirmação pode ser enviada a um usuário.
Além da string de título, as seguintes dicas booleanas são definidas:
readOnlyHint: se for verdadeiro, a ferramenta não vai modificar o ambiente. Padrão: false.destructiveHint: se for verdadeiro, a ferramenta poderá realizar ações destrutivas. Se for falso, a ferramenta só poderá realizar ações aditivas. Padrão: verdadeiro.idempotentHint: se for verdadeiro, chamar a ferramenta repetidamente com os mesmos argumentos não terá efeito adicional no ambiente. Padrão: false.openWorldHint: se for verdadeiro, a ferramenta poderá interagir com um "mundo aberto" de entidades externas. Se for falso, a ferramenta só poderá interagir com entidades internas. Por exemplo, uma ferramenta de pesquisa na Web seria de mundo aberto, enquanto uma ferramenta de memória não seria.
Dica destrutiva: ✅ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ❌