MCP Tools Reference: ces.googleapis.com

Outil : update_guardrail

Met à jour la barrière de sécurité spécifiée. Veillez à toujours transmettre un masque de mise à jour dans l'entrée.

L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP update_guardrail.

Requête 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": "update_guardrail",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schéma d'entrée

Message de requête pour AgentService.UpdateGuardrail.

UpdateGuardrailRequest

Représentation JSON
{
  "guardrail": {
    object (Guardrail)
  },
  "updateMask": string
}
Champs
guardrail

object (Guardrail)

Obligatoire. La barrière de sécurité à mettre à jour.

updateMask

string (FieldMask format)

Facultatif. Le masque de champ permet de contrôler les champs à mettre à jour. Si le masque n'est pas présent, tous les champs seront mis à jour.

Il s'agit d'une liste de noms de champs complets séparés par une virgule. Exemple : "user.displayName,photo".

Garde-fou

Représentation 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.
}
Champs
name

string

Identifiant. Identifiant unique de la barrière de sécurité. Format : projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Obligatoire. Nom à afficher de la barrière de sécurité.

description

string

Facultatif. Description de la garde-fous.

enabled

boolean

Facultatif. Indique si la protection est activée.

action

object (TriggerAction)

Facultatif. Action à effectuer lorsque le garde-fou est déclenché.

createTime

string (Timestamp format)

Uniquement en sortie. Horodatage de la création de la barrière de sécurité.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Horodatage de la dernière mise à jour de la protection.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Etag utilisé pour s'assurer que l'objet n'a pas changé lors d'une opération de lecture-modification-écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées.

Champ d'union guardrail_type. Type de garde-fou. guardrail_type ne peut être qu'un des éléments suivants :
contentFilter

object (ContentFilter)

Facultatif. Règle de protection qui interdit l'utilisation de certains contenus dans la conversation.

llmPromptSecurity

object (LlmPromptSecurity)

Facultatif. Guardrail qui bloque la conversation si le prompt est considéré comme dangereux d'après la classification du LLM.

llmPolicy

object (LlmPolicy)

Facultatif. Guardrail qui bloque la conversation si la réponse du LLM est considérée comme enfreignant la règle en fonction de la classification du LLM.

modelSafety

object (ModelSafety)

Facultatif. Garde-fou qui bloque la conversation si la réponse du LLM est considérée comme non sécurisée en fonction des paramètres de sécurité du modèle.

codeCallback

object (CodeCallback)

Facultatif. Glissière de sécurité qui bloque potentiellement la conversation en fonction du résultat de l'exécution du rappel.

supervisor

object (Supervisor)

Facultatif. Garde-fou qui exécute l'intervention du superviseur.

ContentFilter

Représentation JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
Champs
bannedContents[]

string

Facultatif. Liste des expressions interdites. S'applique aux entrées utilisateur et aux réponses de l'agent.

bannedContentsInUserInput[]

string

Facultatif. Liste des expressions interdites. S'applique uniquement aux entrées utilisateur.

bannedContentsInAgentResponse[]

string

Facultatif. Liste des expressions interdites. S'applique uniquement aux réponses de l'agent.

matchType

enum (MatchType)

Obligatoire. Type de correspondance pour le filtre de contenu.

disregardDiacritics

boolean

Facultatif. Si la valeur est "true", les signes diacritiques sont ignorés lors de la mise en correspondance.

sensitiveWordsExemptions[]

string

Facultatif. Entrées de la liste de mots sensibles que ce garde-fou autorise. Valide uniquement lorsque match_type est défini sur SENSITIVE_WORDS. Chaque valeur doit correspondre à une entrée de la liste (non sensible à la casse, les espaces environnants sont ignorés). Les autres valeurs n'ont aucun effet. S'applique uniquement à cette protection. 1 000 entrées maximum de 256 caractères chacune.

LlmPromptSecurity

Représentation 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.
}
Champs
failOpen

boolean

Facultatif. Détermine le comportement lorsque le garde-fou rencontre une erreur de LLM. - Si la valeur est "true", la garde-fou est ignoré. - Si la valeur est "false" (par défaut), le garde-fou se déclenche/bloque.

