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 ( |
| Campi | |
|---|---|
parent |
Obbligatorio. Il nome della risorsa dell'app in cui creare una barriera protettiva. |
guardrailId |
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 |
Obbligatorio. Il guardrail da creare. |
Guardrail
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "description": string, "enabled": boolean, "action": { object ( |
| Campi | |
|---|---|
name |
Identificatore. L'identificatore univoco del guardrail. Formato: |
displayName |
Obbligatorio. Nome visualizzato della barriera protettiva. |
description |
Facoltativo. Descrizione della barriera protettiva. |
enabled |
Facoltativo. Indica se la protezione è 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 vieta l'utilizzo di determinati contenuti nella conversazione. |
llmPromptSecurity |
Facoltativo. Misura di protezione che blocca la conversazione se il prompt è considerato non sicuro in base alla classificazione LLM. |
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 |
Facoltativo. Barriera protettiva che blocca la conversazione se la risposta dell'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. |
supervisor |
Facoltativo. Guardrail che esegue l'intervento del supervisore. |
ContentFilter
| Rappresentazione JSON |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| Campi | |
|---|---|
bannedContents[] |
Facoltativo. Elenco di frasi vietate. Si applica sia agli input 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 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 |
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 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 ( |
| Campi | |
|---|---|
maxConversationMessages |
Facoltativo. Quando controlli questa norma, considera gli ultimi "n" messaggi della conversazione. Se non viene impostato, verrà utilizzato il valore predefinito 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, il sistema non interviene e non attiva 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, "thinkingLevel": enum ( |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non viene impostato, l'agente erediterà il modello dal relativo agente principale. |
thinkingLevel |
Facoltativo. Il livello di ragionamento del modello. |
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. Se il richiamo è 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. 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 |
Obbligatorio. Il codice Python da eseguire per il callback. |
Supervisore
| Rappresentazione JSON |
|---|
{ "type": enum ( |
| Campi | |
|---|---|
type |
Facoltativo. Il tipo di supervisore. |
detectionMode |
Facoltativo. La modalità di rilevamento del supervisore. |
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. Rispondere 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 a 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 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 |
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 ( |
| Campi | |
|---|---|
name |
Identificatore. L'identificatore univoco del guardrail. Formato: |
displayName |
Obbligatorio. Nome visualizzato della barriera protettiva. |
description |
Facoltativo. Descrizione della barriera protettiva. |
enabled |
Facoltativo. Indica se la protezione è 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 vieta l'utilizzo di determinati contenuti nella conversazione. |
llmPromptSecurity |
Facoltativo. Misura di protezione che blocca la conversazione se il prompt è considerato non sicuro in base alla classificazione LLM. |
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 |
Facoltativo. Barriera protettiva che blocca la conversazione se la risposta dell'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. |
supervisor |
Facoltativo. Guardrail che esegue l'intervento del supervisore. |
ContentFilter
| Rappresentazione JSON |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| Campi | |
|---|---|
bannedContents[] |
Facoltativo. Elenco di frasi vietate. Si applica sia agli input 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 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 |
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 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 ( |
| Campi | |
|---|---|
maxConversationMessages |
Facoltativo. Quando controlli questa norma, considera gli ultimi "n" messaggi della conversazione. Se non viene impostato, verrà utilizzato il valore predefinito 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, il sistema non interviene e non attiva 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, "thinkingLevel": enum ( |
| Campi | |
|---|---|
model |
Facoltativo. Il modello LLM che l'agente deve utilizzare. Se non viene impostato, l'agente erediterà il modello dal relativo agente principale. |
thinkingLevel |
Facoltativo. Il livello di ragionamento del modello. |
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. Se il richiamo è 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. 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 |
Obbligatorio. Il codice Python da eseguire per il callback. |
Supervisore
| Rappresentazione JSON |
|---|
{ "type": enum ( |
| Campi | |
|---|---|
type |
Facoltativo. Il tipo di supervisore. |
detectionMode |
Facoltativo. La modalità di rilevamento del supervisore. |
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. Rispondere 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 a 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 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 |
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: ❌