MCP Tools Reference: ces.googleapis.com

Strumento: create_guardrail

Crea una nuova barriera protettiva nell'app specificata.

Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP create_guardrail.

Richiesta 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
}'

Schema di input

Messaggio di richiesta per AgentService.CreateGuardrail.

CreateGuardrailRequest

Rappresentazione JSON
{
  "parent": string,
  "guardrailId": string,
  "guardrail": {
    object (Guardrail)
  }
}
Campi
parent

string

Obbligatorio. Il nome della risorsa dell'app in cui creare una barriera protettiva.

guardrailId

string

Facoltativo. L'ID da utilizzare per la barriera protettiva, che diventerà il componente finale del nome della risorsa della barriera protettiva. Se non viene fornito, verrà assegnato automaticamente un ID univoco per la barriera protettiva.

guardrail

object (Guardrail)

Obbligatorio. Il guardrail da creare.

Guardrail

Rappresentazione JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
Campi
name

string

Identificatore. L'identificatore univoco del guardrail. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Obbligatorio. Nome visualizzato della barriera protettiva.

description

string

Facoltativo. Descrizione della barriera protettiva.

enabled

boolean

Facoltativo. Indica se la protezione è attiva.

action

object (TriggerAction)

Facoltativo. Azione da intraprendere quando viene attivata la protezione.

createTime

string (Timestamp format)

Solo output. Timestamp di creazione della barriera protettiva.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. Timestamp dell'ultimo aggiornamento della barriera protettiva.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee.

Campo unione guardrail_type. Tipo di guardrail. guardrail_type può essere solo uno dei seguenti tipi:
contentFilter

object (ContentFilter)

Facoltativo. Barriera protettiva che vieta l'utilizzo di determinati contenuti nella conversazione.

llmPromptSecurity

object (LlmPromptSecurity)

Facoltativo. Misura di protezione che blocca la conversazione se il prompt è considerato non sicuro in base alla classificazione LLM.

llmPolicy

object (LlmPolicy)

Facoltativo. Barriera di protezione che blocca la conversazione se la risposta dell'LLM viene considerata una violazione delle norme in base alla classificazione dell'LLM.

modelSafety

object (ModelSafety)

Facoltativo. Barriera protettiva che blocca la conversazione se la risposta dell'LLM è considerata non sicura in base alle impostazioni di sicurezza del modello.

codeCallback

object (CodeCallback)

Facoltativo. Barriera protettiva che blocca potenzialmente la conversazione in base al risultato dell'esecuzione del callback.

supervisor

object (Supervisor)

Facoltativo. Guardrail che esegue l'intervento del supervisore.

ContentFilter

Rappresentazione JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
Campi
bannedContents[]

string

Facoltativo. Elenco di frasi vietate. Si applica sia agli input utente sia alle risposte dell'agente.

bannedContentsInUserInput[]

string

Facoltativo. Elenco di frasi vietate. Si applica solo agli input degli utenti.

bannedContentsInAgentResponse[]

string

Facoltativo. Elenco di frasi vietate. Si applica solo alle risposte degli agenti.

matchType

enum (MatchType)

Obbligatorio. Tipo di corrispondenza per il filtro dei contenuti.

disregardDiacritics

boolean

Facoltativo. Se è true, i segni diacritici vengono ignorati durante la ricerca di corrispondenze.

LlmPromptSecurity

Rappresentazione JSON
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
Campi
failOpen

boolean

Facoltativo. Determina il comportamento quando la barriera di protezione rileva un errore LLM. - Se true: la barriera protettiva viene ignorata. - Se il valore è false (impostazione predefinita), il guardrail viene attivato/bloccato.

Nota: se viene fornita una policy personalizzata, questo campo viene ignorato a favore della configurazione "fail_open" della policy.

Campo unione security_config. Definisce la modalità di configurazione della sicurezza. L'utente deve scegliere una delle seguenti configurazioni. security_config può essere solo uno dei seguenti tipi:
defaultSettings

object (DefaultSecuritySettings)

Facoltativo. Utilizza le impostazioni di sicurezza predefinite del sistema. Per selezionare questa modalità, includi un messaggio "default_settings" vuoto nella richiesta. Il campo "default_prompt_template" al suo interno verrà compilato dal server nella risposta.

