Outil : create_tool
Crée un outil dans l'application donnée.
L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP create_tool.
| 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": "create_tool", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schéma d'entrée
Message de requête pour AgentService.CreateTool.
CreateToolRequest
| Représentation JSON |
|---|
{
"parent": string,
"toolId": string,
"tool": {
object ( |
| Champs | |
|---|---|
parent |
Obligatoire. Nom de ressource de l'application dans laquelle créer un outil. |
toolId |
Facultatif. ID à utiliser pour l'outil, qui constituera le composant final du nom de ressource de l'outil. Si aucun ID n'est fourni, un ID unique est automatiquement attribué à l'outil. |
tool |
Obligatoire. Outil à créer. |
Outil
| Représentation JSON |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| Champs | |
|---|---|
name |
Identifiant. Nom de ressource de l'outil. Format :
Ces outils sont dynamiques et en sortie uniquement. Ils ne peuvent pas être référencés directement lorsqu'un outil est attendu. |
displayName |
Uniquement en sortie. Nom à afficher de l'outil, basé sur son type. Par exemple, le nom à afficher d'une [ClientFunction][Tool.ClientFunction] est dérivé de sa propriété |
executionType |
Facultatif. Type d'exécution de l'outil. |
timeout |
Facultatif. Délai d'exécution de l'outil. Si ce paramètre n'est pas défini, le délai d'inactivité par défaut est de 30 secondes pour les outils Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
createTime |
Uniquement en sortie. Code temporel de la création de l'outil. 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 : |
updateTime |
Uniquement en sortie. Code temporel de la dernière mise à jour de l'outil. 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 : |
etag |
Etag utilisé pour s'assurer que l'objet n'a pas été modifié lors d'une opération de lecture/modification/écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées. |
generatedSummary |
Uniquement en sortie. Si l'outil est généré par l'assistant LLM, ce champ contient un résumé descriptif de la génération. |
toolFakeConfig |
Facultatif. Configuration du comportement de l'outil en mode factice. |
Champ d'union tool_type. Type d'outil. tool_type ne peut être qu'un des éléments suivants : |
|
clientFunction |
Facultatif. Fonction client. |
openApiTool |
Facultatif. Outil d'API ouverte. |
googleSearchTool |
Facultatif. Outil de recherche Google. |
connectorTool |
Facultatif. L'outil Integration Connectors. |
dataStoreTool |
Facultatif. Outil de data store. |
pythonFunction |
Facultatif. Outil de fonction Python. |
mcpTool |
Facultatif. L'outil MCP. Il n'est pas possible de créer ni de modifier directement un outil MCP, car il est géré par l'ensemble d'outils MCP. |
fileSearchTool |
Facultatif. Outil de recherche de fichiers. |
systemTool |
Facultatif. L'outil système. |
agentTool |
Facultatif. Outil d'agent. |
widgetTool |
Facultatif. L'outil Widget. |
remoteAgentTool |
Facultatif. L'outil d'agent distant. |
ClientFunction
| Représentation JSON |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de la fonction. |
description |
Facultatif. Description de la fonction. |
parameters |
Facultatif. Schéma des paramètres de la fonction. |
response |
Facultatif. Schéma de la réponse de la fonction. |
Schéma
| Représentation JSON |
|---|
{ "type": enum ( |
| Champs | |
|---|---|
type |
Obligatoire. Type des données. |
properties |
Facultatif. Propriétés de Type.OBJECT. Objet contenant une liste de paires |
required[] |
Facultatif. Propriétés requises de Type.OBJECT. |
description |
Facultatif. Description des données. |
items |
Facultatif. Schéma des éléments de Type.ARRAY. |
nullable |
Facultatif. Indique si la valeur peut être nulle. |
uniqueItems |
Facultatif. Indique que les éléments du tableau doivent être uniques. Ne s'applique qu'à TYPE.ARRAY. |
prefixItems[] |
Facultatif. Schémas des éléments initiaux de Type.ARRAY. |
additionalProperties |
Facultatif. Peut être une valeur booléenne ou un objet. Contrôle la présence de propriétés supplémentaires. |
anyOf[] |
Facultatif. La valeur doit être validée par rapport à l'un ou plusieurs des sous-schémas de la liste. |
enum[] |
Facultatif. Valeurs possibles de l'élément de type primitif avec le format enum. Exemples : 1. Nous pouvons définir la direction comme suit : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Nous pouvons définir le numéro d'appartement comme suit : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Facultatif. Valeur par défaut des données. |
ref |
Facultatif. Permet les références indirectes entre les nœuds de schéma. La valeur doit être une référence valide à un enfant de la racine Par exemple, le schéma suivant définit une référence à un nœud de schéma nommé "Pet" : La valeur de la propriété "pet" est une référence au nœud de schéma nommé "Pet". Pour en savoir plus, consultez https://json-schema.org/understanding-json-schema/structuring. |
defs |
Facultatif. Carte des définitions à utiliser par Objet contenant une liste de paires |
title |
Facultatif. Titre du schéma. |
minItems |
Facultatif. Nombre minimal d'éléments pour Type.ARRAY. |
maxItems |
Facultatif. Nombre maximal d'éléments pour Type.ARRAY. |
Champ d'union
|
|
minimum |
Facultatif. Valeur minimale pour Type.INTEGER et Type.NUMBER. |
Champ d'union
|
|
maximum |
Facultatif. Valeur maximale pour Type.INTEGER et Type.NUMBER. |
PropertiesEntry
| Représentation JSON |
|---|
{
"key": string,
"value": {
object ( |
| Champs | |
|---|---|
key |
|
value |
|
Valeur
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union kind. Type de valeur. kind ne peut être qu'un des éléments suivants : |
|
nullValue |
Représente un |
numberValue |
Représente un nombre JSON. Ne doit pas être |
stringValue |
Représente une chaîne JSON. |
boolValue |
Représente une valeur booléenne JSON (littéral |
structValue |
Représente un objet JSON. |
listValue |
Représente un tableau JSON. |
Struct
| Représentation JSON |
|---|
{ "fields": { string: value, ... } } |
| Champs | |
|---|---|
fields |
Carte non ordonnée de valeurs typées de manière dynamique. Objet contenant une liste de paires |
FieldsEntry
| Représentation JSON |
|---|
{ "key": string, "value": value } |
| Champs | |
|---|---|
key |
|
value |
|
ListValue
| Représentation JSON |
|---|
{ "values": [ value ] } |
| Champs | |
|---|---|
values[] |
Champ répété de valeurs typées de manière dynamique. |
DefsEntry
| Représentation JSON |
|---|
{
"key": string,
"value": {
object ( |
| Champs | |
|---|---|
key |
|
value |
|
OpenApiTool
| Représentation JSON |
|---|
{ "openApiSchema": string, "name": string, "description": string, "apiAuthentication": { object ( |
| Champs | |
|---|---|
openApiSchema |
Obligatoire. Schéma OpenAPI au format JSON ou YAML. |
name |
Facultatif. Nom de l'outil. S'il n'est pas fourni, le nom de l'outil sera dérivé du schéma OpenAPI, à partir de |
description |
Facultatif. Description de l'outil. Si aucune description n'est fournie, elle sera dérivée du schéma OpenAPI, de |
apiAuthentication |
Facultatif. Informations d'authentification requises par l'API. |
tlsConfig |
Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client fera confiance. |
serviceDirectoryConfig |
Facultatif. Configuration de l'annuaire des services. |
ignoreUnknownFields |
Facultatif. Si la valeur est "true", l'agent ignore les champs inconnus dans la réponse de l'API. |
url |
Facultatif. URL du serveur du schéma Open API. Ce champ n'est défini dans les outils des dépendances d'environnement lors du processus d'exportation que si le schéma contient une URL de serveur. Lors du processus d'importation, si cette URL est présente dans les dépendances de l'environnement et que le schéma comporte l'espace réservé $env_var, elle remplacera l'espace réservé dans le schéma. |
ApiAuthentication
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
apiKeyConfig |
Facultatif. Configuration pour l'authentification par clé API. |
oauthConfig |
Facultatif. Configuration pour OAuth. |
serviceAgentIdTokenAuthConfig |
Facultatif. Configuration pour l'authentification par jeton d'identification générée à partir de l'agent de service CES. |
serviceAccountAuthConfig |
Facultatif. Configuration pour l'authentification du compte de service. |
bearerTokenConfig |
Facultatif. Configuration pour l'authentification par jeton du porteur. |
ApiKeyConfig
| Représentation JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Champs | |
|---|---|
keyName |
Obligatoire. Nom du paramètre ou de l'en-tête de la clé API. Exemple : Si la requête API est "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : Remarque : Vous devez attribuer le rôle |
requestLocation |
Obligatoire. Emplacement de la clé dans la requête. |
OAuthConfig
| Représentation JSON |
|---|
{
"oauthGrantType": enum ( |
| Champs | |
|---|---|
oauthGrantType |
Obligatoire. Types d'attribution OAuth. |
clientId |
Obligatoire. ID client du fournisseur OAuth. |
clientSecretVersion |
Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : Remarque : Vous devez attribuer le rôle |
tokenEndpoint |
Obligatoire. Point de terminaison du jeton dans le fournisseur OAuth pour l'échange d'un jeton d'accès. |
scopes[] |
Facultatif. Champs d'application OAuth à accorder. |
ServiceAccountAuthConfig
| Représentation JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Champs | |
|---|---|
serviceAccount |
Obligatoire. Adresse e-mail du compte de service utilisé pour l'authentification. CES utilise ce compte de service pour échanger un jeton d'accès, qui est ensuite envoyé dans l'en-tête Le compte de service doit disposer du rôle |
scopes[] |
Facultatif. Champs d'application OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut |
BearerTokenConfig
| Représentation JSON |
|---|
{ "token": string } |
| Champs | |
|---|---|
token |
Obligatoire. Jeton de support. Il doit respecter le format |
TlsConfig
| Représentation JSON |
|---|
{
"caCerts": [
{
object ( |
| Champs | |
|---|---|
caCerts[] |
Obligatoire. Indique une liste de certificats CA personnalisés autorisés pour la validation HTTPS. |
CaCert
| Représentation JSON |
|---|
{ "displayName": string, "cert": string } |
| Champs | |
|---|---|
displayName |
Obligatoire. Nom des certificats CA personnalisés autorisés. Cela permet de lever toute ambiguïté concernant les certificats d'autorité de certification personnalisés. |
cert |
Obligatoire. Certificats CA personnalisés autorisés (au format DER) pour la validation HTTPS. Cela remplace le magasin de confiance SSL par défaut. Si ce champ est vide ou n'est pas spécifié, CES utilisera le magasin de confiance par défaut de Google pour valider les certificats. Remarque : Assurez-vous que les certificats de serveur HTTPS sont signés avec "subject alt name". Par exemple, un certificat peut être autosigné à l'aide de la commande suivante : Chaîne encodée en base64. |
ServiceDirectoryConfig
| Représentation JSON |
|---|
{ "service": string } |
| Champs | |
|---|---|
service |
Obligatoire. Nom du service Annuaire des services. Format : |
GoogleSearchTool
| Représentation JSON |
|---|
{
"name": string,
"description": string,
"contextUrls": [
string
],
"preferredDomains": [
string
],
"excludeDomains": [
string
],
"promptConfig": {
object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil. |
description |
Facultatif. Description de l'objectif de l'outil. |
contextUrls[] |
Facultatif. Le contenu sera récupéré directement à partir de ces URL pour le contexte et l'ancrage. Exemple : "https://example.com/path.html". Vous ne pouvez pas inclure plus de 20 URL. |
preferredDomains[] |
Facultatif. Spécifie les domaines auxquels limiter les résultats de recherche. Exemple : "example.com", "another.site". Vous pouvez spécifier jusqu'à 20 domaines. |
excludeDomains[] |
Facultatif. Liste des domaines à exclure des résultats de recherche. Exemple : "example.com". Vous ne pouvez pas exclure plus de 2 000 domaines. |
promptConfig |
Facultatif. Instructions d'invite transmises au planificateur sur la façon dont les résultats de recherche doivent être traités pour le texte et la voix. |
PromptConfig
| Représentation JSON |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| Champs | |
|---|---|
textPrompt |
Facultatif. Définit la requête utilisée pour les instructions système lors des interactions avec l'agent dans les conversations par chat. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée. |
voicePrompt |
Facultatif. Définit la requête utilisée pour les instructions système lors des interactions avec l'agent dans les conversations vocales. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée. |
ConnectorTool
| Représentation JSON |
|---|
{ "connection": string, "action": { object ( |
| Champs | |
|---|---|
connection |
Obligatoire. Nom complet de la ressource de la connexion Integration Connectors référencée. Format : |
action |
Obligatoire. Action à utiliser pour l'outil. |
authConfig |
Facultatif. Configure la façon dont l'authentification est gérée dans Integration Connectors. Par défaut, une authentification d'administrateur est transmise dans les requêtes de l'API Integration Connectors. Vous pouvez la remplacer par une autre configuration d'authentification de l'utilisateur final. Remarque : La substitution de l'authentification doit être activée pour la connexion afin de pouvoir spécifier une configuration EUC ici. Sinon, la création de ConnectorTool échouera. Pour en savoir plus, consultez https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override. |
name |
Facultatif. Nom de l'outil que l'agent peut utiliser pour déterminer s'il doit appeler ConnectorTool. |
description |
Facultatif. Description de l'outil que l'agent peut utiliser pour déterminer s'il doit appeler ConnectorTool. |
Action
| Représentation JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Champs | |
|---|---|
inputFields[] |
Facultatif. Champs d'entité à utiliser comme entrées pour l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité seront utilisés. |
outputFields[] |
Facultatif. Champs d'entité à renvoyer à partir de l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité sont renvoyés. |
Champ d'union action_spec. Spécification d'une action à configurer pour que l'outil l'utilise. action_spec ne peut être qu'un des éléments suivants : |
|
connectionActionId |
ID d'une action de connexion que l'outil doit utiliser. |
entityOperation |
Configuration de l'opération d'entité à utiliser par l'outil. |
EntityOperation
| Représentation JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Champs | |
|---|---|
entityId |
Obligatoire. ID de l'entité. |
operation |
Obligatoire. Opération à effectuer sur l'entité. |
EndUserAuthConfig
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
oauth2AuthCodeConfig |
Authentification par code d'autorisation OAuth 2.0. |
oauth2JwtBearerConfig |
Authentification par attribution d'autorisation OAuth 2.0 avec profil JWT. |
Oauth2AuthCodeConfig
| Représentation JSON |
|---|
{ "oauthToken": string } |
| Champs | |
|---|---|
oauthToken |
Obligatoire. Nom du paramètre de jeton OAuth à transmettre. Il doit respecter le format |
Oauth2JwtBearerConfig
| Représentation JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Champs | |
|---|---|
issuer |
Obligatoire. Nom du paramètre de l'émetteur à transmettre. Il doit respecter le format |
subject |
Obligatoire. Nom du paramètre d'objet à transmettre. Il doit respecter le format |
clientKey |
Obligatoire. Nom du paramètre client à transmettre. Il doit respecter le format |
DataStoreTool
| Représentation JSON |
|---|
{ "name": string, "description": string, "boostSpecs": [ { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil data store. |
description |
Facultatif. Description de l'outil. |
boostSpecs[] |
Facultatif. Booster les spécifications pour mettre en avant certains documents. |
modalityConfigs[] |
Facultatif. Configurations de modalités pour le data store. |
filterParameterBehavior |
Facultatif. Comportement du paramètre de filtre. |
Champ d'union search_source. Définit la source de recherche, qui peut être un seul DataStore ou un seul moteur. search_source ne peut être qu'un des éléments suivants : |
|
dataStoreSource |
Facultatif. Recherchez dans un seul DataStore spécifique. |
engineSource |
Facultatif. Rechercher dans un moteur (potentiellement dans plusieurs DataStores). |
DataStoreSource
| Représentation JSON |
|---|
{
"filter": string,
"dataStore": {
object ( |
| Champs | |
|---|---|
filter |
Facultatif. Spécification du filtre pour DataStore. Consultez https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata. |
dataStore |
Facultatif. Le data store. |
DataStore
| Représentation JSON |
|---|
{ "name": string, "type": enum ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom complet de la ressource DataStore. Format : |
type |
Uniquement en sortie. Type du data store. Ce champ est en lecture seule et est renseigné par le serveur. |
documentProcessingMode |
Uniquement en sortie. Mode de traitement des documents pour la connexion au data store. Défini uniquement pour les data stores PUBLIC_WEB et UNSTRUCTURED. |
displayName |
Uniquement en sortie. Nom à afficher du data store. |
createTime |
Uniquement en sortie. Horodatage de la création du data store. 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 : |
connectorConfig |
Uniquement en sortie. Configuration du connecteur pour la connexion au data store. |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z). |
nanos |
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. |
ConnectorConfig
| Représentation JSON |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| Champs | |
|---|---|
collection |
Nom de ressource de la collection à laquelle appartient le data store. |
collectionDisplayName |
Nom à afficher de la collection à laquelle appartient le data store. |
dataSource |
Nom de la source de données. Exemple : |
EngineSource
| Représentation JSON |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| Champs | |
|---|---|
engine |
Obligatoire. Nom complet de la ressource du moteur. Format : |
dataStoreSources[] |
Facultatif. Utilisez-le pour cibler des DataStores spécifiques dans le moteur. Si elle est vide, la recherche s'applique à tous les DataStores associés au moteur. |
filter |
Facultatif. Filtre appliqué à la recherche dans le moteur. Sans intérêt et non utilisé si "data_store_sources" est fourni. Consultez https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata. |
BoostSpecs
| Représentation JSON |
|---|
{
"dataStores": [
string
],
"spec": [
{
object ( |
| Champs | |
|---|---|
dataStores[] |
Obligatoire. Data Store auquel la configuration du boosting est appliquée. Nom complet de la ressource DataStore, par exemple projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}. |
spec[] |
Obligatoire. Liste des spécifications de boosting. |
BoostSpec
| Représentation JSON |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| Champs | |
|---|---|
conditionBoostSpecs[] |
Obligatoire. Liste des spécifications de boosting. |
ConditionBoostSpec
| Représentation JSON |
|---|
{
"condition": string,
"boost": number,
"boostControlSpec": {
object ( |
| Champs | |
|---|---|
condition |
Obligatoire. Expression qui spécifie une condition d'optimisation. La syntaxe est la même que celle des expressions de filtre. Actuellement, la seule condition acceptée est une liste de codes de langue BCP-47. Exemple : Pour améliorer les suggestions dans les langues "en" ou "fr" : (lang_code: ANY("en", "fr")) |
boost |
Facultatif. Intensité du boost, qui doit être comprise entre -1 et 1. Un boosting négatif correspond à une rétrogradation. La valeur par défaut est 0.0. Définir l'intensité sur 1.0 permet de promouvoir fortement les suggestions. Toutefois, cela ne signifie pas nécessairement que le premier résultat sera une suggestion boostée. Si vous définissez la valeur sur -1,0, les suggestions sont fortement rétrogradées. Toutefois, d'autres suggestions pertinentes peuvent toujours s'afficher. Si vous définissez la valeur sur 0,0, aucune amélioration n'est appliquée. La condition de boost est ignorée. |
boostControlSpec |
Facultatif. Spécification complexe pour le classement personnalisé basé sur la valeur de l'attribut définie par le client. |
BoostControlSpec
| Représentation JSON |
|---|
{ "fieldName": string, "attributeType": enum ( |
| Champs | |
|---|---|
fieldName |
Facultatif. Nom du champ dont la valeur sera utilisée pour déterminer le montant du boost. |
attributeType |
Facultatif. Type d'attribut à utiliser pour déterminer le montant de l'augmentation. La valeur de l'attribut peut être dérivée de la valeur du champ spécifié par field_name. Dans le cas d'une valeur numérique, c'est simple : attribute_value = numerical_field_value. Dans le cas de la fraîcheur, attribute_value = (time.now() - datetime_field_value). |
interpolationType |
Facultatif. Type d'interpolation à appliquer pour connecter les points de contrôle listés ci-dessous. |
controlPoints[] |
Facultatif. Points de contrôle utilisés pour définir la courbe. La fonction monotone (définie par le biais de l'interpolation_type ci-dessus) passe par les points de contrôle listés ici. |
ControlPoint
| Représentation JSON |
|---|
{ "attributeValue": string, "boostAmount": number } |
| Champs | |
|---|---|
attributeValue |
Facultatif. Peut être l'une des valeurs suivantes : 1. Valeur numérique du champ. 2. Spécification de la durée de fraîcheur : la valeur doit être mise en forme en tant que valeur |
boostAmount |
Facultatif. Valeur comprise entre -1 et 1 permettant d'augmenter le score si la valeur de l'attribut correspond à la valeur spécifiée ci-dessus. |
ModalityConfig
| Représentation JSON |
|---|
{ "modalityType": enum ( |
| Champs | |
|---|---|
modalityType |
Obligatoire. Type de modalité. |
rewriterConfig |
Facultatif. Configuration du réécriveur. |
summarizationConfig |
Facultatif. Configuration de la synthèse. |
groundingConfig |
Facultatif. Configuration de l'ancrage. |
snippetsConfig |
Facultatif. Configuration des extraits. |
RewriterConfig
| Représentation JSON |
|---|
{
"modelSettings": {
object ( |
| Champs | |
|---|---|
modelSettings |
Obligatoire. Configurations du modèle LLM. |
prompt |
Facultatif. Définition de la requête. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée. |
disabled |
Facultatif. Indique si le réécrivain est désactivé. |
ModelSettings
| Représentation JSON |
|---|
{ "model": string, // Union field |
| Champs | |
|---|---|
model |
Facultatif. Modèle LLM que l'agent doit utiliser. Si aucune valeur n'est définie, l'agent hérite du modèle de son agent parent. |
Champ d'union
|
|
temperature |
Facultatif. Si cette option est définie, cette température sera utilisée pour le modèle LLM. La température contrôle le caractère aléatoire des réponses du modèle. Les températures plus basses produisent des réponses plus prévisibles. Les températures plus élevées génèrent des réponses plus créatives. |
SummarizationConfig
| Représentation JSON |
|---|
{
"modelSettings": {
object ( |
| Champs | |
|---|---|
modelSettings |
Facultatif. Configurations du modèle LLM. |
prompt |
Facultatif. Définition de la requête. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée. |
disabled |
Facultatif. Indique si la synthèse est désactivée. |
GroundingConfig
| Représentation JSON |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| Champs | |
|---|---|
groundingLevel |
Facultatif. Seuil d'ancrage de la réponse en fonction des sources récupérées. La valeur a une plage configurable de [1, 5]. Le niveau est utilisé pour définir le seuil de l'ancrage de la réponse. Cela signifie que toutes les réponses dont le score d'ancrage est inférieur au seuil ne renverront que des extraits pertinents. Par exemple, un niveau de 3 signifie que le score d'ancrage doit être de 3 ou plus pour que la réponse soit renvoyée. |
disabled |
Facultatif. Indique si l'ancrage est désactivé. |
SnippetsConfig
| Représentation JSON |
|---|
{ "enableSnippets": boolean } |
| Champs | |
|---|---|
enableSnippets |
Facultatif. Indique si les extraits sont activés. |
PythonFunction
| Représentation JSON |
|---|
{
"name": string,
"pythonCode": string,
"description": string,
"serviceDirectoryConfig": {
object ( |
| Champs | |
|---|---|
name |
Facultatif. Nom de la fonction Python à exécuter. Doit correspondre à un nom de fonction Python défini dans le code Python. Sensible à la casse. Si aucun nom n'est fourni, la première fonction définie dans le code Python sera utilisée. |
pythonCode |
Facultatif. Code Python à exécuter pour l'outil. |
description |
Uniquement en sortie. Description de la fonction Python, analysée à partir de la docstring du code Python. |
serviceDirectoryConfig |
Facultatif. Configuration de l'annuaire des services pour l'outil. |
McpTool
| Représentation JSON |
|---|
{ "name": string, "nameOverride": string, "description": string, "inputSchema": { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil MCP. |
nameOverride |
Facultatif. Nom de remplacement de l'outil MCP. Ce champ est renseigné si le nom a été remplacé par un remplacement Toolset. |
description |
Facultatif. Description de l'outil MCP. |
inputSchema |
Facultatif. Schéma des arguments d'entrée de l'outil MCP. |
outputSchema |
Facultatif. Schéma des arguments de sortie de l'outil MCP. |
serverAddress |
Obligatoire. Adresse du serveur MCP, par exemple "https://example.com/mcp/". Si le serveur est créé avec le SDK MCP, l'URL doit être suffixée par "/mcp/". Seuls les serveurs basés sur le transport HTTP Streamable sont acceptés. Cette valeur est identique à server_address dans McpToolset. Pour en savoir plus, consultez https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http. |
apiAuthentication |
Facultatif. Informations d'authentification requises pour exécuter l'outil sur le serveur MCP. Pour l'authentification par jeton du porteur, le jeton ne s'applique qu'à l'exécution de l'outil, et non à la liste des outils. Cela nécessite que les outils puissent être listés sans authentification. |
tlsConfig |
Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client doit faire confiance. |
serviceDirectoryConfig |
Facultatif. Configuration Annuaire des services pour VPC-SC, utilisée pour résoudre les noms de service dans un périmètre. |
customHeaders |
Facultatif. En-têtes personnalisés à envoyer dans la requête au serveur MCP. Les valeurs doivent être au format Objet contenant une liste de paires |
state |
Uniquement en sortie. État de disponibilité dynamique de l'outil sur le serveur externe. |
CustomHeadersEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
FileSearchTool
| Représentation JSON |
|---|
{
"corpusType": enum ( |
| Champs | |
|---|---|
corpusType |
Facultatif. Type de corpus. La valeur par défaut est FULLY_MANAGED. |
name |
Obligatoire. Nom de l'outil. |
description |
Facultatif. Description de l'outil. |
fileCorpus |
Facultatif. Corpus dans lequel les fichiers sont stockés. Format : projects/{project}/locations/{location}/ragCorpora/{rag_corpus} |
SystemTool
| Représentation JSON |
|---|
{ "name": string, "description": string } |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil système. |
description |
Uniquement en sortie. Description de l'outil système. |
AgentTool
| Représentation JSON |
|---|
{ "name": string, "description": string, "agent": string } |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil de l'agent. |
description |
Facultatif. Description de l'objectif de l'outil. |
agent |
Facultatif. Nom de ressource de l'agent qui est le point d'entrée de l'outil. Format : |
WidgetTool
| Représentation JSON |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom à afficher de l'outil de widget. |
description |
Facultatif. Description de l'outil de widget. |
widgetType |
Facultatif. Type de l'outil de widget. Si aucun type n'est spécifié, le type par défaut est "CUSTOMIZED" (PERSONNALISÉ). |
uiConfig |
Facultatif. Configuration pour l'affichage du widget. |
dataMapping |
Facultatif. Mappage qui définit la façon dont les données d'un outil source sont mappées aux paramètres d'entrée du widget. |
textResponseConfig |
Facultatif. Configuration pour les réponses textuelles toujours incluses. |
Champ d'union input. Entrée de l'outil de widget. input ne peut être qu'un des éléments suivants : |
|
parameters |
Facultatif. Paramètres d'entrée de l'outil de widget. |
DataMapping
| Représentation JSON |
|---|
{ "sourceToolName": string, "fieldMappings": { string: string, ... }, "pythonFunction": { object ( |
| Champs | |
|---|---|
sourceToolName |
Facultatif. Nom de ressource de l'outil qui fournit les données du widget (par exemple, un outil de recherche ou une fonction personnalisée). Format : |
fieldMappings |
Facultatif. Mappage des champs de paramètres d'entrée du widget avec les champs de sortie correspondants de l'outil source. Objet contenant une liste de paires |
pythonFunction |
Facultatif. Configuration d'une fonction Python utilisée pour transformer la sortie de l'outil source au format d'entrée du widget. |
mode |
Facultatif. Mode du mappage de données. |
pythonScript |
Obsolète : utilisez plutôt |
FieldMappingsEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
TextResponseConfig
| Représentation JSON |
|---|
{
"type": enum ( |
| Champs | |
|---|---|
type |
Facultatif. Stratégie pour fournir la réponse textuelle. |
staticText |
Facultatif. Réponse texte statique à renvoyer lorsque le type est "STATIC". |
textResponseInstruction |
Facultatif. Instruction pour le LLM sur la façon de générer la réponse textuelle. Utilisé comme description du paramètre de réponse textuelle si le type est LLM_GENERATED. |
RemoteAgentTool
| Représentation JSON |
|---|
{
"name": string,
"description": string,
"agentCard": {
object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil. |
description |
Obligatoire. Description de l'outil. |
agentCard |
Obligatoire. Fiche de l'agent distant que cet outil appelle. |
AgentCard
| Représentation JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom d'agent lisible par l'humain. |
description |
Obligatoire. Description du domaine d'action/de l'espace de solutions de l'agent. |
supportedInterfaces[] |
Obligatoire. Liste ordonnée des interfaces compatibles. La première entrée est privilégiée. |
version |
Obligatoire. Version de l'agent. |
skills[] |
Obligatoire. Les compétences représentent une capacité qu'un agent peut effectuer. Cela peut sembler un peu abstrait, mais cela représente un ensemble d'actions plus ciblées que l'agent est très susceptible de réussir. |
AgentInterface
| Représentation JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Champs | |
|---|---|
url |
Obligatoire. URL où cette interface est disponible. Doit être une URL HTTPS absolue valide en production. Exemple : "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obligatoire. L'association de protocole acceptée à cette URL. Il s'agit d'une chaîne de formulaire ouverte, qui peut être facilement étendue à d'autres liaisons de protocole. Les principaux officiellement acceptés sont |
tenant |
ID de locataire à utiliser dans la requête lors de l'appel de l'agent. |
protocolVersion |
Obligatoire. Version du protocole A2A que cette interface expose. Utilisez la dernière version mineure compatible pour chaque version majeure. Exemples : "0.3", "1.0" |
AgentSkill
| Représentation JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Champs | |
|---|---|
id |
Obligatoire. Identifiant unique de la compétence de l'agent. |
name |
Obligatoire. Nom lisible de la compétence. |
description |
Obligatoire. Description détaillée de la compétence. |
tags[] |
Obligatoire. Ensemble de mots clés décrivant les capacités de la compétence. |
examples[] |
Exemples de requêtes ou de scénarios que cette compétence peut traiter. |
inputModes[] |
Ensemble des types de supports d'entrée acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent. |
outputModes[] |
Ensemble des types de supports de sortie acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent. |
Durée
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Secondes signées de la période. La valeur doit être comprise entre -315 576 000 000 et +315 576 000 000 (inclus). Remarque : Ces limites sont calculées à partir de : 60 s/min * 60 min/h * 24 h/jour * 365,25 jours/an * 10 000 ans. |
nanos |
Fractions de secondes signées avec une précision de l'ordre de la nanoseconde pour la durée. Les durées inférieures à une seconde sont représentées par un champ |
ToolFakeConfig
| Représentation JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Champs | |
|---|---|
enableFakeMode |
Facultatif. Indique si l'outil utilise le mode factice. |
Champ d'union tool_response. La réponse est statique ou fournie par une fonction Python. tool_response ne peut être qu'un des éléments suivants : |
|
codeBlock |
Facultatif. Bloc de code qui sera exécuté à la place d'un véritable appel d'outil. |
CodeBlock
| Représentation JSON |
|---|
{ "pythonCode": string } |
| Champs | |
|---|---|
pythonCode |
Obligatoire. Code Python qui sera appelé en mode faux outil. Signature de la fonction Python attendue : pour intercepter tous les appels d'outil : def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: pour intercepter un appel d'outil spécifique : def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: si la fonction renvoie "None", le véritable outil sera appelé à la place. |
Type
Types de données OpenAPI.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Type non spécifié |
STRING |
Type de chaîne. |
INTEGER |
Type entier. |
NUMBER |
Type de nombre. |
BOOLEAN |
Type booléen. |
OBJECT |
Type d'objet. |
ARRAY |
Type de tableau. |
NullValue
Représente un null JSON.
NullValue est une sentinelle qui utilise une énumération avec une seule valeur pour représenter la valeur nulle de l'union de type Value.
Un champ de type NullValue avec une valeur autre que 0 est considéré comme non valide. La plupart des sérialiseurs ProtoJSON émettent un Value avec un null_value défini comme null JSON, quelle que soit la valeur entière, et effectuent donc un aller-retour vers une valeur 0.
| Enums | |
|---|---|
NULL_VALUE |
Valeur nulle. |
RequestLocation
Emplacement de la clé API dans la requête.
| Enums | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non spécifié. Cette valeur ne doit pas être utilisée. |
HEADER |
Représente la clé dans l'en-tête HTTP. |
QUERY_STRING |
Représente la clé dans la chaîne de requête. |
OauthGrantType
Types d'attribution OAuth. Seule l'attribution d'identifiants client est acceptée.
| Enums | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non spécifié. La valeur par défaut est CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Représente le flux d'identifiants client. |
OperationType
Opération à effectuer sur l'entité.
| Enums | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Type d'opération non spécifié. Non valide. La création ou la mise à jour de ConnectorTool échouera. |
LIST |
Opération de liste. |
GET |
Obtenir une opération. |
CREATE |
Opération de création. |
UPDATE |
Opération de mise à jour. |
DELETE |
Supprimer une opération. |
DataStoreType
Type du data store.
| Enums | |
|---|---|
DATA_STORE_TYPE_UNSPECIFIED |
Non spécifié. Cette valeur indique que le type de data store n'est pas spécifié. Il ne sera donc pas utilisé lors de la recherche. |
PUBLIC_WEB |
Un data store contenant du contenu Web public. |
UNSTRUCTURED |
Datastore contenant des données privées non structurées. |
FAQ |
Un data store contenant des données structurées utilisées comme questions fréquentes. |
CONNECTOR |
Datastore qui sert de connecteur à un service first party ou tiers. |
DocumentProcessingMode
Mode de traitement des documents du data store.
| Enums | |
|---|---|
DOCUMENT_PROCESSING_MODE_UNSPECIFIED |
Non spécifié. |
DOCUMENTS |
Les documents sont traités en tant que documents. |
CHUNKS |
Les documents sont convertis en blocs. |
AttributeType
Attribut(ou fonction) auquel le classement personnalisé doit être appliqué.
| Enums | |
|---|---|
ATTRIBUTE_TYPE_UNSPECIFIED |
Type d'attribut non spécifié. |
NUMERICAL |
La valeur du champ numérique sera utilisée pour mettre à jour dynamiquement le montant du boost. Dans ce cas, la valeur d'attribut (valeur x) du point de contrôle sera la valeur réelle du champ numérique pour lequel boost_amount est spécifié. |
FRESHNESS |
Dans le cas d'utilisation de la fraîcheur, la valeur de l'attribut correspond à la durée entre l'heure actuelle et la date indiquée dans le champ "datetime". La valeur doit être au format XSD dayTimeDuration (sous-ensemble restreint d'une valeur de durée ISO 8601). Le format est le suivant : [nD][T[nH][nM][nS]]. Par exemple, 5D, 3DT12H30M ou T24H. |
InterpolationType
Type d'interpolation à appliquer. La valeur par défaut est "linéaire" (linéaire par morceaux).
| Enums | |
|---|---|
INTERPOLATION_TYPE_UNSPECIFIED |
Le type d'interpolation n'est pas spécifié. Dans ce cas, la valeur par défaut est "Linéaire". |
LINEAR |
Une interpolation linéaire par morceaux sera appliquée. |
ModalityType
Type de modalité.
| Enums | |
|---|---|
MODALITY_TYPE_UNSPECIFIED |
Type de modalité non spécifié. |
TEXT |
Modalité textuelle. |
AUDIO |
Modalité audio. |
FilterParameterBehavior
Comportement des paramètres de filtre.
| Enums | |
|---|---|
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED |
Comportement par défaut du filtre. Incluez le paramètre de filtre pour les data stores de connecteur. Pour les autres types de magasins de données, le paramètre d'entrée du filtre est omis. |
ALWAYS_INCLUDE |
Incluez toujours un paramètre de filtre pour tous les types de data stores. |
NEVER_INCLUDE |
Le paramètre de filtre n'est jamais inclus dans la liste des paramètres d'outil, quel que soit le type de data store. |
État
Représente l'état de disponibilité dynamique de l'outil.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
État par défaut. |
ACTIVE |
L'outil est disponible et proposé activement par le serveur. |
INACTIVE |
L'outil est configuré ou épinglé, mais n'est actuellement pas proposé par le serveur. |
STALE |
L'outil existe sur le serveur, mais ne correspond pas à la version du serveur. |
CorpusType
Type de corpus RAG Vertex.
| Enums | |
|---|---|
CORPUS_TYPE_UNSPECIFIED |
Type de corpus non spécifié. |
USER_OWNED |
Le corpus est créé par l'utilisateur et lui appartient. |
FULLY_MANAGED |
Le corpus est créé par l'agent. |
WidgetType
Tous les types de widgets disponibles. De nouvelles valeurs pourront être ajoutées à cette énumération à l'avenir.
| Enums | |
|---|---|
WIDGET_TYPE_UNSPECIFIED |
Type de widget non spécifié. |
CUSTOM |
Type de widget personnalisé. |
PRODUCT_CAROUSEL |
Widget de carrousel de produits. |
PRODUCT_DETAILS |
Widget d'informations détaillées sur le produit. |
QUICK_ACTIONS |
Widget Actions rapides. |
PRODUCT_COMPARISON |
Widget de comparaison de produits. |
ADVANCED_PRODUCT_DETAILS |
Widget d'informations détaillées avancées sur le produit. |
SHORT_FORM |
Widget de formulaire court. |
OVERALL_SATISFACTION |
Widget de satisfaction globale. |
ORDER_SUMMARY |
Widget de récapitulatif de la commande. |
APPOINTMENT_DETAILS |
Widget de détails du rendez-vous. |
APPOINTMENT_SCHEDULER |
Widget de planification des rendez-vous. |
CONTACT_FORM |
Widget de formulaire de contact. |
Mode
Stratégie utilisée pour mapper les données de l'outil source au widget.
| Enums | |
|---|---|
MODE_UNSPECIFIED |
Mode non spécifié. |
FIELD_MAPPING |
Utilisez la carte field_mappings pour transformer les données. |
PYTHON_SCRIPT |
Utilisez python_script pour transformer les données. |
Type
Définit la manière dont la réponse textuelle est produite.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Type non spécifié. |
NONE |
Le LLM décide de manière dynamique s'il doit générer une réponse textuelle en plus du widget en fonction du contexte de la conversation. |
LLM_GENERATED |
Le LLM est explicitement tenu de générer une réponse textuelle. |
STATIC |
Une réponse texte statique prédéfinie est toujours utilisée. |
ExecutionType
Type d'exécution de l'outil ou de l'ensemble d'outils.
| Enums | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Le type d'exécution n'est pas spécifié. Prend la valeur SYNCHRONOUS par défaut s'il n'est pas spécifié. |
SYNCHRONOUS |
L'outil est exécuté de manière synchrone. La session est bloquée jusqu'à ce que l'outil renvoie une réponse. |
ASYNCHRONOUS |
L'outil est exécuté de manière asynchrone. La session se poursuivra pendant l'exécution de l'outil. |
Schéma de sortie
Un outil représente une action que l'agent CES peut effectuer pour atteindre certains objectifs.
Outil
| Représentation JSON |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| Champs | |
|---|---|
name |
Identifiant. Nom de ressource de l'outil. Format :
Ces outils sont dynamiques et en sortie uniquement. Ils ne peuvent pas être référencés directement lorsqu'un outil est attendu. |
displayName |
Uniquement en sortie. Nom à afficher de l'outil, basé sur son type. Par exemple, le nom à afficher d'une [ClientFunction][Tool.ClientFunction] est dérivé de sa propriété |
executionType |
Facultatif. Type d'exécution de l'outil. |
timeout |
Facultatif. Délai d'exécution de l'outil. Si ce paramètre n'est pas défini, le délai d'inactivité par défaut est de 30 secondes pour les outils Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
createTime |
Uniquement en sortie. Code temporel de la création de l'outil. 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 : |
updateTime |
Uniquement en sortie. Code temporel de la dernière mise à jour de l'outil. 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 : |
etag |
Etag utilisé pour s'assurer que l'objet n'a pas été modifié lors d'une opération de lecture/modification/écriture. Si l'etag est vide, la mise à jour écrasera toutes les modifications simultanées. |
generatedSummary |
Uniquement en sortie. Si l'outil est généré par l'assistant LLM, ce champ contient un résumé descriptif de la génération. |
toolFakeConfig |
Facultatif. Configuration du comportement de l'outil en mode factice. |
Champ d'union tool_type. Type d'outil. tool_type ne peut être qu'un des éléments suivants : |
|
clientFunction |
Facultatif. Fonction client. |
openApiTool |
Facultatif. Outil d'API ouverte. |
googleSearchTool |
Facultatif. Outil de recherche Google. |
connectorTool |
Facultatif. L'outil Integration Connectors. |
dataStoreTool |
Facultatif. Outil de data store. |
pythonFunction |
Facultatif. Outil de fonction Python. |
mcpTool |
Facultatif. L'outil MCP. Il n'est pas possible de créer ni de modifier directement un outil MCP, car il est géré par l'ensemble d'outils MCP. |
fileSearchTool |
Facultatif. Outil de recherche de fichiers. |
systemTool |
Facultatif. L'outil système. |
agentTool |
Facultatif. Outil d'agent. |
widgetTool |
Facultatif. L'outil Widget. |
remoteAgentTool |
Facultatif. L'outil d'agent distant. |
ClientFunction
| Représentation JSON |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de la fonction. |
description |
Facultatif. Description de la fonction. |
parameters |
Facultatif. Schéma des paramètres de la fonction. |
response |
Facultatif. Schéma de la réponse de la fonction. |
Schéma
| Représentation JSON |
|---|
{ "type": enum ( |
| Champs | |
|---|---|
type |
Obligatoire. Type des données. |
properties |
Facultatif. Propriétés de Type.OBJECT. Objet contenant une liste de paires |
required[] |
Facultatif. Propriétés requises de Type.OBJECT. |
description |
Facultatif. Description des données. |
items |
Facultatif. Schéma des éléments de Type.ARRAY. |
nullable |
Facultatif. Indique si la valeur peut être nulle. |
uniqueItems |
Facultatif. Indique que les éléments du tableau doivent être uniques. Ne s'applique qu'à TYPE.ARRAY. |
prefixItems[] |
Facultatif. Schémas des éléments initiaux de Type.ARRAY. |
additionalProperties |
Facultatif. Peut être une valeur booléenne ou un objet. Contrôle la présence de propriétés supplémentaires. |
anyOf[] |
Facultatif. La valeur doit être validée par rapport à l'un ou plusieurs des sous-schémas de la liste. |
enum[] |
Facultatif. Valeurs possibles de l'élément de type primitif avec le format enum. Exemples : 1. Nous pouvons définir la direction comme suit : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Nous pouvons définir le numéro d'appartement comme suit : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Facultatif. Valeur par défaut des données. |
ref |
Facultatif. Permet les références indirectes entre les nœuds de schéma. La valeur doit être une référence valide à un enfant de la racine Par exemple, le schéma suivant définit une référence à un nœud de schéma nommé "Pet" : La valeur de la propriété "pet" est une référence au nœud de schéma nommé "Pet". Pour en savoir plus, consultez https://json-schema.org/understanding-json-schema/structuring. |
defs |
Facultatif. Carte des définitions à utiliser par Objet contenant une liste de paires |
title |
Facultatif. Titre du schéma. |
minItems |
Facultatif. Nombre minimal d'éléments pour Type.ARRAY. |
maxItems |
Facultatif. Nombre maximal d'éléments pour Type.ARRAY. |
Champ d'union
|
|
minimum |
Facultatif. Valeur minimale pour Type.INTEGER et Type.NUMBER. |
Champ d'union
|
|
maximum |
Facultatif. Valeur maximale pour Type.INTEGER et Type.NUMBER. |
PropertiesEntry
| Représentation JSON |
|---|
{
"key": string,
"value": {
object ( |
| Champs | |
|---|---|
key |
|
value |
|
Valeur
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union kind. Type de valeur. kind ne peut être qu'un des éléments suivants : |
|
nullValue |
Représente un |
numberValue |
Représente un nombre JSON. Ne doit pas être |
stringValue |
Représente une chaîne JSON. |
boolValue |
Représente une valeur booléenne JSON (littéral |
structValue |
Représente un objet JSON. |
listValue |
Représente un tableau JSON. |
Struct
| Représentation JSON |
|---|
{ "fields": { string: value, ... } } |
| Champs | |
|---|---|
fields |
Carte non ordonnée de valeurs typées de manière dynamique. Objet contenant une liste de paires |
FieldsEntry
| Représentation JSON |
|---|
{ "key": string, "value": value } |
| Champs | |
|---|---|
key |
|
value |
|
ListValue
| Représentation JSON |
|---|
{ "values": [ value ] } |
| Champs | |
|---|---|
values[] |
Champ répété de valeurs typées de manière dynamique. |
DefsEntry
| Représentation JSON |
|---|
{
"key": string,
"value": {
object ( |
| Champs | |
|---|---|
key |
|
value |
|
OpenApiTool
| Représentation JSON |
|---|
{ "openApiSchema": string, "name": string, "description": string, "apiAuthentication": { object ( |
| Champs | |
|---|---|
openApiSchema |
Obligatoire. Schéma OpenAPI au format JSON ou YAML. |
name |
Facultatif. Nom de l'outil. S'il n'est pas fourni, le nom de l'outil sera dérivé du schéma OpenAPI, à partir de |
description |
Facultatif. Description de l'outil. Si aucune description n'est fournie, elle sera dérivée du schéma OpenAPI, de |
apiAuthentication |
Facultatif. Informations d'authentification requises par l'API. |
tlsConfig |
Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client fera confiance. |
serviceDirectoryConfig |
Facultatif. Configuration de l'annuaire des services. |
ignoreUnknownFields |
Facultatif. Si la valeur est "true", l'agent ignore les champs inconnus dans la réponse de l'API. |
url |
Facultatif. URL du serveur du schéma Open API. Ce champ n'est défini dans les outils des dépendances d'environnement lors du processus d'exportation que si le schéma contient une URL de serveur. Lors du processus d'importation, si cette URL est présente dans les dépendances de l'environnement et que le schéma comporte l'espace réservé $env_var, elle remplacera l'espace réservé dans le schéma. |
ApiAuthentication
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
apiKeyConfig |
Facultatif. Configuration pour l'authentification par clé API. |
oauthConfig |
Facultatif. Configuration pour OAuth. |
serviceAgentIdTokenAuthConfig |
Facultatif. Configuration pour l'authentification par jeton d'identification générée à partir de l'agent de service CES. |
serviceAccountAuthConfig |
Facultatif. Configuration pour l'authentification du compte de service. |
bearerTokenConfig |
Facultatif. Configuration pour l'authentification par jeton du porteur. |
ApiKeyConfig
| Représentation JSON |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Champs | |
|---|---|
keyName |
Obligatoire. Nom du paramètre ou de l'en-tête de la clé API. Exemple : Si la requête API est "https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Obligatoire. Nom de la ressource de version secrète Secret Manager stockant la clé API. Format : Remarque : Vous devez attribuer le rôle |
requestLocation |
Obligatoire. Emplacement de la clé dans la requête. |
OAuthConfig
| Représentation JSON |
|---|
{
"oauthGrantType": enum ( |
| Champs | |
|---|---|
oauthGrantType |
Obligatoire. Types d'attribution OAuth. |
clientId |
Obligatoire. ID client du fournisseur OAuth. |
clientSecretVersion |
Obligatoire. Nom de la ressource de version du secret Secret Manager stockant le code secret du client. Format : Remarque : Vous devez attribuer le rôle |
tokenEndpoint |
Obligatoire. Point de terminaison du jeton dans le fournisseur OAuth pour l'échange d'un jeton d'accès. |
scopes[] |
Facultatif. Champs d'application OAuth à accorder. |
ServiceAccountAuthConfig
| Représentation JSON |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Champs | |
|---|---|
serviceAccount |
Obligatoire. Adresse e-mail du compte de service utilisé pour l'authentification. CES utilise ce compte de service pour échanger un jeton d'accès, qui est ensuite envoyé dans l'en-tête Le compte de service doit disposer du rôle |
scopes[] |
Facultatif. Champs d'application OAuth à accorder. Si aucune valeur n'est spécifiée, le champ d'application par défaut |
BearerTokenConfig
| Représentation JSON |
|---|
{ "token": string } |
| Champs | |
|---|---|
token |
Obligatoire. Jeton de support. Il doit respecter le format |
TlsConfig
| Représentation JSON |
|---|
{
"caCerts": [
{
object ( |
| Champs | |
|---|---|
caCerts[] |
Obligatoire. Indique une liste de certificats CA personnalisés autorisés pour la validation HTTPS. |
CaCert
| Représentation JSON |
|---|
{ "displayName": string, "cert": string } |
| Champs | |
|---|---|
displayName |
Obligatoire. Nom des certificats CA personnalisés autorisés. Cela permet de lever toute ambiguïté concernant les certificats d'autorité de certification personnalisés. |
cert |
Obligatoire. Certificats CA personnalisés autorisés (au format DER) pour la validation HTTPS. Cela remplace le magasin de confiance SSL par défaut. Si ce champ est vide ou n'est pas spécifié, CES utilisera le magasin de confiance par défaut de Google pour valider les certificats. Remarque : Assurez-vous que les certificats de serveur HTTPS sont signés avec "subject alt name". Par exemple, un certificat peut être autosigné à l'aide de la commande suivante : Chaîne encodée en base64. |
ServiceDirectoryConfig
| Représentation JSON |
|---|
{ "service": string } |
| Champs | |
|---|---|
service |
Obligatoire. Nom du service Annuaire des services. Format : |
GoogleSearchTool
| Représentation JSON |
|---|
{
"name": string,
"description": string,
"contextUrls": [
string
],
"preferredDomains": [
string
],
"excludeDomains": [
string
],
"promptConfig": {
object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil. |
description |
Facultatif. Description de l'objectif de l'outil. |
contextUrls[] |
Facultatif. Le contenu sera récupéré directement à partir de ces URL pour le contexte et l'ancrage. Exemple : "https://example.com/path.html". Vous ne pouvez pas inclure plus de 20 URL. |
preferredDomains[] |
Facultatif. Spécifie les domaines auxquels limiter les résultats de recherche. Exemple : "example.com", "another.site". Vous pouvez spécifier jusqu'à 20 domaines. |
excludeDomains[] |
Facultatif. Liste des domaines à exclure des résultats de recherche. Exemple : "example.com". Vous ne pouvez pas exclure plus de 2 000 domaines. |
promptConfig |
Facultatif. Instructions d'invite transmises au planificateur sur la façon dont les résultats de recherche doivent être traités pour le texte et la voix. |
PromptConfig
| Représentation JSON |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| Champs | |
|---|---|
textPrompt |
Facultatif. Définit la requête utilisée pour les instructions système lors des interactions avec l'agent dans les conversations par chat. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée. |
voicePrompt |
Facultatif. Définit la requête utilisée pour les instructions système lors des interactions avec l'agent dans les conversations vocales. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée. |
ConnectorTool
| Représentation JSON |
|---|
{ "connection": string, "action": { object ( |
| Champs | |
|---|---|
connection |
Obligatoire. Nom complet de la ressource de la connexion Integration Connectors référencée. Format : |
action |
Obligatoire. Action à utiliser pour l'outil. |
authConfig |
Facultatif. Configure la façon dont l'authentification est gérée dans Integration Connectors. Par défaut, une authentification d'administrateur est transmise dans les requêtes de l'API Integration Connectors. Vous pouvez la remplacer par une autre configuration d'authentification de l'utilisateur final. Remarque : La substitution de l'authentification doit être activée pour la connexion afin de pouvoir spécifier une configuration EUC ici. Sinon, la création de ConnectorTool échouera. Pour en savoir plus, consultez https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override. |
name |
Facultatif. Nom de l'outil que l'agent peut utiliser pour déterminer s'il doit appeler ConnectorTool. |
description |
Facultatif. Description de l'outil que l'agent peut utiliser pour déterminer s'il doit appeler ConnectorTool. |
Action
| Représentation JSON |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Champs | |
|---|---|
inputFields[] |
Facultatif. Champs d'entité à utiliser comme entrées pour l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité seront utilisés. |
outputFields[] |
Facultatif. Champs d'entité à renvoyer à partir de l'opération. Si aucun champ n'est spécifié, tous les champs de l'entité sont renvoyés. |
Champ d'union action_spec. Spécification d'une action à configurer pour que l'outil l'utilise. action_spec ne peut être qu'un des éléments suivants : |
|
connectionActionId |
ID d'une action de connexion que l'outil doit utiliser. |
entityOperation |
Configuration de l'opération d'entité à utiliser par l'outil. |
EntityOperation
| Représentation JSON |
|---|
{
"entityId": string,
"operation": enum ( |
| Champs | |
|---|---|
entityId |
Obligatoire. ID de l'entité. |
operation |
Obligatoire. Opération à effectuer sur l'entité. |
EndUserAuthConfig
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union auth_config. Configuration de l'authentification. auth_config ne peut être qu'un des éléments suivants : |
|
oauth2AuthCodeConfig |
Authentification par code d'autorisation OAuth 2.0. |
oauth2JwtBearerConfig |
Authentification par attribution d'autorisation OAuth 2.0 avec profil JWT. |
Oauth2AuthCodeConfig
| Représentation JSON |
|---|
{ "oauthToken": string } |
| Champs | |
|---|---|
oauthToken |
Obligatoire. Nom du paramètre de jeton OAuth à transmettre. Il doit respecter le format |
Oauth2JwtBearerConfig
| Représentation JSON |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Champs | |
|---|---|
issuer |
Obligatoire. Nom du paramètre de l'émetteur à transmettre. Il doit respecter le format |
subject |
Obligatoire. Nom du paramètre d'objet à transmettre. Il doit respecter le format |
clientKey |
Obligatoire. Nom du paramètre client à transmettre. Il doit respecter le format |
DataStoreTool
| Représentation JSON |
|---|
{ "name": string, "description": string, "boostSpecs": [ { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil data store. |
description |
Facultatif. Description de l'outil. |
boostSpecs[] |
Facultatif. Booster les spécifications pour mettre en avant certains documents. |
modalityConfigs[] |
Facultatif. Configurations de modalités pour le data store. |
filterParameterBehavior |
Facultatif. Comportement du paramètre de filtre. |
Champ d'union search_source. Définit la source de recherche, qui peut être un seul DataStore ou un seul moteur. search_source ne peut être qu'un des éléments suivants : |
|
dataStoreSource |
Facultatif. Recherchez dans un seul DataStore spécifique. |
engineSource |
Facultatif. Rechercher dans un moteur (potentiellement dans plusieurs DataStores). |
DataStoreSource
| Représentation JSON |
|---|
{
"filter": string,
"dataStore": {
object ( |
| Champs | |
|---|---|
filter |
Facultatif. Spécification du filtre pour DataStore. Consultez https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata. |
dataStore |
Facultatif. Le data store. |
DataStore
| Représentation JSON |
|---|
{ "name": string, "type": enum ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom complet de la ressource DataStore. Format : |
type |
Uniquement en sortie. Type du data store. Ce champ est en lecture seule et est renseigné par le serveur. |
documentProcessingMode |
Uniquement en sortie. Mode de traitement des documents pour la connexion au data store. Défini uniquement pour les data stores PUBLIC_WEB et UNSTRUCTURED. |
displayName |
Uniquement en sortie. Nom à afficher du data store. |
createTime |
Uniquement en sortie. Horodatage de la création du data store. 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 : |
connectorConfig |
Uniquement en sortie. Configuration du connecteur pour la connexion au data store. |
Horodatage
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z). |
nanos |
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. |
ConnectorConfig
| Représentation JSON |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| Champs | |
|---|---|
collection |
Nom de ressource de la collection à laquelle appartient le data store. |
collectionDisplayName |
Nom à afficher de la collection à laquelle appartient le data store. |
dataSource |
Nom de la source de données. Exemple : |
EngineSource
| Représentation JSON |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| Champs | |
|---|---|
engine |
Obligatoire. Nom complet de la ressource du moteur. Format : |
dataStoreSources[] |
Facultatif. Utilisez-le pour cibler des DataStores spécifiques dans le moteur. Si elle est vide, la recherche s'applique à tous les DataStores associés au moteur. |
filter |
Facultatif. Filtre appliqué à la recherche dans le moteur. Sans intérêt et non utilisé si "data_store_sources" est fourni. Consultez https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata. |
BoostSpecs
| Représentation JSON |
|---|
{
"dataStores": [
string
],
"spec": [
{
object ( |
| Champs | |
|---|---|
dataStores[] |
Obligatoire. Data Store auquel la configuration du boosting est appliquée. Nom complet de la ressource DataStore, par exemple projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}. |
spec[] |
Obligatoire. Liste des spécifications de boosting. |
BoostSpec
| Représentation JSON |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| Champs | |
|---|---|
conditionBoostSpecs[] |
Obligatoire. Liste des spécifications de boosting. |
ConditionBoostSpec
| Représentation JSON |
|---|
{
"condition": string,
"boost": number,
"boostControlSpec": {
object ( |
| Champs | |
|---|---|
condition |
Obligatoire. Expression qui spécifie une condition d'optimisation. La syntaxe est la même que celle des expressions de filtre. Actuellement, la seule condition acceptée est une liste de codes de langue BCP-47. Exemple : Pour améliorer les suggestions dans les langues "en" ou "fr" : (lang_code: ANY("en", "fr")) |
boost |
Facultatif. Intensité du boost, qui doit être comprise entre -1 et 1. Un boosting négatif correspond à une rétrogradation. La valeur par défaut est 0.0. Définir l'intensité sur 1.0 permet de promouvoir fortement les suggestions. Toutefois, cela ne signifie pas nécessairement que le premier résultat sera une suggestion boostée. Si vous définissez la valeur sur -1,0, les suggestions sont fortement rétrogradées. Toutefois, d'autres suggestions pertinentes peuvent toujours s'afficher. Si vous définissez la valeur sur 0,0, aucune amélioration n'est appliquée. La condition de boost est ignorée. |
boostControlSpec |
Facultatif. Spécification complexe pour le classement personnalisé basé sur la valeur de l'attribut définie par le client. |
BoostControlSpec
| Représentation JSON |
|---|
{ "fieldName": string, "attributeType": enum ( |
| Champs | |
|---|---|
fieldName |
Facultatif. Nom du champ dont la valeur sera utilisée pour déterminer le montant du boost. |
attributeType |
Facultatif. Type d'attribut à utiliser pour déterminer le montant de l'augmentation. La valeur de l'attribut peut être dérivée de la valeur du champ spécifié par field_name. Dans le cas d'une valeur numérique, c'est simple : attribute_value = numerical_field_value. Dans le cas de la fraîcheur, attribute_value = (time.now() - datetime_field_value). |
interpolationType |
Facultatif. Type d'interpolation à appliquer pour connecter les points de contrôle listés ci-dessous. |
controlPoints[] |
Facultatif. Points de contrôle utilisés pour définir la courbe. La fonction monotone (définie par le biais de l'interpolation_type ci-dessus) passe par les points de contrôle listés ici. |
ControlPoint
| Représentation JSON |
|---|
{ "attributeValue": string, "boostAmount": number } |
| Champs | |
|---|---|
attributeValue |
Facultatif. Peut être l'une des valeurs suivantes : 1. Valeur numérique du champ. 2. Spécification de la durée de fraîcheur : la valeur doit être mise en forme en tant que valeur |
boostAmount |
Facultatif. Valeur comprise entre -1 et 1 permettant d'augmenter le score si la valeur de l'attribut correspond à la valeur spécifiée ci-dessus. |
ModalityConfig
| Représentation JSON |
|---|
{ "modalityType": enum ( |
| Champs | |
|---|---|
modalityType |
Obligatoire. Type de modalité. |
rewriterConfig |
Facultatif. Configuration du réécriveur. |
summarizationConfig |
Facultatif. Configuration de la synthèse. |
groundingConfig |
Facultatif. Configuration de l'ancrage. |
snippetsConfig |
Facultatif. Configuration des extraits. |
RewriterConfig
| Représentation JSON |
|---|
{
"modelSettings": {
object ( |
| Champs | |
|---|---|
modelSettings |
Obligatoire. Configurations du modèle LLM. |
prompt |
Facultatif. Définition de la requête. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée. |
disabled |
Facultatif. Indique si le réécrivain est désactivé. |
ModelSettings
| Représentation JSON |
|---|
{ "model": string, // Union field |
| Champs | |
|---|---|
model |
Facultatif. Modèle LLM que l'agent doit utiliser. Si aucune valeur n'est définie, l'agent hérite du modèle de son agent parent. |
Champ d'union
|
|
temperature |
Facultatif. Si cette option est définie, cette température sera utilisée pour le modèle LLM. La température contrôle le caractère aléatoire des réponses du modèle. Les températures plus basses produisent des réponses plus prévisibles. Les températures plus élevées génèrent des réponses plus créatives. |
SummarizationConfig
| Représentation JSON |
|---|
{
"modelSettings": {
object ( |
| Champs | |
|---|---|
modelSettings |
Facultatif. Configurations du modèle LLM. |
prompt |
Facultatif. Définition de la requête. Si aucune valeur n'est spécifiée, une requête par défaut sera utilisée. |
disabled |
Facultatif. Indique si la synthèse est désactivée. |
GroundingConfig
| Représentation JSON |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| Champs | |
|---|---|
groundingLevel |
Facultatif. Seuil d'ancrage de la réponse en fonction des sources récupérées. La valeur a une plage configurable de [1, 5]. Le niveau est utilisé pour définir le seuil de l'ancrage de la réponse. Cela signifie que toutes les réponses dont le score d'ancrage est inférieur au seuil ne renverront que des extraits pertinents. Par exemple, un niveau de 3 signifie que le score d'ancrage doit être de 3 ou plus pour que la réponse soit renvoyée. |
disabled |
Facultatif. Indique si l'ancrage est désactivé. |
SnippetsConfig
| Représentation JSON |
|---|
{ "enableSnippets": boolean } |
| Champs | |
|---|---|
enableSnippets |
Facultatif. Indique si les extraits sont activés. |
PythonFunction
| Représentation JSON |
|---|
{
"name": string,
"pythonCode": string,
"description": string,
"serviceDirectoryConfig": {
object ( |
| Champs | |
|---|---|
name |
Facultatif. Nom de la fonction Python à exécuter. Doit correspondre à un nom de fonction Python défini dans le code Python. Sensible à la casse. Si aucun nom n'est fourni, la première fonction définie dans le code Python sera utilisée. |
pythonCode |
Facultatif. Code Python à exécuter pour l'outil. |
description |
Uniquement en sortie. Description de la fonction Python, analysée à partir de la docstring du code Python. |
serviceDirectoryConfig |
Facultatif. Configuration de l'annuaire des services pour l'outil. |
McpTool
| Représentation JSON |
|---|
{ "name": string, "nameOverride": string, "description": string, "inputSchema": { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil MCP. |
nameOverride |
Facultatif. Nom de remplacement de l'outil MCP. Ce champ est renseigné si le nom a été remplacé par un remplacement Toolset. |
description |
Facultatif. Description de l'outil MCP. |
inputSchema |
Facultatif. Schéma des arguments d'entrée de l'outil MCP. |
outputSchema |
Facultatif. Schéma des arguments de sortie de l'outil MCP. |
serverAddress |
Obligatoire. Adresse du serveur MCP, par exemple "https://example.com/mcp/". Si le serveur est créé avec le SDK MCP, l'URL doit être suffixée par "/mcp/". Seuls les serveurs basés sur le transport HTTP Streamable sont acceptés. Cette valeur est identique à server_address dans McpToolset. Pour en savoir plus, consultez https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http. |
apiAuthentication |
Facultatif. Informations d'authentification requises pour exécuter l'outil sur le serveur MCP. Pour l'authentification par jeton du porteur, le jeton ne s'applique qu'à l'exécution de l'outil, et non à la liste des outils. Cela nécessite que les outils puissent être listés sans authentification. |
tlsConfig |
Facultatif. Configuration TLS. Inclut les certificats de serveur personnalisés auxquels le client doit faire confiance. |
serviceDirectoryConfig |
Facultatif. Configuration Annuaire des services pour VPC-SC, utilisée pour résoudre les noms de service dans un périmètre. |
customHeaders |
Facultatif. En-têtes personnalisés à envoyer dans la requête au serveur MCP. Les valeurs doivent être au format Objet contenant une liste de paires |
state |
Uniquement en sortie. État de disponibilité dynamique de l'outil sur le serveur externe. |
CustomHeadersEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
FileSearchTool
| Représentation JSON |
|---|
{
"corpusType": enum ( |
| Champs | |
|---|---|
corpusType |
Facultatif. Type de corpus. La valeur par défaut est FULLY_MANAGED. |
name |
Obligatoire. Nom de l'outil. |
description |
Facultatif. Description de l'outil. |
fileCorpus |
Facultatif. Corpus dans lequel les fichiers sont stockés. Format : projects/{project}/locations/{location}/ragCorpora/{rag_corpus} |
SystemTool
| Représentation JSON |
|---|
{ "name": string, "description": string } |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil système. |
description |
Uniquement en sortie. Description de l'outil système. |
AgentTool
| Représentation JSON |
|---|
{ "name": string, "description": string, "agent": string } |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil de l'agent. |
description |
Facultatif. Description de l'objectif de l'outil. |
agent |
Facultatif. Nom de ressource de l'agent qui est le point d'entrée de l'outil. Format : |
WidgetTool
| Représentation JSON |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom à afficher de l'outil de widget. |
description |
Facultatif. Description de l'outil de widget. |
widgetType |
Facultatif. Type de l'outil de widget. Si aucun type n'est spécifié, le type par défaut est "CUSTOMIZED" (PERSONNALISÉ). |
uiConfig |
Facultatif. Configuration pour l'affichage du widget. |
dataMapping |
Facultatif. Mappage qui définit la façon dont les données d'un outil source sont mappées aux paramètres d'entrée du widget. |
textResponseConfig |
Facultatif. Configuration pour les réponses textuelles toujours incluses. |
Champ d'union input. Entrée de l'outil de widget. input ne peut être qu'un des éléments suivants : |
|
parameters |
Facultatif. Paramètres d'entrée de l'outil de widget. |
DataMapping
| Représentation JSON |
|---|
{ "sourceToolName": string, "fieldMappings": { string: string, ... }, "pythonFunction": { object ( |
| Champs | |
|---|---|
sourceToolName |
Facultatif. Nom de ressource de l'outil qui fournit les données du widget (par exemple, un outil de recherche ou une fonction personnalisée). Format : |
fieldMappings |
Facultatif. Mappage des champs de paramètres d'entrée du widget avec les champs de sortie correspondants de l'outil source. Objet contenant une liste de paires |
pythonFunction |
Facultatif. Configuration d'une fonction Python utilisée pour transformer la sortie de l'outil source au format d'entrée du widget. |
mode |
Facultatif. Mode du mappage de données. |
pythonScript |
Obsolète : utilisez plutôt |
FieldMappingsEntry
| Représentation JSON |
|---|
{ "key": string, "value": string } |
| Champs | |
|---|---|
key |
|
value |
|
TextResponseConfig
| Représentation JSON |
|---|
{
"type": enum ( |
| Champs | |
|---|---|
type |
Facultatif. Stratégie pour fournir la réponse textuelle. |
staticText |
Facultatif. Réponse texte statique à renvoyer lorsque le type est "STATIC". |
textResponseInstruction |
Facultatif. Instruction pour le LLM sur la façon de générer la réponse textuelle. Utilisé comme description du paramètre de réponse textuelle si le type est LLM_GENERATED. |
RemoteAgentTool
| Représentation JSON |
|---|
{
"name": string,
"description": string,
"agentCard": {
object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom de l'outil. |
description |
Obligatoire. Description de l'outil. |
agentCard |
Obligatoire. Fiche de l'agent distant que cet outil appelle. |
AgentCard
| Représentation JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Champs | |
|---|---|
name |
Obligatoire. Nom d'agent lisible par l'humain. |
description |
Obligatoire. Description du domaine d'action/de l'espace de solutions de l'agent. |
supportedInterfaces[] |
Obligatoire. Liste ordonnée des interfaces compatibles. La première entrée est privilégiée. |
version |
Obligatoire. Version de l'agent. |
skills[] |
Obligatoire. Les compétences représentent une capacité qu'un agent peut effectuer. Cela peut sembler un peu abstrait, mais cela représente un ensemble d'actions plus ciblées que l'agent est très susceptible de réussir. |
AgentInterface
| Représentation JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Champs | |
|---|---|
url |
Obligatoire. URL où cette interface est disponible. Doit être une URL HTTPS absolue valide en production. Exemple : "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a" |
protocolBinding |
Obligatoire. L'association de protocole acceptée à cette URL. Il s'agit d'une chaîne de formulaire ouverte, qui peut être facilement étendue à d'autres liaisons de protocole. Les principaux officiellement acceptés sont |
tenant |
ID de locataire à utiliser dans la requête lors de l'appel de l'agent. |
protocolVersion |
Obligatoire. Version du protocole A2A que cette interface expose. Utilisez la dernière version mineure compatible pour chaque version majeure. Exemples : "0.3", "1.0" |
AgentSkill
| Représentation JSON |
|---|
{ "id": string, "name": string, "description": string, "tags": [ string ], "examples": [ string ], "inputModes": [ string ], "outputModes": [ string ] } |
| Champs | |
|---|---|
id |
Obligatoire. Identifiant unique de la compétence de l'agent. |
name |
Obligatoire. Nom lisible de la compétence. |
description |
Obligatoire. Description détaillée de la compétence. |
tags[] |
Obligatoire. Ensemble de mots clés décrivant les capacités de la compétence. |
examples[] |
Exemples de requêtes ou de scénarios que cette compétence peut traiter. |
inputModes[] |
Ensemble des types de supports d'entrée acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent. |
outputModes[] |
Ensemble des types de supports de sortie acceptés pour cette compétence, qui remplacent les valeurs par défaut de l'agent. |
Durée
| Représentation JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Champs | |
|---|---|
seconds |
Secondes signées de la période. La valeur doit être comprise entre -315 576 000 000 et +315 576 000 000 (inclus). Remarque : Ces limites sont calculées à partir de : 60 s/min * 60 min/h * 24 h/jour * 365,25 jours/an * 10 000 ans. |
nanos |
Fractions de secondes signées avec une précision de l'ordre de la nanoseconde pour la durée. Les durées inférieures à une seconde sont représentées par un champ |
ToolFakeConfig
| Représentation JSON |
|---|
{ "enableFakeMode": boolean, // Union field |
| Champs | |
|---|---|
enableFakeMode |
Facultatif. Indique si l'outil utilise le mode factice. |
Champ d'union tool_response. La réponse est statique ou fournie par une fonction Python. tool_response ne peut être qu'un des éléments suivants : |
|
codeBlock |
Facultatif. Bloc de code qui sera exécuté à la place d'un véritable appel d'outil. |
CodeBlock
| Représentation JSON |
|---|
{ "pythonCode": string } |
| Champs | |
|---|---|
pythonCode |
Obligatoire. Code Python qui sera appelé en mode faux outil. Signature de la fonction Python attendue : pour intercepter tous les appels d'outil : def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: pour intercepter un appel d'outil spécifique : def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: si la fonction renvoie "None", le véritable outil sera appelé à la place. |
Type
Types de données OpenAPI.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Type non spécifié |
STRING |
Type de chaîne. |
INTEGER |
Type entier. |
NUMBER |
Type de nombre. |
BOOLEAN |
Type booléen. |
OBJECT |
Type d'objet. |
ARRAY |
Type de tableau. |
NullValue
Représente un null JSON.
NullValue est une sentinelle qui utilise une énumération avec une seule valeur pour représenter la valeur nulle de l'union de type Value.
Un champ de type NullValue avec une valeur autre que 0 est considéré comme non valide. La plupart des sérialiseurs ProtoJSON émettent un Value avec un null_value défini comme null JSON, quelle que soit la valeur entière, et effectuent donc un aller-retour vers une valeur 0.
| Enums | |
|---|---|
NULL_VALUE |
Valeur nulle. |
RequestLocation
Emplacement de la clé API dans la requête.
| Enums | |
|---|---|
REQUEST_LOCATION_UNSPECIFIED |
Non spécifié. Cette valeur ne doit pas être utilisée. |
HEADER |
Représente la clé dans l'en-tête HTTP. |
QUERY_STRING |
Représente la clé dans la chaîne de requête. |
OauthGrantType
Types d'attribution OAuth. Seule l'attribution d'identifiants client est acceptée.
| Enums | |
|---|---|
OAUTH_GRANT_TYPE_UNSPECIFIED |
Non spécifié. La valeur par défaut est CLIENT_CREDENTIAL. |
CLIENT_CREDENTIAL |
Représente le flux d'identifiants client. |
OperationType
Opération à effectuer sur l'entité.
| Enums | |
|---|---|
OPERATION_TYPE_UNSPECIFIED |
Type d'opération non spécifié. Non valide. La création ou la mise à jour de ConnectorTool échouera. |
LIST |
Opération de liste. |
GET |
Obtenir une opération. |
CREATE |
Opération de création. |
UPDATE |
Opération de mise à jour. |
DELETE |
Supprimer une opération. |
DataStoreType
Type du data store.
| Enums | |
|---|---|
DATA_STORE_TYPE_UNSPECIFIED |
Non spécifié. Cette valeur indique que le type de data store n'est pas spécifié. Il ne sera donc pas utilisé lors de la recherche. |
PUBLIC_WEB |
Un data store contenant du contenu Web public. |
UNSTRUCTURED |
Datastore contenant des données privées non structurées. |
FAQ |
Un data store contenant des données structurées utilisées comme questions fréquentes. |
CONNECTOR |
Datastore qui sert de connecteur à un service first party ou tiers. |
DocumentProcessingMode
Mode de traitement des documents du data store.
| Enums | |
|---|---|
DOCUMENT_PROCESSING_MODE_UNSPECIFIED |
Non spécifié. |
DOCUMENTS |
Les documents sont traités en tant que documents. |
CHUNKS |
Les documents sont convertis en blocs. |
AttributeType
Attribut(ou fonction) auquel le classement personnalisé doit être appliqué.
| Enums | |
|---|---|
ATTRIBUTE_TYPE_UNSPECIFIED |
Type d'attribut non spécifié. |
NUMERICAL |
La valeur du champ numérique sera utilisée pour mettre à jour dynamiquement le montant du boost. Dans ce cas, la valeur d'attribut (valeur x) du point de contrôle sera la valeur réelle du champ numérique pour lequel boost_amount est spécifié. |
FRESHNESS |
Dans le cas d'utilisation de la fraîcheur, la valeur de l'attribut correspond à la durée entre l'heure actuelle et la date indiquée dans le champ "datetime". La valeur doit être au format XSD dayTimeDuration (sous-ensemble restreint d'une valeur de durée ISO 8601). Le format est le suivant : [nD][T[nH][nM][nS]]. Par exemple, 5D, 3DT12H30M ou T24H. |
InterpolationType
Type d'interpolation à appliquer. La valeur par défaut est "linéaire" (linéaire par morceaux).
| Enums | |
|---|---|
INTERPOLATION_TYPE_UNSPECIFIED |
Le type d'interpolation n'est pas spécifié. Dans ce cas, la valeur par défaut est "Linéaire". |
LINEAR |
Une interpolation linéaire par morceaux sera appliquée. |
ModalityType
Type de modalité.
| Enums | |
|---|---|
MODALITY_TYPE_UNSPECIFIED |
Type de modalité non spécifié. |
TEXT |
Modalité textuelle. |
AUDIO |
Modalité audio. |
FilterParameterBehavior
Comportement des paramètres de filtre.
| Enums | |
|---|---|
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED |
Comportement par défaut du filtre. Incluez le paramètre de filtre pour les data stores de connecteur. Pour les autres types de magasins de données, le paramètre d'entrée du filtre est omis. |
ALWAYS_INCLUDE |
Incluez toujours un paramètre de filtre pour tous les types de data stores. |
NEVER_INCLUDE |
Le paramètre de filtre n'est jamais inclus dans la liste des paramètres d'outil, quel que soit le type de data store. |
État
Représente l'état de disponibilité dynamique de l'outil.
| Enums | |
|---|---|
STATE_UNSPECIFIED |
État par défaut. |
ACTIVE |
L'outil est disponible et proposé activement par le serveur. |
INACTIVE |
L'outil est configuré ou épinglé, mais n'est actuellement pas proposé par le serveur. |
STALE |
L'outil existe sur le serveur, mais ne correspond pas à la version du serveur. |
CorpusType
Type de corpus RAG Vertex.
| Enums | |
|---|---|
CORPUS_TYPE_UNSPECIFIED |
Type de corpus non spécifié. |
USER_OWNED |
Le corpus est créé par l'utilisateur et lui appartient. |
FULLY_MANAGED |
Le corpus est créé par l'agent. |
WidgetType
Tous les types de widgets disponibles. De nouvelles valeurs pourront être ajoutées à cette énumération à l'avenir.
| Enums | |
|---|---|
WIDGET_TYPE_UNSPECIFIED |
Type de widget non spécifié. |
CUSTOM |
Type de widget personnalisé. |
PRODUCT_CAROUSEL |
Widget de carrousel de produits. |
PRODUCT_DETAILS |
Widget d'informations détaillées sur le produit. |
QUICK_ACTIONS |
Widget Actions rapides. |
PRODUCT_COMPARISON |
Widget de comparaison de produits. |
ADVANCED_PRODUCT_DETAILS |
Widget d'informations détaillées avancées sur le produit. |
SHORT_FORM |
Widget de formulaire court. |
OVERALL_SATISFACTION |
Widget de satisfaction globale. |
ORDER_SUMMARY |
Widget de récapitulatif de la commande. |
APPOINTMENT_DETAILS |
Widget de détails du rendez-vous. |
APPOINTMENT_SCHEDULER |
Widget de planification des rendez-vous. |
CONTACT_FORM |
Widget de formulaire de contact. |
Mode
Stratégie utilisée pour mapper les données de l'outil source au widget.
| Enums | |
|---|---|
MODE_UNSPECIFIED |
Mode non spécifié. |
FIELD_MAPPING |
Utilisez la carte field_mappings pour transformer les données. |
PYTHON_SCRIPT |
Utilisez python_script pour transformer les données. |
Type
Définit la manière dont la réponse textuelle est produite.
| Enums | |
|---|---|
TYPE_UNSPECIFIED |
Type non spécifié. |
NONE |
Le LLM décide de manière dynamique s'il doit générer une réponse textuelle en plus du widget en fonction du contexte de la conversation. |
LLM_GENERATED |
Le LLM est explicitement tenu de générer une réponse textuelle. |
STATIC |
Une réponse texte statique prédéfinie est toujours utilisée. |
ExecutionType
Type d'exécution de l'outil ou de l'ensemble d'outils.
| Enums | |
|---|---|
EXECUTION_TYPE_UNSPECIFIED |
Le type d'exécution n'est pas spécifié. Prend la valeur SYNCHRONOUS par défaut s'il n'est pas spécifié. |
SYNCHRONOUS |
L'outil est exécuté de manière synchrone. La session est bloquée jusqu'à ce que l'outil renvoie une réponse. |
ASYNCHRONOUS |
L'outil est exécuté de manière asynchrone. La session se poursuivra pendant l'exécution de l'outil. |
Annotations d'outils
Indication de destruction : ✅ | Indication d'idempotence : ❌ | Indication de lecture seule : ❌ | Indication de monde ouvert : ❌