Ferramenta: get_guardrail
Recebe detalhes da proteção especificada.
O exemplo a seguir demonstra como usar curl para invocar a ferramenta get_guardrail MCP.
| Solicitação curl |
|---|
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_guardrail", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
Mensagem de solicitação para AgentService.GetGuardrail.
GetGuardrailRequest
| Representação JSON |
|---|
{ "name": string } |
| Campos | |
|---|---|
name |
Obrigatório. O nome do recurso da proteção a ser recuperada. |
Esquema de saída
O Guardrail 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 o guardrail é acionado. |
createTime |
Apenas saída. Carimbo de data/hora em que a 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 da última atualização da proteção. 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 mudou 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 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 não segura 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. |
ContentFilter
| Representação JSON |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| Campos | |
|---|---|
bannedContents[] |
Opcional. Lista de frases proibidas. Isso se aplica à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. Aplicável 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. |
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 "true", a proteção será ignorada. - Se for "false" (padrão): o guardrail é acionado/bloqueado. 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 solicitação padrão usado pelo sistema. Este campo é para fins de exibição e mostra 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. Solicitação de política. |
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 ao abrir e não acione o guardrail. |
allowShortUtterance |
Opcional. Por padrão, a verificação de política do LLM é ignorada para frases curtas. Ao ativar essa configuração, a verificação de política é aplicada a todas as declarações, incluindo aquelas que normalmente seriam ignoradas. |
ModelSettings
| Representação JSON |
|---|
{ "model": string, // Union field |
| Campos | |
|---|---|
model |
Opcional. O modelo de LLM que o agente deve usar. Se não estiver definido, o agente vai herdar o modelo do agente principal. |
Campo de união
|
|
temperature |
Opcional. Se definido, essa temperatura será usada para o modelo 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 da chamada do agente. 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 for 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 de chamar o modelo. 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 do callback. |
disabled |
Opcional. Se o callback está desativado. Os retornos de chamada desativados são ignorados pelo agente. |
proactiveExecutionEnabled |
Opcional. Se ativado, o callback também será executado em saídas intermediárias do modelo. Essa configuração só afeta o retorno de chamada após o modelo. ATIVE COM CUIDADO. Normalmente, o callback do modelo só precisa ser executado depois de receber todas as respostas do modelo. Ativar a execução proativa pode ter implicações negativas no custo e na latência da execução. Portanto, essa opção 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. |
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. Responder imediatamente com uma resposta pré-configurada. |
transferAgent |
Opcional. Transfira a conversa para outro agente. |
generativeAnswer |
Opcional. Responda com uma resposta generativa. |
RespondImmediately
| Representação JSON |
|---|
{
"responses": [
{
object ( |
| Campos | |
|---|---|
responses[] |
Obrigatório. As respostas predefinidas para o agente escolher. A resposta é escolhida aleatoriamente. |
Resposta
| Representação JSON |
|---|
{ "text": string, "disabled": boolean } |
| Campos | |
|---|---|
text |
Obrigatório. Texto para o agente responder. |
disabled |
Opcional. 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 (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 (inclusive). |
Anotações de ferramentas
Dica destrutiva: ❌ | Dica idempotente: ✅ | Dica somente leitura: ✅ | Dica de mundo aberto: ❌