customPolicy

object (LlmPolicy)

Facoltativo. Utilizza una LlmPolicy definita dall'utente per configurare la barriera di sicurezza.

DefaultSecuritySettings

Rappresentazione JSON
{
  "defaultPromptTemplate": string
}
Campi
defaultPromptTemplate

string

Solo output. Il modello di template di prompt predefinito utilizzato dal sistema. Questo campo viene visualizzato per mostrare all'utente il prompt utilizzato per impostazione predefinita dal sistema. È OUTPUT_ONLY.

LlmPolicy

Rappresentazione JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Campi
maxConversationMessages

integer

Facoltativo. Quando controlli questa norma, considera gli ultimi "n" messaggi della conversazione. Se non viene impostato, verrà utilizzato il valore predefinito 10.

modelSettings

object (ModelSettings)

Facoltativo. Impostazioni del modello.

prompt

string

Obbligatorio. Prompt delle norme.

policyScope

enum (PolicyScope)

Obbligatorio. Definisce quando applicare il controllo delle norme durante la conversazione. Se impostato su POLICY_SCOPE_UNSPECIFIED, il criterio verrà applicato all'input utente'utente. Quando applichi la policy alla risposta dell'agente, verrà introdotto un ulteriore ritardo prima che l'agente possa rispondere.

failOpen

boolean

Facoltativo. Se si verifica un errore durante il controllo delle norme, il sistema non interviene e non attiva la protezione.

allowShortUtterance

boolean

Facoltativo. Per impostazione predefinita, il controllo delle norme LLM viene ignorato per le espressioni brevi. Se attivi questa impostazione, il controllo delle norme viene applicato a tutte le espressioni, incluse quelle che normalmente verrebbero ignorate.

ModelSettings

Rappresentazione JSON
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Campi
model

string

Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non viene impostato, l'agente erediterà il modello dal relativo agente principale.

thinkingLevel

enum (ThinkingLevel)

Facoltativo. Il livello di ragionamento del modello.

Campo unione _temperature.

_temperature può essere solo uno dei seguenti tipi:

temperature

number

Facoltativo. Se impostata, questa temperatura verrà utilizzata per il modello LLM. La temperatura controlla la casualità delle risposte del modello. Le temperature più basse producono risposte più prevedibili. Le temperature più alte producono risposte più creative.

ModelSafety

Rappresentazione JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Campi
safetySettings[]

object (SafetySetting)

Obbligatorio. Elenco delle impostazioni di sicurezza.

SafetySetting

Rappresentazione JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Campi
category

enum (HarmCategory)

Obbligatorio. La categoria del danno.

threshold

enum (HarmBlockThreshold)

Obbligatorio. Soglia di blocco dei contenuti dannosi.

CodeCallback

Rappresentazione JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Campi
beforeAgentCallback

object (Callback)

Facoltativo. Il callback da eseguire prima di chiamare l'agente. Ogni funzione di callback deve restituire una struttura (ad es. un dizionario o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

afterAgentCallback

object (Callback)

Facoltativo. Il callback da eseguire dopo la chiamata all'agente. Ogni funzione di callback deve restituire una struttura (ad es. un dizionario o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

beforeModelCallback

object (Callback)