Remarque : Si une règle personnalisée est fournie, ce champ est ignoré au profit de la configuration "fail_open" de la règle.

Champ d'union security_config. Définit le mode de configuration de la sécurité. L'utilisateur doit choisir l'une des configurations suivantes. security_config ne peut être qu'un des éléments suivants :
defaultSettings

object (DefaultSecuritySettings)

Facultatif. Utilisez les paramètres de sécurité par défaut prédéfinis du système. Pour sélectionner ce mode, incluez un message "default_settings" vide dans la requête. Le champ "default_prompt_template" qu'il contient sera renseigné par le serveur dans la réponse.

customPolicy

object (LlmPolicy)

Facultatif. Utilisez une LlmPolicy définie par l'utilisateur pour configurer le garde-fou de sécurité.

DefaultSecuritySettings

Représentation JSON
{
  "defaultPromptTemplate": string
}
Champs
defaultPromptTemplate

string

Uniquement en sortie. Modèle de prompt par défaut utilisé par le système. Ce champ sert à afficher la requête que le système utilise par défaut. Il s'agit d'un champ OUTPUT_ONLY.

LlmPolicy

Représentation JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Champs
maxConversationMessages

integer

Facultatif. Lors de la vérification de cette règle, tenez compte des "n" derniers messages de la conversation. Si aucune valeur n'est définie, la valeur par défaut est de 10.

modelSettings

object (ModelSettings)

Facultatif. Paramètres du modèle.

prompt

string

Obligatoire. Invite de règle. Accepte les espaces réservés pour les variables de session ({var}) ainsi que {agent_system_instruction} pour injecter les instructions système résolues de l'agent.

policyScope

enum (PolicyScope)

Obligatoire. Définit quand appliquer la vérification de la règle pendant la conversation. Si elle est définie sur POLICY_SCOPE_UNSPECIFIED, la règle sera appliquée à l'entrée utilisateur. Lorsque vous appliquez la règle à la réponse de l'agent, une latence supplémentaire est introduite avant que l'agent puisse répondre.

failOpen

boolean

Facultatif. Si une erreur se produit lors de la vérification de la règle, l'ouverture en cas de défaillance est activée et le garde-fou n'est pas déclenché.

allowShortUtterance

boolean

Facultatif. Par défaut, la vérification des règles du LLM est ignorée pour les énoncés courts. Si vous activez ce paramètre, la vérification des règles s'applique à tous les énoncés, y compris ceux qui seraient normalement ignorés.

ModelSettings

Représentation 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.
}
Champs
model

string

Facultatif. Modèle LLM que l'agent doit utiliser. Si ce champ n'est pas défini, l'agent héritera du modèle de son agent parent.

thinkingLevel

enum (ThinkingLevel)

Facultatif. Niveau de raisonnement du modèle.

Champ d'union _temperature.

_temperature ne peut être qu'un des éléments suivants :

temperature

number

Facultatif. Si elle est définie, cette température sera utilisée pour le modèle LLM. La température contrôle le degré de hasard des réponses du modèle. Des températures plus basses produisent des réponses plus prévisibles. Les températures plus élevées produisent des réponses plus créatives.

ModelSafety

Représentation JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Champs
safetySettings[]

object (SafetySetting)

Obligatoire. Liste des paramètres de sécurité.

SafetySetting

Représentation JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Champs
category

enum (HarmCategory)

Obligatoire. La catégorie de préjudice.

threshold

enum (HarmBlockThreshold)

Obligatoire. Seuil de blocage de préjudice.

CodeCallback

Représentation JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Champs
beforeAgentCallback

object (Callback)

Facultatif. Rappel à exécuter avant l'appel de l'agent. Chaque fonction de rappel doit renvoyer une structure (par exemple, un dictionnaire ou un objet) contenant au moins : - "decision" : "OK" ou "TRIGGER". - "reason" : chaîne expliquant la décision. Une décision "TRIGGER" peut interrompre le traitement.

afterAgentCallback

object (Callback)

Facultatif. Rappel à exécuter après l'appel de l'agent. Chaque fonction de rappel doit renvoyer une structure (par exemple, un dictionnaire ou un objet) contenant au moins : - "decision" : "OK" ou "TRIGGER". - "reason" : chaîne expliquant la décision. Une décision "TRIGGER" peut interrompre le traitement.

