Strumento: get_guardrail
Recupera i dettagli della barriera protettiva specificata.
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP get_guardrail.
| Curl Request |
|---|
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 }' |
Schema di input
Messaggio di richiesta per AgentService.GetGuardrail.
GetGuardrailRequest
| Rappresentazione JSON |
|---|
{ "name": string } |
| Campi | |
|---|---|
name |
Obbligatorio. Il nome della risorsa della barriera protettiva da recuperare. |
Schema di output
Il 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 ( |
| Campi | |
|---|---|
name |
Identificatore. L'identificatore univoco della barriera protettiva. Formato: |
displayName |
Obbligatorio. Nome visualizzato della barriera protettiva. |
description |
Facoltativo. Descrizione della barriera protettiva. |
enabled |
Facoltativo. Indica se la barriera protettiva è attiva. |
action |
Facoltativo. Azione da intraprendere quando viene attivata la protezione. |
createTime |
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: |
updateTime |
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: |
etag |
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 |
Facoltativo. Barriera protettiva che impedisce l'utilizzo di determinati contenuti nella conversazione. |
llmPromptSecurity |
Facoltativo. Barriera protettiva che blocca la conversazione se il prompt viene considerato non sicuro in base alla classificazione LLM. |
llmPolicy |
Facoltativo. Barriera protettiva che blocca la conversazione se la risposta dell'LLM viene considerata una violazione delle norme in base alla classificazione dell'LLM. |
modelSafety |
Facoltativo. Barriera protettiva che blocca la conversazione se la risposta del LLM è considerata non sicura in base alle impostazioni di sicurezza del modello. |
codeCallback |
Facoltativo. Barriera protettiva che blocca potenzialmente la conversazione in base al risultato dell'esecuzione del callback. |
ContentFilter
| Rappresentazione JSON |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| Campi | |
|---|---|
bannedContents[] |
Facoltativo. Elenco di frasi vietate. Si applica sia agli input dell'utente sia alle risposte dell'agente. |
bannedContentsInUserInput[] |
Facoltativo. Elenco di frasi vietate. Si applica solo agli input degli utenti. |
bannedContentsInAgentResponse[] |
Facoltativo. Elenco di frasi vietate. Si applica solo alle risposte degli agenti. |
matchType |
Obbligatorio. Tipo di corrispondenza per il filtro dei contenuti. |
disregardDiacritics |
Facoltativo. Se true, i segni diacritici vengono ignorati durante la ricerca di corrispondenze. |
LlmPromptSecurity
| Rappresentazione JSON |
|---|
{ "failOpen": boolean, // Union field |
| Campi | |
|---|---|
failOpen |
Facoltativo. Determina il comportamento quando la barriera di protezione rileva un errore del modello linguistico di grandi dimensioni. - Se true: la barriera di protezione viene bypassata. - Se il valore è false (impostazione predefinita), il guardrail viene attivato/bloccato. Nota: se viene fornita una norma personalizzata, questo campo viene ignorato a favore della configurazione "fail_open" della norma. |
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 |
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 |
Facoltativo. Utilizza una LlmPolicy definita dall'utente per configurare la barriera di sicurezza. |
DefaultSecuritySettings
| Rappresentazione JSON |
|---|
{ "defaultPromptTemplate": string } |
| Campi | |
|---|---|
defaultPromptTemplate |
Solo output. Il modello di prompt predefinito utilizzato dal sistema. Questo campo viene visualizzato per mostrare all'utente il prompt utilizzato dal sistema per impostazione predefinita. È OUTPUT_ONLY. |
LlmPolicy
| Rappresentazione JSON |
|---|
{ "maxConversationMessages": integer, "modelSettings": { object ( |
| Campi | |
|---|---|
maxConversationMessages |
Facoltativo. Quando controlli questa norma, considera gli ultimi "n" messaggi della conversazione. Se non viene impostato, viene utilizzato un valore predefinito di 10. |
modelSettings |
Facoltativo. Impostazioni del modello. |
prompt |
Obbligatorio. Prompt delle norme. |
policyScope |
Obbligatorio. Definisce quando applicare il controllo delle norme durante la conversazione. Se impostato su |
failOpen |
Facoltativo. Se si verifica un errore durante il controllo delle norme, non eseguire l'operazione e non attivare la protezione. |
allowShortUtterance |
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, // Union field |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non è impostato, l'agente erediterà il modello dall'agente principale. |
Campo unione
|
|
temperature |
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 ( |
| Campi | |
|---|---|
safetySettings[] |
Obbligatorio. Elenco delle impostazioni di sicurezza. |
SafetySetting
| Rappresentazione JSON |
|---|
{ "category": enum ( |
| Campi | |
|---|---|
category |
Obbligatorio. La categoria del danno. |
threshold |
Obbligatorio. Soglia di blocco dei contenuti dannosi. |
CodeCallback
| Rappresentazione JSON |
|---|
{ "beforeAgentCallback": { object ( |
| Campi | |
|---|---|
beforeAgentCallback |
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 |
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 |
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 |
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 |
| Campi | |
|---|---|
description |
Facoltativo. Descrizione leggibile del callback. |
disabled |
Facoltativo. Indica se il callback è disattivato. I callback disattivati vengono ignorati dall'agente. |
proactiveExecutionEnabled |
Facoltativo. Se abilitata, la richiamata verrà eseguita anche sugli output intermedi del modello. Questa impostazione ha effetto solo dopo il callback del modello. ATTIVARE 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 |
Obbligatorio. Il codice Python da eseguire per il callback. |
TriggerAction
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione action. L'azione da intraprendere. action può essere solo uno dei seguenti tipi: |
|
respondImmediately |
Facoltativo. Rispondere immediatamente con una risposta preconfigurata. |
transferAgent |
Facoltativo. Trasferire la conversazione a un altro agente. |
generativeAnswer |
Facoltativo. Rispondi con una risposta generativa. |
RespondImmediately
| Rappresentazione JSON |
|---|
{
"responses": [
{
object ( |
| Campi | |
|---|---|
responses[] |
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 |
Obbligatorio. Testo con cui l'agente deve rispondere. |
disabled |
Facoltativo. Indica se la risposta è disattivata. Le risposte disattivate non vengono utilizzate dall'agente. |
TransferAgent
| Rappresentazione JSON |
|---|
{ "agent": string } |
| Campi | |
|---|---|
agent |
Obbligatorio. Il nome dell'agente a cui trasferire la conversazione. L'agente deve trovarsi nella stessa app dell'agente attuale. Formato: |
GenerativeAnswer
| Rappresentazione JSON |
|---|
{ "prompt": string } |
| Campi | |
|---|---|
prompt |
Obbligatorio. Il prompt da utilizzare per la risposta generativa. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi di tempo UTC a partire dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori non negativi dei nanosecondi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
Annotazioni dello strumento
Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