Facoltativo. Il callback da eseguire prima della chiamata al modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Ogni funzione di callback deve restituire una struttura (ad es. un dizionario o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

afterModelCallback

object (Callback)

Facoltativo. Il callback da eseguire dopo la chiamata al modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Ogni funzione di callback deve restituire una struttura (ad es. un dizionario o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

Callback

Rappresentazione JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
Campi
description

string

Facoltativo. Descrizione leggibile del callback.

disabled

boolean

Facoltativo. Se il richiamo è disattivato. I callback disattivati vengono ignorati dall'agente.

proactiveExecutionEnabled

boolean

Facoltativo. Se abilitata, la richiamata verrà eseguita anche sugli output intermedi del modello. Questa impostazione ha effetto solo dopo il callback del modello. ATTIVA CON CAUTELA. In genere, il callback del modello deve essere eseguito solo dopo aver ricevuto tutte le risposte del modello. L'attivazione dell'esecuzione proattiva può avere implicazioni negative sul costo e sulla latenza dell'esecuzione e deve essere attivata solo in rare situazioni.

Campo unione callback. Il callback da eseguire. callback può essere solo uno dei seguenti tipi:
pythonCode

string

Obbligatorio. Il codice Python da eseguire per il callback.

Supervisore

Rappresentazione JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Campi
type

enum (Type)

Facoltativo. Il tipo di supervisore.

detectionMode

enum (DetectionMode)

Facoltativo. La modalità di rilevamento del supervisore.

TriggerAction

Rappresentazione JSON
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
Campi
Campo unione action. L'azione da intraprendere. action può essere solo uno dei seguenti tipi:
respondImmediately

object (RespondImmediately)

Facoltativo. Rispondere immediatamente con una risposta preconfigurata.

transferAgent

object (TransferAgent)

Facoltativo. Trasferire la conversazione a un altro agente.

generativeAnswer

object (GenerativeAnswer)

Facoltativo. Rispondere con una risposta generativa.

RespondImmediately

Rappresentazione JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Campi
responses[]

object (Response)

Obbligatorio. Le risposte predefinite tra cui l'agente può scegliere. La risposta viene scelta in modo casuale.

Risposta

Rappresentazione JSON
{
  "text": string,
  "disabled": boolean
}
Campi
text

string

Obbligatorio. Testo a cui l'agente deve rispondere.

disabled

boolean

Facoltativo. Indica se la risposta è disattivata. Le risposte disattivate non vengono utilizzate dall'agente.

TransferAgent

Rappresentazione JSON
{
  "agent": string
}
Campi
agent

string

Obbligatorio. Il nome dell'agente a cui trasferire la conversazione. L'agente deve trovarsi nella stessa app dell'agente attuale. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Rappresentazione JSON
{
  "prompt": string
}
Campi
prompt

string

Obbligatorio. Il prompt da utilizzare per la risposta generativa.

Timestamp

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrisponde a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z).

nanos

integer

Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che contano in avanti nel tempo. Il valore deve essere compreso tra 0 e 999.999.999 inclusi.

MatchType

Tipo di corrispondenza per il filtro dei contenuti.

Enum
MATCH_TYPE_UNSPECIFIED Il tipo di corrispondenza non è specificato.
SIMPLE_STRING_MATCH La corrispondenza dei contenuti viene eseguita per le sottostringhe carattere per carattere.
WORD_BOUNDARY_STRING_MATCH La corrispondenza dei contenuti si verifica solo se il pattern trovato nel testo è racchiuso tra delimitatori di parole. Le frasi vietate possono contenere anche delimitatori di parole.
REGEXP_MATCH I contenuti vengono abbinati utilizzando la sintassi delle espressioni regolari.

ThinkingLevel

Configurazione del livello di ragionamento per il modello.

Enum
THINKING_LEVEL_UNSPECIFIED Il livello di ragionamento non è specificato.
DEFAULT Livello di ragionamento predefinito.
LOW Livello di ragionamento basso.
MEDIUM Livello di ragionamento medio.
HIGH Livello di ragionamento elevato.

PolicyScope

Definisce quando applicare il controllo delle norme durante la conversazione.

Enum
POLICY_SCOPE_UNSPECIFIED L'ambito della policy non è specificato.
USER_QUERY Il controllo dei criteri viene attivato in base all'input utente.
AGENT_RESPONSE Il controllo delle norme viene attivato in base alla risposta dell'agente. L'applicazione di questo ambito della policy introdurrà un'ulteriore latenza prima che l'agente possa rispondere.
USER_QUERY_AND_AGENT_RESPONSE Il controllo delle norme viene attivato sia sull'input utente dell'utente sia sulla risposta dell'agente. L'applicazione di questo ambito della policy introdurrà un'ulteriore latenza prima che l'agente possa rispondere.

HarmCategory

Categoria del danno.

Enum
HARM_CATEGORY_UNSPECIFIED La categoria di danno non è specificata.
HARM_CATEGORY_HATE_SPEECH La categoria di danno è l'incitamento all'odio.
HARM_CATEGORY_DANGEROUS_CONTENT La categoria di danno è "Contenuti pericolosi".
HARM_CATEGORY_HARASSMENT La categoria del danno è molestie.
HARM_CATEGORY_SEXUALLY_EXPLICIT La categoria di danno è costituita da contenuti sessualmente espliciti.
HARM_CATEGORY_PROFANITY La categoria di danno è linguaggio volgare.
HARM_CATEGORY_TOXIC La categoria del danno è tossica.

HarmBlockThreshold

Livelli di soglia basati sulla probabilità per il blocco.

Enum
HARM_BLOCK_THRESHOLD_UNSPECIFIED Soglia HarmBlockThreshold non specificata.
BLOCK_LOW_AND_ABOVE Blocco soglia bassa e superiore (ovvero blocca di più).
BLOCK_MEDIUM_AND_ABOVE Blocca la soglia media e superiore.
BLOCK_ONLY_HIGH Blocco solo soglia alta (ossia blocco ridotto).
BLOCK_NONE Nessun blocco.
OFF Disattiva il filtro di sicurezza.

Tipo

Tipo di supervisore.

Enum
TYPE_UNSPECIFIED Il tipo non è specificato.
INVALID_TEXT Tipo di problema di testo non valido.
LANGUAGE_SHIFT Tipo di problema di cambio lingua.
SPEAKER_SHIFT Tipo di problema di spostamento dello speaker.
AUDIO_MISMATCH Tipo di problema di mancata corrispondenza audio.
MISSING_TOOL_CALL Tipo di problema della chiamata allo strumento mancante.
CUSTOM Tipo di problema personalizzato.
CHOPPY_AUDIO Tipo di problema audio frammentato.
PROFANITY Tipo di problema relativo a linguaggio volgare dell'agente.

DetectionMode

Modalità di rilevamento del supervisore.

Enum
DETECTION_MODE_UNSPECIFIED La modalità di rilevamento non è specificata. Il valore predefinito è NON_BLOCKING.
NON_BLOCKING Modalità di rilevamento non bloccante. La risposta non viene bloccata durante il rilevamento del supervisore.
BLOCKING Modalità di rilevamento del blocco. La risposta viene bloccata durante il rilevamento del supervisore.

Schema di output

Guardrail contiene un elenco di controlli ed equilibri per mantenere gli agenti sicuri.

Guardrail

Rappresentazione JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
Campi
name

string

Identificatore. L'identificatore univoco del guardrail. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Obbligatorio. Nome visualizzato della barriera protettiva.

description

string

Facoltativo. Descrizione della barriera protettiva.

enabled

boolean

Facoltativo. Indica se la protezione è attiva.

action

object (TriggerAction)

Facoltativo. Azione da intraprendere quando viene attivata la protezione.

createTime

string (Timestamp format)

Solo output. Timestamp di creazione della barriera protettiva.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. Timestamp dell'ultimo aggiornamento della barriera protettiva.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee.

Campo unione guardrail_type. Tipo di guardrail. guardrail_type può essere solo uno dei seguenti tipi:
contentFilter

object (ContentFilter)

Facoltativo. Barriera protettiva che vieta l'utilizzo di determinati contenuti nella conversazione.

llmPromptSecurity

object (LlmPromptSecurity)

Facoltativo. Misura di protezione che blocca la conversazione se il prompt è considerato non sicuro in base alla classificazione LLM.

llmPolicy

object (LlmPolicy)

Facoltativo. Barriera di protezione che blocca la conversazione se la risposta dell'LLM viene considerata una violazione delle norme in base alla classificazione dell'LLM.

modelSafety

object (ModelSafety)

Facoltativo. Barriera protettiva che blocca la conversazione se la risposta dell'LLM è considerata non sicura in base alle impostazioni di sicurezza del modello.

codeCallback

object (CodeCallback)

Facoltativo. Barriera protettiva che blocca potenzialmente la conversazione in base al risultato dell'esecuzione del callback.

supervisor

object (Supervisor)

Facoltativo. Guardrail che esegue l'intervento del supervisore.

ContentFilter

Rappresentazione JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
Campi
bannedContents[]

string

Facoltativo. Elenco di frasi vietate. Si applica sia agli input utente sia alle risposte dell'agente.

bannedContentsInUserInput[]

string

Facoltativo. Elenco di frasi vietate. Si applica solo agli input degli utenti.

bannedContentsInAgentResponse[]

string

Facoltativo. Elenco di frasi vietate. Si applica solo alle risposte degli agenti.

matchType

enum (MatchType)

Obbligatorio. Tipo di corrispondenza per il filtro dei contenuti.

disregardDiacritics

boolean

Facoltativo. Se è true, i segni diacritici vengono ignorati durante la ricerca di corrispondenze.

LlmPromptSecurity

Rappresentazione JSON
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
Campi
failOpen

boolean

Facoltativo. Determina il comportamento quando la barriera di protezione rileva un errore LLM. - Se true: la barriera protettiva viene ignorata. - Se il valore è false (impostazione predefinita), il guardrail viene attivato/bloccato.

Nota: se viene fornita una policy personalizzata, questo campo viene ignorato a favore della configurazione "fail_open" della policy.

Campo unione security_config. Definisce la modalità di configurazione della sicurezza. L'utente deve scegliere una delle seguenti configurazioni. security_config può essere solo uno dei seguenti tipi:
defaultSettings

object (DefaultSecuritySettings)

Facoltativo. Utilizza le impostazioni di sicurezza predefinite del sistema. Per selezionare questa modalità, includi un messaggio "default_settings" vuoto nella richiesta. Il campo "default_prompt_template" al suo interno verrà compilato dal server nella risposta.

customPolicy

object (LlmPolicy)

Facoltativo. Utilizza una LlmPolicy definita dall'utente per configurare la barriera di sicurezza.

DefaultSecuritySettings

Rappresentazione JSON
{
  "defaultPromptTemplate": string
}
Campi
defaultPromptTemplate

string

Solo output. Il modello di template di prompt predefinito utilizzato dal sistema. Questo campo viene visualizzato per mostrare all'utente il prompt utilizzato per impostazione predefinita dal sistema. È OUTPUT_ONLY.

LlmPolicy

Rappresentazione JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Campi
maxConversationMessages

integer

Facoltativo. Quando controlli questa norma, considera gli ultimi "n" messaggi della conversazione. Se non viene impostato, verrà utilizzato il valore predefinito 10.

modelSettings

object (ModelSettings)

Facoltativo. Impostazioni del modello.

prompt

string

Obbligatorio. Prompt delle norme.

policyScope

enum (PolicyScope)

Obbligatorio. Definisce quando applicare il controllo delle norme durante la conversazione. Se impostato su POLICY_SCOPE_UNSPECIFIED, il criterio verrà applicato all'input utente'utente. Quando applichi la policy alla risposta dell'agente, verrà introdotto un ulteriore ritardo prima che l'agente possa rispondere.

failOpen

boolean

Facoltativo. Se si verifica un errore durante il controllo delle norme, il sistema non interviene e non attiva la protezione.

allowShortUtterance

boolean

Facoltativo. Per impostazione predefinita, il controllo delle norme LLM viene ignorato per le espressioni brevi. Se attivi questa impostazione, il controllo delle norme viene applicato a tutte le espressioni, incluse quelle che normalmente verrebbero ignorate.

ModelSettings

Rappresentazione JSON
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Campi
model

string

Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non viene impostato, l'agente erediterà il modello dal relativo agente principale.

thinkingLevel

enum (ThinkingLevel)

Facoltativo. Il livello di ragionamento del modello.

Campo unione _temperature.

_temperature può essere solo uno dei seguenti tipi:

temperature

number

Facoltativo. Se impostata, questa temperatura verrà utilizzata per il modello LLM. La temperatura controlla la casualità delle risposte del modello. Le temperature più basse producono risposte più prevedibili. Le temperature più alte producono risposte più creative.

ModelSafety

Rappresentazione JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Campi
safetySettings[]

object (SafetySetting)

Obbligatorio. Elenco delle impostazioni di sicurezza.

SafetySetting

Rappresentazione JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Campi
category

enum (HarmCategory)

Obbligatorio. La categoria del danno.

threshold

enum (HarmBlockThreshold)

Obbligatorio. Soglia di blocco dei contenuti dannosi.

CodeCallback

Rappresentazione JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Campi
beforeAgentCallback

object (Callback)

Facoltativo. Il callback da eseguire prima di chiamare l'agente. Ogni funzione di callback deve restituire una struttura (ad es. un dizionario o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

afterAgentCallback

object (Callback)

Facoltativo. Il callback da eseguire dopo la chiamata all'agente. Ogni funzione di callback deve restituire una struttura (ad es. un dizionario o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

beforeModelCallback

object (Callback)

Facoltativo. Il callback da eseguire prima della chiamata al modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Ogni funzione di callback deve restituire una struttura (ad es. un dizionario o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

afterModelCallback

object (Callback)

Facoltativo. Il callback da eseguire dopo la chiamata al modello. Se vengono effettuate più chiamate al modello, il callback verrà eseguito più volte. Ogni funzione di callback deve restituire una struttura (ad es. un dizionario o un oggetto) contenente almeno: - "decision": "OK" o "TRIGGER". - "reason": una stringa che spiega la decisione. Una decisione "TRIGGER" potrebbe interrompere l'ulteriore elaborazione.

Callback

Rappresentazione JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
Campi
description

string

Facoltativo. Descrizione leggibile del callback.

disabled

boolean

Facoltativo. Se il richiamo è disattivato. I callback disattivati vengono ignorati dall'agente.

proactiveExecutionEnabled

boolean

Facoltativo. Se abilitata, la richiamata verrà eseguita anche sugli output intermedi del modello. Questa impostazione ha effetto solo dopo il callback del modello. ATTIVA CON CAUTELA. In genere, il callback del modello deve essere eseguito solo dopo aver ricevuto tutte le risposte del modello. L'attivazione dell'esecuzione proattiva può avere implicazioni negative sul costo e sulla latenza dell'esecuzione e deve essere attivata solo in rare situazioni.

Campo unione callback. Il callback da eseguire. callback può essere solo uno dei seguenti tipi:
pythonCode

string

Obbligatorio. Il codice Python da eseguire per il callback.

Supervisore

Rappresentazione JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Campi
type

enum (Type)

Facoltativo. Il tipo di supervisore.

detectionMode

enum (DetectionMode)

Facoltativo. La modalità di rilevamento del supervisore.

TriggerAction

Rappresentazione JSON
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
Campi
Campo unione action. L'azione da intraprendere. action può essere solo uno dei seguenti tipi:
respondImmediately

object (RespondImmediately)

Facoltativo. Rispondere immediatamente con una risposta preconfigurata.

transferAgent

object (TransferAgent)

Facoltativo. Trasferire la conversazione a un altro agente.

generativeAnswer

object (GenerativeAnswer)

Facoltativo. Rispondere con una risposta generativa.

RespondImmediately

Rappresentazione JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Campi
responses[]

object (Response)

Obbligatorio. Le risposte predefinite tra cui l'agente può scegliere. La risposta viene scelta in modo casuale.

Risposta

Rappresentazione JSON
{
  "text": string,
  "disabled": boolean
}
Campi
text

string

Obbligatorio. Testo a cui l'agente deve rispondere.

disabled

boolean

Facoltativo. Indica se la risposta è disattivata. Le risposte disattivate non vengono utilizzate dall'agente.

TransferAgent

Rappresentazione JSON
{
  "agent": string
}
Campi
agent

string

Obbligatorio. Il nome dell'agente a cui trasferire la conversazione. L'agente deve trovarsi nella stessa app dell'agente attuale. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Rappresentazione JSON
{
  "prompt": string
}
Campi
prompt

string

Obbligatorio. Il prompt da utilizzare per la risposta generativa.

Timestamp

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (che corrisponde a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z).

nanos

integer

Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che contano in avanti nel tempo. Il valore deve essere compreso tra 0 e 999.999.999 inclusi.

MatchType

Tipo di corrispondenza per il filtro dei contenuti.

Enum
MATCH_TYPE_UNSPECIFIED Il tipo di corrispondenza non è specificato.
SIMPLE_STRING_MATCH La corrispondenza dei contenuti viene eseguita per le sottostringhe carattere per carattere.
WORD_BOUNDARY_STRING_MATCH La corrispondenza dei contenuti si verifica solo se il pattern trovato nel testo è racchiuso tra delimitatori di parole. Le frasi vietate possono contenere anche delimitatori di parole.
REGEXP_MATCH I contenuti vengono abbinati utilizzando la sintassi delle espressioni regolari.

ThinkingLevel

Configurazione del livello di ragionamento per il modello.

Enum
THINKING_LEVEL_UNSPECIFIED Il livello di ragionamento non è specificato.
DEFAULT Livello di ragionamento predefinito.
LOW Livello di ragionamento basso.
MEDIUM Livello di ragionamento medio.
HIGH Livello di ragionamento elevato.

PolicyScope

Definisce quando applicare il controllo delle norme durante la conversazione.

Enum
POLICY_SCOPE_UNSPECIFIED L'ambito della policy non è specificato.
USER_QUERY Il controllo dei criteri viene attivato in base all'input utente.
AGENT_RESPONSE Il controllo delle norme viene attivato in base alla risposta dell'agente. L'applicazione di questo ambito della policy introdurrà un'ulteriore latenza prima che l'agente possa rispondere.
USER_QUERY_AND_AGENT_RESPONSE Il controllo delle norme viene attivato sia sull'input utente dell'utente sia sulla risposta dell'agente. L'applicazione di questo ambito della policy introdurrà un'ulteriore latenza prima che l'agente possa rispondere.

HarmCategory

Categoria del danno.

Enum
HARM_CATEGORY_UNSPECIFIED La categoria di danno non è specificata.
HARM_CATEGORY_HATE_SPEECH La categoria di danno è l'incitamento all'odio.
HARM_CATEGORY_DANGEROUS_CONTENT La categoria di danno è "Contenuti pericolosi".
HARM_CATEGORY_HARASSMENT La categoria del danno è molestie.
HARM_CATEGORY_SEXUALLY_EXPLICIT La categoria di danno è costituita da contenuti sessualmente espliciti.
HARM_CATEGORY_PROFANITY La categoria di danno è linguaggio volgare.
HARM_CATEGORY_TOXIC La categoria del danno è tossica.

HarmBlockThreshold

Livelli di soglia basati sulla probabilità per il blocco.

Enum
HARM_BLOCK_THRESHOLD_UNSPECIFIED Soglia HarmBlockThreshold non specificata.
BLOCK_LOW_AND_ABOVE Blocco soglia bassa e superiore (ovvero blocca di più).
BLOCK_MEDIUM_AND_ABOVE Blocca la soglia media e superiore.
BLOCK_ONLY_HIGH Blocco solo soglia alta (ossia blocco ridotto).
BLOCK_NONE Nessun blocco.
OFF Disattiva il filtro di sicurezza.

Tipo

Tipo di supervisore.

Enum
TYPE_UNSPECIFIED Il tipo non è specificato.
INVALID_TEXT Tipo di problema di testo non valido.
LANGUAGE_SHIFT Tipo di problema di cambio lingua.
SPEAKER_SHIFT Tipo di problema di spostamento dello speaker.
AUDIO_MISMATCH Tipo di problema di mancata corrispondenza audio.
MISSING_TOOL_CALL Tipo di problema della chiamata allo strumento mancante.
CUSTOM Tipo di problema personalizzato.
CHOPPY_AUDIO Tipo di problema audio frammentato.
PROFANITY Tipo di problema relativo a linguaggio volgare dell'agente.

DetectionMode

Modalità di rilevamento del supervisore.

Enum
DETECTION_MODE_UNSPECIFIED La modalità di rilevamento non è specificata. Il valore predefinito è NON_BLOCKING.
NON_BLOCKING Modalità di rilevamento non bloccante. La risposta non viene bloccata durante il rilevamento del supervisore.
BLOCKING Modalità di rilevamento del blocco. La risposta viene bloccata durante il rilevamento del supervisore.

Annotazioni dello strumento

Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare un prompt di conferma a un utente.

Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:

  • readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.
  • destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.
  • idempotentHint: se è true, chiamare ripetutamente lo strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.
  • openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria non lo sarebbe.

Suggerimento distruttivo: ✅ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