beforeModelCallback

object (Callback)

Facultatif. Rappel à exécuter avant l'appel du modèle. Si plusieurs appels sont effectués vers le modèle, le rappel sera exécuté plusieurs fois. Chaque fonction de rappel doit renvoyer une structure (par exemple, un dictionnaire ou un objet) contenant au moins : - "decision" : "OK" ou "TRIGGER". - "reason" : chaîne expliquant la décision. Une décision "TRIGGER" peut interrompre le traitement.

afterModelCallback

object (Callback)

Facultatif. Rappel à exécuter après l'appel du modèle. Si plusieurs appels sont effectués vers le modèle, le rappel sera exécuté plusieurs fois. Chaque fonction de rappel doit renvoyer une structure (par exemple, un dictionnaire ou un objet) contenant au moins : - "decision" : "OK" ou "TRIGGER". - "reason" : chaîne expliquant la décision. Une décision "TRIGGER" peut interrompre le traitement.

Rappel

Représentation 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.
}
Champs
description

string

Facultatif. Description lisible par l'humain du rappel.

disabled

boolean

Facultatif. Indique si le rappel est désactivé. Les rappels désactivés sont ignorés par l'agent.

proactiveExecutionEnabled

boolean

Facultatif. Si cette option est activée, le rappel sera également exécuté sur les sorties de modèle intermédiaires. Ce paramètre n'affecte que le rappel "Après le modèle". À ACTIVER AVEC PRÉCAUTION. En règle générale, le rappel "Après le modèle" ne doit être exécuté qu'après la réception de toutes les réponses du modèle. L'activation de l'exécution proactive peut avoir un impact négatif sur le coût et la latence de l'exécution. Elle ne doit être activée que dans de rares situations.

Champ d'union callback. Rappel à exécuter. callback ne peut être qu'un des éléments suivants :
pythonCode

string

Obligatoire. Code Python à exécuter pour le rappel.

Superviseur

Représentation JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Champs
type

enum (Type)

Facultatif. Type de superviseur.

detectionMode

enum (DetectionMode)

Facultatif. Mode de détection du superviseur.

TriggerAction

Représentation 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.
}
Champs
Champ d'union action. Action à effectuer. action ne peut être qu'un des éléments suivants :
respondImmediately

object (RespondImmediately)

Facultatif. Répondez immédiatement avec une réponse préconfigurée.

transferAgent

object (TransferAgent)

Facultatif. Transférez la conversation à un autre agent.

generativeAnswer

object (GenerativeAnswer)

Facultatif. Répondre avec une réponse générative.

RespondImmediately

Représentation JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Champs
responses[]

object (Response)

Obligatoire. Réponses standardisées parmi lesquelles l'agent peut choisir. La réponse est choisie de manière aléatoire.

Réponse

Représentation JSON
{
  "text": string,
  "disabled": boolean
}
Champs
text

string

Obligatoire. Texte de la réponse de l'agent.

disabled

boolean

Facultatif. Indique si la réponse est désactivée. Les réponses désactivées ne sont pas utilisées par l'agent.

TransferAgent

Représentation JSON
{
  "agent": string
}
Champs
agent

string

Obligatoire. Nom de l'agent vers lequel transférer la conversation. L'agent doit se trouver dans la même application que l'agent actuel. Format : projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Représentation JSON
{
  "prompt": string
}
Champs
prompt

string

Obligatoire. Requête à utiliser pour la réponse générative.

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. Doit être compris entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z à 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 (inclus).

FieldMask

Représentation JSON
{
  "paths": [
    string
  ]
}
Champs
paths[]

string

Ensemble de chemins d'accès au masque de champ.

MatchType

Type de correspondance pour le filtre de contenu.

Enums
MATCH_TYPE_UNSPECIFIED Le type de correspondance n'est pas spécifié.
SIMPLE_STRING_MATCH La correspondance de contenu est établie pour les sous-chaînes caractère par caractère.
WORD_BOUNDARY_STRING_MATCH Le contenu ne correspond que si le motif trouvé dans le texte est entouré de délimiteurs de mots. Les expressions interdites peuvent également contenir des délimiteurs de mots.
REGEXP_MATCH Le contenu est mis en correspondance à l'aide de la syntaxe des expressions régulières.
SENSITIVE_WORDS Le contenu est comparé à une liste de mots et d'expressions sensibles gérée par le système. Associer un garde-fou avec ce type de correspondance à une application ou à un agent remplace le filtre de mots sensibles par défaut pour les agents concernés. Désactivez le garde-fou pour désactiver le filtre par défaut.

ThinkingLevel

Configuration du niveau de raisonnement pour le modèle.

Enums
THINKING_LEVEL_UNSPECIFIED Le niveau de raisonnement n'est pas spécifié.
DEFAULT Niveau de raisonnement par défaut.
LOW Niveau de réflexion faible.
MEDIUM Niveau de raisonnement intermédiaire.
HIGH Niveau de raisonnement élevé.

PolicyScope

Définit quand appliquer la vérification de la règle pendant la conversation.

Enums
POLICY_SCOPE_UNSPECIFIED Le champ d'application de la règle n'est pas spécifié.
USER_QUERY La vérification des règles est déclenchée par une entrée utilisateur.
AGENT_RESPONSE La vérification des règles est déclenchée sur la réponse de l'agent. L'application de ce champ d'application de la règle entraînera une latence supplémentaire avant que l'agent puisse répondre.
USER_QUERY_AND_AGENT_RESPONSE La vérification des règles est déclenchée à la fois sur l'entrée utilisateur et sur la réponse de l'agent. L'application de ce champ d'application de la règle entraînera une latence supplémentaire avant que l'agent puisse répondre.

HarmCategory

Catégorie de préjudice.

Enums
HARM_CATEGORY_UNSPECIFIED La catégorie de préjudice n'est pas spécifiée.
HARM_CATEGORY_HATE_SPEECH La catégorie de préjudice est "incitation à la haine".
HARM_CATEGORY_DANGEROUS_CONTENT La catégorie de préjudice est "contenu dangereux".
HARM_CATEGORY_HARASSMENT La catégorie de préjudice est "harcèlement".
HARM_CATEGORY_SEXUALLY_EXPLICIT La catégorie de préjudice est "contenu à caractère sexuel explicite".
HARM_CATEGORY_PROFANITY La catégorie de préjudice est "langage grossier".
HARM_CATEGORY_TOXIC La catégorie de préjudice est "toxique".

HarmBlockThreshold

Niveaux de seuil basés sur la probabilité pour le blocage.

Enums
HARM_BLOCK_THRESHOLD_UNSPECIFIED Seuil de blocage de préjudice non spécifié.
BLOCK_LOW_AND_ABOVE Bloquer les seuils faibles et supérieurs (augmenter le nombre de blocages).
BLOCK_MEDIUM_AND_ABOVE Bloquer les seuils moyens et supérieurs.
BLOCK_ONLY_HIGH Bloquer uniquement les seuils élevés (réduire le nombre de blocage).
BLOCK_NONE Ne rien bloquer.
OFF Désactivez le filtre de sécurité.

Type

Type de superviseur.

Enums
TYPE_UNSPECIFIED Le type n'est pas spécifié.
INVALID_TEXT Type de problème de texte non valide.
LANGUAGE_SHIFT Type de problème de changement de langue.
SPEAKER_SHIFT Type de problème de changement de locuteur.
AUDIO_MISMATCH Type de problème de non-concordance audio.
MISSING_TOOL_CALL Type de problème d'appel d'outil manquant.
CUSTOM Type de problème personnalisé.
CHOPPY_AUDIO Type de problème de son haché.
PROFANITY Type de problème de grossièreté de l'agent.

DetectionMode

Mode de détection du superviseur.

Enums
DETECTION_MODE_UNSPECIFIED Le mode de détection n'est pas spécifié. La valeur par défaut est NON_BLOCKING.
NON_BLOCKING Mode de détection non bloquant. La réponse n'est pas bloquée lorsque la détection du superviseur est en cours.
BLOCKING Mode de détection de blocage. La réponse est bloquée lorsque la détection du superviseur est en cours.

Schéma de sortie

Le garde-fou contient une liste de contrôles et d'équilibres pour assurer la sécurité des agents.

Garde-fou

Représentation 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.
}
Champs
name

string

Identifiant. Identifiant unique de la barrière de sécurité. Format : projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Obligatoire. Nom à afficher de la barrière de sécurité.

description

string

Facultatif. Description de la garde-fous.

enabled

boolean

Facultatif. Indique si la protection est activée.

action

object (TriggerAction)

Facultatif. Action à effectuer lorsque le garde-fou est déclenché.

createTime

string (Timestamp format)

Uniquement en sortie. Horodatage de la création de la barrière de sécurité.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Horodatage de la dernière mise à jour de la protection.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Etag utilisé pour s'assurer que l'objet n'a pas changé lors d'une opération de lecture-modification-écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées.

Champ d'union guardrail_type. Type de garde-fou. guardrail_type ne peut être qu'un des éléments suivants :
contentFilter

object (ContentFilter)

Facultatif. Règle de protection qui interdit l'utilisation de certains contenus dans la conversation.

llmPromptSecurity

object (LlmPromptSecurity)

Facultatif. Guardrail qui bloque la conversation si le prompt est considéré comme dangereux d'après la classification du LLM.

llmPolicy

object (LlmPolicy)

Facultatif. Guardrail qui bloque la conversation si la réponse du LLM est considérée comme enfreignant la règle en fonction de la classification du LLM.

modelSafety

object (ModelSafety)

Facultatif. Garde-fou qui bloque la conversation si la réponse du LLM est considérée comme non sécurisée en fonction des paramètres de sécurité du modèle.

codeCallback

object (CodeCallback)

Facultatif. Glissière de sécurité qui bloque potentiellement la conversation en fonction du résultat de l'exécution du rappel.

supervisor

object (Supervisor)

Facultatif. Garde-fou qui exécute l'intervention du superviseur.

ContentFilter

Représentation JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
Champs
bannedContents[]

string

Facultatif. Liste des expressions interdites. S'applique aux entrées utilisateur et aux réponses de l'agent.

bannedContentsInUserInput[]

string

Facultatif. Liste des expressions interdites. S'applique uniquement aux entrées utilisateur.

bannedContentsInAgentResponse[]

string

Facultatif. Liste des expressions interdites. S'applique uniquement aux réponses de l'agent.

matchType

enum (MatchType)

Obligatoire. Type de correspondance pour le filtre de contenu.

disregardDiacritics

boolean

Facultatif. Si la valeur est "true", les signes diacritiques sont ignorés lors de la mise en correspondance.

sensitiveWordsExemptions[]

string

Facultatif. Entrées de la liste de mots sensibles que ce garde-fou autorise. Valide uniquement lorsque match_type est défini sur SENSITIVE_WORDS. Chaque valeur doit correspondre à une entrée de la liste (non sensible à la casse, les espaces environnants sont ignorés). Les autres valeurs n'ont aucun effet. S'applique uniquement à cette protection. 1 000 entrées maximum de 256 caractères chacune.

LlmPromptSecurity

Représentation 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.
}
Champs
failOpen

boolean

Facultatif. Détermine le comportement lorsque le garde-fou rencontre une erreur de LLM. - Si la valeur est "true", la garde-fou est ignoré. - Si la valeur est "false" (par défaut), le garde-fou se déclenche/bloque.

Remarque : Si une règle personnalisée est fournie, ce champ est ignoré au profit de la configuration "fail_open" de la règle.

Champ d'union security_config. Définit le mode de configuration de la sécurité. L'utilisateur doit choisir l'une des configurations suivantes. security_config ne peut être qu'un des éléments suivants :
defaultSettings

object (DefaultSecuritySettings)

Facultatif. Utilisez les paramètres de sécurité par défaut prédéfinis du système. Pour sélectionner ce mode, incluez un message "default_settings" vide dans la requête. Le champ "default_prompt_template" qu'il contient sera renseigné par le serveur dans la réponse.

customPolicy

object (LlmPolicy)

Facultatif. Utilisez une LlmPolicy définie par l'utilisateur pour configurer le garde-fou de sécurité.

DefaultSecuritySettings

Représentation JSON
{
  "defaultPromptTemplate": string
}
Champs
defaultPromptTemplate

string

Uniquement en sortie. Modèle de prompt par défaut utilisé par le système. Ce champ sert à afficher la requête que le système utilise par défaut. Il s'agit d'un champ OUTPUT_ONLY.

LlmPolicy

Représentation JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Champs
maxConversationMessages

integer

Facultatif. Lors de la vérification de cette règle, tenez compte des "n" derniers messages de la conversation. Si aucune valeur n'est définie, la valeur par défaut est de 10.

modelSettings

object (ModelSettings)

Facultatif. Paramètres du modèle.

prompt

string

Obligatoire. Invite de règle. Accepte les espaces réservés pour les variables de session ({var}) ainsi que {agent_system_instruction} pour injecter les instructions système résolues de l'agent.

policyScope

enum (PolicyScope)

Obligatoire. Définit quand appliquer la vérification de la règle pendant la conversation. Si elle est définie sur POLICY_SCOPE_UNSPECIFIED, la règle sera appliquée à l'entrée utilisateur. Lorsque vous appliquez la règle à la réponse de l'agent, une latence supplémentaire est introduite avant que l'agent puisse répondre.

failOpen

boolean

Facultatif. Si une erreur se produit lors de la vérification de la règle, l'ouverture en cas de défaillance est activée et le garde-fou n'est pas déclenché.

allowShortUtterance

boolean

Facultatif. Par défaut, la vérification des règles du LLM est ignorée pour les énoncés courts. Si vous activez ce paramètre, la vérification des règles s'applique à tous les énoncés, y compris ceux qui seraient normalement ignorés.

ModelSettings

Représentation 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.
}
Champs
model

string

Facultatif. Modèle LLM que l'agent doit utiliser. Si ce champ n'est pas défini, l'agent héritera du modèle de son agent parent.

thinkingLevel

enum (ThinkingLevel)

Facultatif. Niveau de raisonnement du modèle.

Champ d'union _temperature.

_temperature ne peut être qu'un des éléments suivants :

temperature

number

Facultatif. Si elle est définie, cette température sera utilisée pour le modèle LLM. La température contrôle le degré de hasard des réponses du modèle. Des températures plus basses produisent des réponses plus prévisibles. Les températures plus élevées produisent des réponses plus créatives.

ModelSafety

Représentation JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Champs
safetySettings[]

object (SafetySetting)

Obligatoire. Liste des paramètres de sécurité.

SafetySetting

Représentation JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Champs
category

enum (HarmCategory)

Obligatoire. La catégorie de préjudice.

threshold

enum (HarmBlockThreshold)

Obligatoire. Seuil de blocage de préjudice.

CodeCallback

Représentation JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Champs
beforeAgentCallback

object (Callback)

Facultatif. Rappel à exécuter avant l'appel de l'agent. Chaque fonction de rappel doit renvoyer une structure (par exemple, un dictionnaire ou un objet) contenant au moins : - "decision" : "OK" ou "TRIGGER". - "reason" : chaîne expliquant la décision. Une décision "TRIGGER" peut interrompre le traitement.

afterAgentCallback

object (Callback)

Facultatif. Rappel à exécuter après l'appel de l'agent. Chaque fonction de rappel doit renvoyer une structure (par exemple, un dictionnaire ou un objet) contenant au moins : - "decision" : "OK" ou "TRIGGER". - "reason" : chaîne expliquant la décision. Une décision "TRIGGER" peut interrompre le traitement.

beforeModelCallback

object (Callback)

Facultatif. Rappel à exécuter avant l'appel du modèle. Si plusieurs appels sont effectués vers le modèle, le rappel sera exécuté plusieurs fois. Chaque fonction de rappel doit renvoyer une structure (par exemple, un dictionnaire ou un objet) contenant au moins : - "decision" : "OK" ou "TRIGGER". - "reason" : chaîne expliquant la décision. Une décision "TRIGGER" peut interrompre le traitement.

afterModelCallback

object (Callback)

Facultatif. Rappel à exécuter après l'appel du modèle. Si plusieurs appels sont effectués vers le modèle, le rappel sera exécuté plusieurs fois. Chaque fonction de rappel doit renvoyer une structure (par exemple, un dictionnaire ou un objet) contenant au moins : - "decision" : "OK" ou "TRIGGER". - "reason" : chaîne expliquant la décision. Une décision "TRIGGER" peut interrompre le traitement.

Rappel

Représentation 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.
}
Champs
description

string

Facultatif. Description lisible par l'humain du rappel.

disabled

boolean

Facultatif. Indique si le rappel est désactivé. Les rappels désactivés sont ignorés par l'agent.

proactiveExecutionEnabled

boolean

Facultatif. Si cette option est activée, le rappel sera également exécuté sur les sorties de modèle intermédiaires. Ce paramètre n'affecte que le rappel "Après le modèle". À ACTIVER AVEC PRÉCAUTION. En règle générale, le rappel "Après le modèle" ne doit être exécuté qu'après la réception de toutes les réponses du modèle. L'activation de l'exécution proactive peut avoir un impact négatif sur le coût et la latence de l'exécution. Elle ne doit être activée que dans de rares situations.

Champ d'union callback. Rappel à exécuter. callback ne peut être qu'un des éléments suivants :
pythonCode

string

Obligatoire. Code Python à exécuter pour le rappel.

Superviseur

Représentation JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Champs
type

enum (Type)

Facultatif. Type de superviseur.

detectionMode

enum (DetectionMode)

Facultatif. Mode de détection du superviseur.

TriggerAction

Représentation 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.
}
Champs
Champ d'union action. Action à effectuer. action ne peut être qu'un des éléments suivants :
respondImmediately

object (RespondImmediately)

Facultatif. Répondez immédiatement avec une réponse préconfigurée.

transferAgent

object (TransferAgent)

Facultatif. Transférez la conversation à un autre agent.

generativeAnswer

object (GenerativeAnswer)

Facultatif. Répondre avec une réponse générative.

RespondImmediately

Représentation JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Champs
responses[]

object (Response)

Obligatoire. Réponses standardisées parmi lesquelles l'agent peut choisir. La réponse est choisie de manière aléatoire.

Réponse

Représentation JSON
{
  "text": string,
  "disabled": boolean
}
Champs
text

string

Obligatoire. Texte de la réponse de l'agent.

disabled

boolean

Facultatif. Indique si la réponse est désactivée. Les réponses désactivées ne sont pas utilisées par l'agent.

TransferAgent

Représentation JSON
{
  "agent": string
}
Champs
agent

string

Obligatoire. Nom de l'agent vers lequel transférer la conversation. L'agent doit se trouver dans la même application que l'agent actuel. Format : projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Représentation JSON
{
  "prompt": string
}
Champs
prompt

string

Obligatoire. Requête à utiliser pour la réponse générative.

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. Doit être compris entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z à 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 (inclus).

MatchType

Type de correspondance pour le filtre de contenu.

Enums
MATCH_TYPE_UNSPECIFIED Le type de correspondance n'est pas spécifié.
SIMPLE_STRING_MATCH La correspondance de contenu est établie pour les sous-chaînes caractère par caractère.
WORD_BOUNDARY_STRING_MATCH Le contenu ne correspond que si le motif trouvé dans le texte est entouré de délimiteurs de mots. Les expressions interdites peuvent également contenir des délimiteurs de mots.
REGEXP_MATCH Le contenu est mis en correspondance à l'aide de la syntaxe des expressions régulières.
SENSITIVE_WORDS Le contenu est comparé à une liste de mots et d'expressions sensibles gérée par le système. Associer un garde-fou avec ce type de correspondance à une application ou à un agent remplace le filtre de mots sensibles par défaut pour les agents concernés. Désactivez le garde-fou pour désactiver le filtre par défaut.

ThinkingLevel

Configuration du niveau de raisonnement pour le modèle.

Enums
THINKING_LEVEL_UNSPECIFIED Le niveau de raisonnement n'est pas spécifié.
DEFAULT Niveau de raisonnement par défaut.
LOW Niveau de réflexion faible.
MEDIUM Niveau de raisonnement intermédiaire.
HIGH Niveau de raisonnement élevé.

PolicyScope

Définit quand appliquer la vérification de la règle pendant la conversation.

Enums
POLICY_SCOPE_UNSPECIFIED Le champ d'application de la règle n'est pas spécifié.
USER_QUERY La vérification des règles est déclenchée par une entrée utilisateur.
AGENT_RESPONSE La vérification des règles est déclenchée sur la réponse de l'agent. L'application de ce champ d'application de la règle entraînera une latence supplémentaire avant que l'agent puisse répondre.
USER_QUERY_AND_AGENT_RESPONSE La vérification des règles est déclenchée à la fois sur l'entrée utilisateur et sur la réponse de l'agent. L'application de ce champ d'application de la règle entraînera une latence supplémentaire avant que l'agent puisse répondre.

HarmCategory

Catégorie de préjudice.

Enums
HARM_CATEGORY_UNSPECIFIED La catégorie de préjudice n'est pas spécifiée.
HARM_CATEGORY_HATE_SPEECH La catégorie de préjudice est "incitation à la haine".
HARM_CATEGORY_DANGEROUS_CONTENT La catégorie de préjudice est "contenu dangereux".
HARM_CATEGORY_HARASSMENT La catégorie de préjudice est "harcèlement".
HARM_CATEGORY_SEXUALLY_EXPLICIT La catégorie de préjudice est "contenu à caractère sexuel explicite".
HARM_CATEGORY_PROFANITY La catégorie de préjudice est "langage grossier".
HARM_CATEGORY_TOXIC La catégorie de préjudice est "toxique".

HarmBlockThreshold

Niveaux de seuil basés sur la probabilité pour le blocage.

Enums
HARM_BLOCK_THRESHOLD_UNSPECIFIED Seuil de blocage de préjudice non spécifié.
BLOCK_LOW_AND_ABOVE Bloquer les seuils faibles et supérieurs (augmenter le nombre de blocages).
BLOCK_MEDIUM_AND_ABOVE Bloquer les seuils moyens et supérieurs.
BLOCK_ONLY_HIGH Bloquer uniquement les seuils élevés (réduire le nombre de blocage).
BLOCK_NONE Ne rien bloquer.
OFF Désactivez le filtre de sécurité.

Type

Type de superviseur.

Enums
TYPE_UNSPECIFIED Le type n'est pas spécifié.
INVALID_TEXT Type de problème de texte non valide.
LANGUAGE_SHIFT Type de problème de changement de langue.
SPEAKER_SHIFT Type de problème de changement de locuteur.
AUDIO_MISMATCH Type de problème de non-concordance audio.
MISSING_TOOL_CALL Type de problème d'appel d'outil manquant.
CUSTOM Type de problème personnalisé.
CHOPPY_AUDIO Type de problème de son haché.
PROFANITY Type de problème de grossièreté de l'agent.

DetectionMode

Mode de détection du superviseur.

Enums
DETECTION_MODE_UNSPECIFIED Le mode de détection n'est pas spécifié. La valeur par défaut est NON_BLOCKING.
NON_BLOCKING Mode de détection non bloquant. La réponse n'est pas bloquée lorsque la détection du superviseur est en cours.
BLOCKING Mode de détection de blocage. La réponse est bloquée lorsque la détection du superviseur est en cours.

Annotations d'outils

Les annotations d'outil sont envoyées aux clients MCP pour décrire le risque de base d'un outil donné. La plupart des clients considèrent ces indications comme non fiables, mais elles peuvent être utilisées pour décider quand envoyer une invite de confirmation à un utilisateur.

En plus de la chaîne de titre, les indices booléens suivants sont définis comme suit :

  • readOnlyHint : si la valeur est "true", l'outil ne modifie pas son environnement. Valeur par défaut : "false".
  • destructiveHint : si la valeur est "true", l'outil peut effectuer des actions destructrices. Si la valeur est "false", l'outil ne peut effectuer que des actions d'ajout. Valeur par défaut : "true".
  • idempotentHint : si la valeur est "true", l'appel répété de l'outil avec les mêmes arguments n'aura aucun effet supplémentaire sur son environnement. Valeur par défaut : "false".
  • openWorldHint : si la valeur est "true", l'outil peut interagir avec un "monde ouvert" d'entités externes. Si la valeur est "false", l'outil ne peut interagir qu'avec des entités internes. Par exemple, un outil de recherche sur le Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.

Indication de destruction : ✅ | Indication d'idempotence : ❌ | Indication de lecture seule : ❌ | Indication en monde ouvert : ❌