REST Resource: projects.locations.apps.tools

Ressource: Tool

Ein Tool stellt eine Aktion dar, die der CES-Agent ausführen kann, um bestimmte Ziele zu erreichen.

JSON-Darstellung
{
  "name": string,
  "displayName": string,
  "executionType": enum (ExecutionType),
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "generatedSummary": string,
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },
  "readOnly": boolean,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "clientFunction": {
    object (ClientFunction)
  },
  "openApiTool": {
    object (OpenApiTool)
  },
  "googleSearchTool": {
    object (GoogleSearchTool)
  },
  "connectorTool": {
    object (ConnectorTool)
  },
  "dataStoreTool": {
    object (DataStoreTool)
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mcpTool": {
    object (McpTool)
  },
  "fileSearchTool": {
    object (FileSearchTool)
  },
  "systemTool": {
    object (SystemTool)
  },
  "agentTool": {
    object (AgentTool)
  },
  "widgetTool": {
    object (WidgetTool)
  },
  "remoteAgentTool": {
    object (RemoteAgentTool)
  }
  // End of mutually exclusive fields.
}
Felder
name

string

ID. Der Ressourcenname des Tools. Format:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} für eigenständige Tools.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} für Tools, die aus einem Toolset abgerufen werden.

Diese Tools sind dynamisch und geben nur Ausgaben zurück. Sie können nicht direkt referenziert werden, wenn ein Tool erwartet wird.

displayName

string

Nur Ausgabe. Der Anzeigename des Tools, der auf dem Typ des Tools basiert. Der Anzeigename einer [ClientFunction][Tool.ClientFunction] wird beispielsweise aus der zugehörigen name-Eigenschaft abgeleitet.

executionType

enum (ExecutionType)

Optional. Der Ausführungstyp des Tools.

timeout

string (Duration format)

Optional. Das Zeitlimit für die Toolausführung. Wenn nichts anderes festgelegt ist, beträgt das Standard-Zeitlimit 30 Sekunden für SYNCHRONOUS-Tools und 60 Sekunden für ASYNCHRONOUS-Tools.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit „s“. Beispiel: "3.5s".

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für die Erstellung des Tools.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel der letzten Aktualisierung des Tools.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

etag

string

ETag, mit dem sichergestellt wird, dass sich das Objekt während eines Read-Modify-Write-Vorgangs nicht geändert hat. Wenn das ETag leer ist, werden durch das Update alle gleichzeitigen Änderungen überschrieben.

generatedSummary

string

Nur Ausgabe. Wenn das Tool vom LLM-Assistenten generiert wird, enthält dieses Feld eine beschreibende Zusammenfassung der Generierung.

toolFakeConfig

object (ToolFakeConfig)

Optional. Konfiguration für das Toolverhalten im Fälschungsmodus.

readOnly

boolean

Nur Ausgabe. Gibt an, ob das Tool schreibgeschützt ist. Wenn „true“ festgelegt ist, kann das Tool nicht vom Nutzer geändert werden.

Der Typ des Tools. Im Folgenden finden Sie eine Liste von sich gegenseitig ausschließenden Feldern. In einer Antwort wird höchstens eines der Felder festgelegt:
clientFunction

object (ClientFunction)

Optional. Die Client-Funktion.

openApiTool

object (OpenApiTool)

Optional. Das Open API-Tool.

googleSearchTool

object (GoogleSearchTool)

Optional. Das Tool für die Google Suche.

connectorTool

object (ConnectorTool)

Optional. Das Integration Connector-Tool.

dataStoreTool

object (DataStoreTool)

Optional. Das Datenspeichertool.

pythonFunction

object (PythonFunction)

Optional. Das Python-Funktionstool.

mcpTool

object (McpTool)

Optional. Das MCP-Tool. Ein MCP-Tool kann nicht direkt erstellt oder aktualisiert werden, sondern wird vom MCP-Toolset verwaltet.

fileSearchTool

object (FileSearchTool)

Optional. Das Dateisuchtool.

systemTool

object (SystemTool)

Optional. Das Systemtool.

agentTool

object (AgentTool)

Optional. Das Agent-Tool.

widgetTool

object (WidgetTool)

Optional. Das Widget-Tool

remoteAgentTool

object (RemoteAgentTool)

Optional. Das Remote-Agent-Tool.

Ende der sich gegenseitig ausschließenden Felder.

ClientFunction

Stellt eine clientseitige Funktion dar, die der KI-Agent aufrufen kann. Wenn das Tool vom Agenten ausgewählt wird, wird die Steuerung an den Client übergeben. Der Client ist für die Ausführung der Funktion und die Rückgabe des Ergebnisses als ToolResponse verantwortlich, um die Interaktion mit dem Agent fortzusetzen.

JSON-Darstellung
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Felder
name

string

Erforderlich. Der Funktionsname.

description

string

Optional. Die Funktionsbeschreibung.

parameters

object (Schema)

Optional. Das Schema der Funktionsparameter.

response

object (Schema)

Optional. Das Schema der Funktionsantwort.

OpenApiTool

Ein Remote-API-Tool, das durch ein OpenAPI-Schema definiert wird.

JSON-Darstellung
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Felder
openApiSchema

string

Erforderlich. Das OpenAPI-Schema im JSON- oder YAML-Format.

name

string

Optional. Der Name des Tools. Wenn kein Name angegeben ist, wird der Name des Tools aus dem OpenAPI-Schema abgeleitet, aus operation.operationId.

description

string

Optional. Die Beschreibung des Tools. Wenn sie nicht angegeben ist, wird die Beschreibung des Tools aus dem OpenAPI-Schema, aus operation.description oder aus operation.summary abgeleitet.

apiAuthentication

object (ApiAuthentication)

Optional. Von der API benötigte Authentifizierungsinformationen.

tlsConfig

object (TlsConfig)

Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Optional. Service Directory-Konfiguration.

ignoreUnknownFields

boolean

Optional. Bei „true“ ignoriert der Agent unbekannte Felder in der API-Antwort.

url

string

Optional. Die Server-URL des Open API-Schemas. Dieses Feld wird in Tools in den Umgebungsabhängigkeiten während des Exportvorgangs nur festgelegt, wenn das Schema eine Server-URL enthält. Wenn diese URL während des Importvorgangs in den Umgebungsabhängigkeiten vorhanden ist und das Schema den Platzhalter $env_var enthält, wird der Platzhalter im Schema ersetzt.

GoogleSearchTool

Stellt ein Tool zum Ausführen von Google-Websuchen zur Fundierung dar. Weitere Informationen finden Sie unter https://cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool#google-search.

JSON-Darstellung
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (GoogleSearchTool.PromptConfig)
  }
}
Felder
name

string

Erforderlich. Der Name des Tools.

description

string

Optional. Beschreibung des Zwecks des Tools.

contextUrls[]

string

Optional. Inhalte werden direkt von diesen URLs abgerufen, um Kontext und Fundierung zu erhalten. Beispiel: „https://beispiel.de/pfad.html“. Es sind maximal 20 URLs zulässig.

preferredDomains[]

string

Optional. Gibt Domains an, auf die Suchergebnisse beschränkt werden sollen. Beispiel: „beispiel.de“, „andere.website“. Es können maximal 20 Domains angegeben werden.

excludeDomains[]

string

Optional. Liste der Domains, die aus den Suchergebnissen ausgeschlossen werden sollen. Beispiel: „beispiel.de“. Es können maximal 2.000 Domains ausgeschlossen werden.

promptConfig

object (GoogleSearchTool.PromptConfig)

Optional. Anweisungen für den Planner, wie die Suchergebnisse für Text und Sprache verarbeitet werden sollen.

GoogleSearchTool.PromptConfig

Prompteinstellungen, die vom Modell beim Verarbeiten oder Zusammenfassen der Google-Suchergebnisse verwendet werden.

JSON-Darstellung
{
  "textPrompt": string,
  "voicePrompt": string
}
Felder
textPrompt

string

Optional. Definiert den Prompt, der für die Systemanweisungen verwendet wird, wenn Sie in Chatunterhaltungen mit dem Agent interagieren. Wenn nichts angegeben ist, wird ein Standard-Prompt verwendet.

voicePrompt

string

Optional. Definiert den Prompt, der für die Systemanweisungen verwendet wird, wenn Sie in Sprachunterhaltungen mit dem Agent interagieren. Wenn nichts angegeben ist, wird ein Standard-Prompt verwendet.

ConnectorTool

Mit einem ConnectorTool können Verbindungen zu verschiedenen Integrationen hergestellt werden. Weitere Informationen finden Sie unter https://cloud.google.com/integration-connectors/docs/overview.

JSON-Darstellung
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Felder
connection

string

Erforderlich. Der vollständige Ressourcenname der referenzierten Integration Connectors-Verbindung. Format: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Erforderlich. Aktion für das zu verwendende Tool.

authConfig

object (EndUserAuthConfig)

Optional. Konfiguriert, wie die Authentifizierung in Integration Connectors gehandhabt wird. Standardmäßig wird eine Administratorauthentifizierung in den Integration Connectors API-Anfragen übergeben. Sie können sie mit einer anderen Endnutzerauthentifizierungskonfiguration überschreiben. Hinweis: Für die Verbindung muss die Authentifizierungsüberschreibung aktiviert sein, damit Sie hier eine EUC-Konfiguration angeben können. Andernfalls schlägt die Erstellung des Connector-Tools fehl. Weitere Informationen finden Sie unter https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override.

name

string

Optional. Der Name des Tools, das vom Agent verwendet werden kann, um zu entscheiden, ob dieses ConnectorTool aufgerufen werden soll.

description

string

Optional. Die Beschreibung des Tools, anhand derer der Agent entscheiden kann, ob dieses ConnectorTool aufgerufen werden soll.

DataStoreTool

Tool zum Abrufen von Daten aus dem Vertex AI Search-Datenspeicher oder der Engine zur Fundierung. Akzeptiert entweder einen Datenspeicher oder eine Engine, aber nicht beides. Weitere Informationen finden Sie unter Vertex AI Search: https://cloud.google.com/generative-ai-app-builder/docs/enterprise-search-introduction.

JSON-Darstellung
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (DataStoreTool.BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (DataStoreTool.ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (DataStoreTool.FilterParameterBehavior),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "dataStoreSource": {
    object (DataStoreTool.DataStoreSource)
  },
  "engineSource": {
    object (DataStoreTool.EngineSource)
  }
  // End of mutually exclusive fields.
}
Felder
name

string

Erforderlich. Der Name des Datenspeichertools.

description

string

Optional. Die Toolbeschreibung.

boostSpecs[]

object (DataStoreTool.BoostSpecs)

Optional. Mit der Boost-Spezifikation können Sie bestimmte Dokumente hervorheben.

modalityConfigs[]

object (DataStoreTool.ModalityConfig)

Optional. Die Modalitätskonfigurationen für den Datenspeicher.

filterParameterBehavior

enum (DataStoreTool.FilterParameterBehavior)

Optional. Das Verhalten des Filterparameters.

Definiert die Suchquelle, entweder einen einzelnen Datenspeicher oder eine Engine. Im Folgenden finden Sie eine Liste von sich gegenseitig ausschließenden Feldern. In einer Antwort wird höchstens eines der Felder festgelegt:
dataStoreSource

object (DataStoreTool.DataStoreSource)

Optional. In einem einzelnen bestimmten Datenspeicher suchen.

engineSource

object (DataStoreTool.EngineSource)

Optional. In einer Engine suchen (möglicherweise in mehreren DataStores).

Ende der sich gegenseitig ausschließenden Felder.

DataStoreTool.DataStoreSource

Konfiguration für die Suche in einem bestimmten Datenspeicher.

JSON-Darstellung
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Felder
filter

string

Optional. Filterspezifikation für den Datenspeicher. Weitere Informationen: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Optional. Der Datenspeicher.

Datastore

Eine DataStore-Ressource in Vertex AI Search.

JSON-Darstellung
{
  "name": string,
  "type": enum (DataStore.DataStoreType),
  "documentProcessingMode": enum (DataStore.DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (DataStore.ConnectorConfig)
  }
}
Felder
name

string

Erforderlich. Vollständiger Ressourcenname des DataStore. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStore.DataStoreType)

Nur Ausgabe. Der Typ des Datenspeichers. Dieses Feld ist schreibgeschützt und wird vom Server ausgefüllt.

documentProcessingMode

enum (DataStore.DocumentProcessingMode)

Nur Ausgabe. Der Dokumentverarbeitungsmodus für die Datenspeicherverbindung. Wird nur für PUBLIC_WEB- und UNSTRUCTURED-Datenspeicher festgelegt.

displayName

string

Nur Ausgabe. Der Anzeigename des Datenspeichers.

createTime

string (Timestamp format)

Nur Ausgabe. Zeitstempel für die Erstellung des Datenspeichers.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

connectorConfig

object (DataStore.ConnectorConfig)

Nur Ausgabe. Die Connector-Konfiguration für die Datenspeicherverbindung.

DataStore.DataStoreType

Der Typ des Datenspeichers.

Enums
DATA_STORE_TYPE_UNSPECIFIED Nicht angegeben. Dieser Wert gibt an, dass der Datenspeichertyp nicht angegeben ist. Er wird daher bei der Suche nicht verwendet.
PUBLIC_WEB Ein Datenspeicher, der öffentliche Webinhalte enthält.
UNSTRUCTURED Ein Datenspeicher, der unstrukturierte private Daten enthält.
FAQ Ein Datenspeicher mit strukturierten Daten, die als FAQs verwendet werden.
CONNECTOR Ein Datenspeicher, der ein Connector zu einem selbst erhobenen oder einem Drittanbieterdienst ist.

DataStore.DocumentProcessingMode

Der Dokumentverarbeitungsmodus des Datenspeichers.

Enums
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Nicht angegeben.
DOCUMENTS Dokumente werden als Dokumente verarbeitet.
CHUNKS Dokumente werden in Blöcke unterteilt.

DataStore.ConnectorConfig

Die Connector-Konfiguration für die Datenspeicherverbindung.

JSON-Darstellung
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Felder
collection

string

Der Ressourcenname der Sammlung, zu der der Datenspeicher gehört.

collectionDisplayName

string

Der Anzeigename der Sammlung, zu der der Datenspeicher gehört.

dataSource

string

Der Name der Datenquelle. Beispiel: salesforce, jira, confluence, bigquery.

DataStoreTool.EngineSource

Konfiguration für die Suche in einer Engine, die möglicherweise auf bestimmte Datenspeicher ausgerichtet ist.

JSON-Darstellung
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreTool.DataStoreSource)
    }
  ],
  "filter": string
}
Felder
engine

string

Erforderlich. Vollständiger Ressourcenname der Engine. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreTool.DataStoreSource)

Optional. Wird verwendet, um bestimmte Datenspeicher innerhalb der Engine als Ziel auszuwählen. Wenn das Feld leer ist, wird die Suche auf alle Datenspeicher angewendet, die mit der Engine verknüpft sind.

filter

string

Optional. Ein Filter, der auf die Suche in der Engine angewendet wird. Nicht relevant und nicht verwendet, wenn „dataStoreSources“ angegeben ist. Weitere Informationen: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

DataStoreTool.BoostSpecs

Mit Boost-Spezifikationen können Sie bestimmte Dokumente hervorheben. Weitere Informationen finden Sie unter https://cloud.google.com/generative-ai-app-builder/docs/boosting.

JSON-Darstellung
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (DataStoreTool.BoostSpec)
    }
  ]
}
Felder
dataStores[]

string

Erforderlich. Der Datenspeicher, auf den die Konfiguration für die Steigerung angewendet wird. Vollständiger Ressourcenname des DataStore, z. B. „projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}“.

spec[]

object (DataStoreTool.BoostSpec)

Erforderlich. Eine Liste mit Boosting-Spezifikationen.

DataStoreTool.BoostSpec

Mit der Boost-Spezifikation können Sie bestimmte Dokumente hervorheben.

JSON-Darstellung
{
  "conditionBoostSpecs": [
    {
      object (DataStoreTool.BoostSpec.ConditionBoostSpec)
    }
  ]
}
Felder
conditionBoostSpecs[]

object (DataStoreTool.BoostSpec.ConditionBoostSpec)

Erforderlich. Eine Liste mit Boosting-Spezifikationen.

DataStoreTool.BoostSpec.ConditionBoostSpec

Boost-Spezifikation für eine Bedingung.

JSON-Darstellung
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)
  }
}
Felder
condition

string

Erforderlich. Der Ausdruck für eine Boost-Bedingung. Die Syntax ist dieselbe wie die Syntax für Filterausdrücke. Derzeit wird nur eine Liste von BCP-47-Sprachcodes als Bedingung unterstützt. Beispiel: So verbessern Sie Vorschläge in den Sprachen „en“ oder „fr“: (lang_code: ANY("en", "fr"))

boost

number

Optional. Stärke des Boostings, das im Bereich [-1, 1] liegen sollte. Negatives Boosting bedeutet Abwertung. Der Standardwert ist 0,0.

Wenn Sie den Wert auf 1,0 setzen, werden die Vorschläge deutlich hochgestuft. Das bedeutet jedoch nicht, dass das Top-Ergebnis immer ein geboosteter Vorschlag ist.

Wenn Sie den Wert auf -1,0 setzen, werden die Vorschläge stark herabgestuft. Es werden jedoch möglicherweise weiterhin andere relevante Vorschläge angezeigt.

Wenn Sie den Wert auf 0,0 festlegen, wird kein Boosting angewendet. Die Boost-Bedingung wird ignoriert.

boostControlSpec

object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec)

Optional. Komplexe Spezifikation für benutzerdefiniertes Ranking basierend auf einem vom Kunden definierten Attributwert.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec

Spezifikation für benutzerdefiniertes Ranking basierend auf einem vom Kunden angegebenen Attributwert. Sie bietet mehr Steuerungsmöglichkeiten für das benutzerdefinierte Ranking als die oben genannte einfache Kombination aus „Bedingung“ und „Boost“ oben.

JSON-Darstellung
{
  "fieldName": string,
  "attributeType": enum (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType),
  "interpolationType": enum (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType),
  "controlPoints": [
    {
      object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint)
    }
  ]
}
Felder
fieldName

string

Optional. Der Name des Feldes, dessen Wert zur Bestimmung des Boost-Betrags verwendet wird.

attributeType

enum (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType)

Optional. Der Attributtyp, der zum Ermitteln des Boost-Betrags verwendet werden soll. Der Attributwert kann aus dem Feldwert des angegebenen „fieldName“ abgeleitet werden. Bei numerischen Werten ist das ganz einfach: attributeValue = numerical_field_value. Bei der Aktualität gilt jedoch: attributeValue = (time.now() – datetime_field_value).

interpolationType

enum (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType)

Optional. Der Interpolationstyp, der zum Verbinden der unten aufgeführten Kontrollpunkte verwendet wird.

controlPoints[]

object (DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint)

Optional. Die Kontrollpunkte, mit denen die Kurve definiert wird. Die monotone Funktion (die oben über „interpolationType“ definiert wurde) geht durch die hier aufgeführten Kontrollpunkte.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType

Das Attribut (oder die Funktion), auf das bzw. die das benutzerdefinierte Ranking angewendet werden soll.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED Nicht angegebener AttributeType.
NUMERICAL Der Wert des numerischen Felds wird verwendet, um den Boost-Betrag dynamisch zu aktualisieren. In diesem Fall ist der „attributeValue“ (der x-Wert) des Kontrollpunkts der tatsächliche Wert des numerischen Felds, für das „boostAmount“ definiert ist.
FRESHNESS Im Anwendungsfall „Aktualität“ ist der Attributwert die Zeitspanne zwischen der aktuellen Uhrzeit und dem Datum im angegebenen Datums-/Uhrzeitfeld. Der Wert muss als XSD-dayTimeDuration-Wert formatiert sein (eine eingeschränkte Teilmenge eines ISO 8601-Dauerwerts). Das Muster dafür ist: [nD][T[nH][nM][nS]]. Beispiele: 5D, 3DT12H30M, T24H.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType

Anzuwendender Interpolationstyp. Der Standardwert ist „linear“ (Piecewise Linear).

Enums
INTERPOLATION_TYPE_UNSPECIFIED Der Interpolationstyp ist nicht angegeben. In diesem Fall wird standardmäßig der Typ „Linear“ verwendet.
LINEAR Die „PiecewiseLinear“-Interpolation wird angewendet.

DataStoreTool.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint

Die Kontrollpunkte, mit denen die Kurve definiert wird. Die durch diese Kontrollpunkte definierte Kurve kann nur monoton steigend oder fallend sein (konstante Werte sind zulässig).

JSON-Darstellung
{
  "attributeValue": string,
  "boostAmount": number
}
Felder
attributeValue

string

Optional. Kann einer der folgenden Werte sein: 1. Der numerische Feldwert. 2. Die Dauerangabe für die Aktualität: Der Wert muss als XSD-dayTimeDuration-Wert formatiert sein (eine eingeschränkte Teilmenge eines ISO 8601-Dauerwerts). Das Muster dafür ist: [nD][T[nH][nM][nS]].

boostAmount

number

Optional. Der Wert zwischen -1 und 1, der angibt, um wieviel die Punktzahl erhöht werden soll, wenn „attributeValue“ dem oben angegebenen Wert entspricht.

DataStoreTool.ModalityConfig

Falls angegeben, wird die angegebene Konfiguration für die angegebene Modalität angewendet.

JSON-Darstellung
{
  "modalityType": enum (DataStoreTool.ModalityConfig.ModalityType),
  "rewriterConfig": {
    object (DataStoreTool.RewriterConfig)
  },
  "summarizationConfig": {
    object (DataStoreTool.SummarizationConfig)
  },
  "groundingConfig": {
    object (DataStoreTool.GroundingConfig)
  },
  "snippetsConfig": {
    object (DataStoreTool.SnippetsConfig)
  }
}
Felder
modalityType

enum (DataStoreTool.ModalityConfig.ModalityType)

Erforderlich. Der Modalitätstyp.

rewriterConfig

object (DataStoreTool.RewriterConfig)

Optional. Die Rewriter-Konfiguration.

summarizationConfig

object (DataStoreTool.SummarizationConfig)

Optional. Die Zusammenfassungskonfiguration.

groundingConfig

object (DataStoreTool.GroundingConfig)

Optional. Die Fundierungskonfiguration.

snippetsConfig

object (DataStoreTool.SnippetsConfig)

Optional. Die Snippets-Konfiguration.

DataStoreTool.ModalityConfig.ModalityType

Der Modalitätstyp.

Enums
MODALITY_TYPE_UNSPECIFIED Nicht angegebener Modalitätstyp.
TEXT Textmodalität.
AUDIO Audio-Modalität

DataStoreTool.RewriterConfig

Rewriter-Konfiguration.

JSON-Darstellung
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Felder
modelSettings

object (ModelSettings)

Erforderlich. Konfigurationen für das LLM-Modell.

prompt

string

Optional. Die Prompt-Definition. Wenn nichts angegeben ist, wird ein Standard-Prompt verwendet.

disabled

boolean

Optional. Gibt an, ob der Rewriter deaktiviert ist.

DataStoreTool.SummarizationConfig

Konfiguration der Zusammenfassung.

JSON-Darstellung
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Felder
modelSettings

object (ModelSettings)

Optional. Konfigurationen für das LLM-Modell.

prompt

string

Optional. Die Prompt-Definition. Wenn nichts angegeben ist, wird ein Standard-Prompt verwendet.

disabled

boolean

Optional. Gibt an, ob die Zusammenfassung deaktiviert ist.

DataStoreTool.GroundingConfig

Konfiguration der Fundierung.

JSON-Darstellung
{
  "groundingLevel": number,
  "disabled": boolean
}
Felder
groundingLevel

number

Optional. Der Fundierungsschwellenwert der Antwort basierend auf den abgerufenen Quellen. Der Wert hat einen konfigurierbaren Bereich von [1, 5]. Mit der Ebene wird die Fundierung der Antwort begrenzt. Das bedeutet, dass für alle Antworten mit einem Fundierungswert unter dem Schwellenwert nur relevante Snippets zurückgegeben werden.

Wenn der Wert beispielsweise 3 ist, muss der Fundierungs-Score mindestens 3 sein, damit die Antwort zurückgegeben wird.

disabled

boolean

Optional. Gibt an, ob die Fundierung deaktiviert ist.

DataStoreTool.SnippetsConfig

Snippet-Konfiguration

JSON-Darstellung
{
  "enableSnippets": boolean,
  "maxSnippets": integer
}
Felder
enableSnippets

boolean

Optional. Gibt an, ob Snippets aktiviert sind.

maxSnippets

integer

Optional. Anzahl der Snippets, die pro Anfrage zurückgegeben werden sollen. Wenn nicht festgelegt, werden standardmäßig alle Snippets des Dienstes zurückgegeben.

DataStoreTool.FilterParameterBehavior

Verhalten von Filterparametern

Enums
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Standardverhalten von Filtern Filterparameter für Connector-Datenspeicher einfügen Für die restlichen Datenspeichertypen wird der Filter-Eingabeparameter weggelassen.
ALWAYS_INCLUDE Geben Sie immer einen Filterparameter für alle Datastore-Typen an.
NEVER_INCLUDE Der Filterparameter ist unabhängig vom Datenspeichertyp nie in der Liste der Tool-Parameter enthalten.

PythonFunction

Ein Python-Funktionstool.

JSON-Darstellung
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Felder
name

string

Optional. Der Name der auszuführenden Python-Funktion. Muss mit einem Python-Funktionsnamen übereinstimmen, der im Python-Code definiert ist. Groß- und Kleinschreibung wird berücksichtigt. Wenn der Name nicht angegeben ist, wird die erste im Python-Code definierte Funktion verwendet.

pythonCode

string

Optional. Der Python-Code, der für das Tool ausgeführt werden soll.

description

string

Nur Ausgabe. Die Beschreibung der Python-Funktion, die aus dem Docstring des Python-Codes geparst wurde.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Optional. Service Directory-Konfiguration für das Tool.

McpTool

Ein MCP-Tool. Weitere Informationen finden Sie unter https://modelcontextprotocol.io/specification/2025-06-18/server/tools.

JSON-Darstellung
{
  "name": string,
  "nameOverride": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "state": enum (McpTool.State)
}
Felder
name

string

Erforderlich. Der Name des MCP-Tools.

nameOverride

string

Optional. Die Namensüberschreibung des MCP-Tools. Dieses Feld wird ausgefüllt, wenn der Name durch eine Toolset-Überschreibung überschrieben wurde.

description

string

Optional. Die Beschreibung des MCP-Tools.

inputSchema

object (Schema)

Optional. Das Schema der Eingabeargumente des MCP-Tools.

outputSchema

object (Schema)

Optional. Das Schema der Ausgabeargumente des MCP-Tools.

serverAddress

string

Erforderlich. Die Serveradresse des MCP-Servers, z.B. „https://example.com/mcp/“. Wenn der Server mit dem MCP SDK erstellt wurde, sollte die URL mit „/mcp/“ enden. Es werden nur Server unterstützt, die auf dem Streamable HTTP-Transport basieren. Dies entspricht der serverAddress im McpToolset. Weitere Informationen finden Sie unter https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http.

apiAuthentication

object (ApiAuthentication)

Optional. Authentifizierungsinformationen, die zum Ausführen des Tools auf dem MCP-Server erforderlich sind. Bei der Authentifizierung mit einem Bearer-Token gilt das Token nur für die Ausführung von Tools, nicht für die Auflistung von Tools. Dazu müssen Tools ohne Authentifizierung aufgeführt werden können.

tlsConfig

object (TlsConfig)

Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Optional. Service Directory-Konfiguration für VPC-SC, die zum Auflösen von Dienstnamen innerhalb eines Perimeters verwendet wird.

customHeaders

map (key: string, value: string)

Optional. Die benutzerdefinierten Header, die in der Anfrage an den MCP-Server gesendet werden sollen. Die Werte müssen im Format $context.variables.<name_of_variable> angegeben werden und können in den Sitzungsvariablen festgelegt werden. Weitere Informationen finden Sie unter https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (McpTool.State)

Nur Ausgabe. Der dynamische Verfügbarkeitsstatus des Tools auf dem externen Server.

McpTool.State

Stellt den dynamischen Verfügbarkeitsstatus des Tools dar.

Enums
STATE_UNSPECIFIED Standardstatus.
ACTIVE Das Tool ist verfügbar und wird aktiv vom Server angeboten.
INACTIVE Das Tool ist konfiguriert oder angepinnt, wird aber derzeit nicht vom Server angeboten.
STALE Das Tool ist auf dem Server vorhanden, stimmt aber nicht mit der Version auf dem Server überein.

FileSearchTool

Mit dem Tool zur Dateisuche kann der Agent in den vom App-/Agent-Entwickler hochgeladenen Dateien suchen. Es bietet Voreinstellungen für eine relativ gute Suchqualität in den hochgeladenen Dateien und eine Zusammenfassung der abgerufenen Ergebnisse.

JSON-Darstellung
{
  "corpusType": enum (FileSearchTool.CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Felder
corpusType

enum (FileSearchTool.CorpusType)

Optional. Der Typ des Korpus. Der Standardwert ist FULLY_MANAGED.

name

string

Erforderlich. Der Name des Tools.

description

string

Optional. Die Toolbeschreibung.

fileCorpus

string

Optional. Das Corpus, in dem Dateien gespeichert werden. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

FileSearchTool.CorpusType

Der Typ des Vertex-RAG-Korpus.

Enums
CORPUS_TYPE_UNSPECIFIED Nicht angegebener Korpus-Typ.
USER_OWNED Der Korpus wird vom Nutzer erstellt und gehört ihm.
FULLY_MANAGED Der Korpus wird vom KI-Agenten erstellt.

SystemTool

Vordefiniertes Systemtool.

JSON-Darstellung
{
  "name": string,
  "description": string
}
Felder
name

string

Erforderlich. Der Name des Systemtools.

description

string

Nur Ausgabe. Die Beschreibung des Systemtools.

AgentTool

Stellt ein Tool dar, mit dem der KI-Agent einen anderen KI-Agenten aufrufen kann.

JSON-Darstellung
{
  "name": string,
  "description": string,
  "agent": string
}
Felder
name

string

Erforderlich. Der Name des Agent-Tools.

description

string

Optional. Beschreibung des Zwecks des Tools.

agent

string

Optional. Der Ressourcenname des KI-Agenten, der der Einstiegspunkt des Tools ist. Format: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Stellt ein Widget-Tool dar, das der Agent aufrufen kann. Wenn das Tool vom Agenten ausgewählt wird, gibt der Agent das Widget an den Client zurück. Der Client ist für die Verarbeitung des Widgets und die Generierung der nächsten Nutzeranfrage verantwortlich, um die Interaktion mit dem KI-Agenten fortzusetzen.

JSON-Darstellung
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetTool.WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (WidgetTool.DataMapping)
  },
  "textResponseConfig": {
    object (WidgetTool.TextResponseConfig)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "parameters": {
    object (Schema)
  }
  // End of mutually exclusive fields.
}
Felder
name

string

Erforderlich. Der Anzeigename des Widget-Tools.

description

string

Optional. Die Beschreibung des Widget-Tools.

widgetType

enum (WidgetTool.WidgetType)

Optional. Der Typ des Widget-Tools. Wenn nichts angegeben ist, ist der Standardtyp CUSTOMIZED.

uiConfig

object (Struct format)

Optional. Konfiguration für das Rendern des Widgets.

dataMapping

object (WidgetTool.DataMapping)

Optional. Die Zuordnung, mit der festgelegt wird, wie Daten aus einem Quelltool den Eingabeparametern des Widgets zugeordnet werden.

textResponseConfig

object (WidgetTool.TextResponseConfig)

Optional. Konfiguration für Textantworten, die immer enthalten sind.

Die Eingabe des Widget-Tools. Im Folgenden finden Sie eine Liste von sich gegenseitig ausschließenden Feldern. In einer Antwort wird höchstens eines der Felder festgelegt:
parameters

object (Schema)

Optional. Die Eingabeparameter des Widget-Tools.

Ende der sich gegenseitig ausschließenden Felder.

WidgetTool.WidgetType

Alle verfügbaren Widget-Typen. Dieser Enum können in Zukunft neue Werte hinzugefügt werden.

Enums
WIDGET_TYPE_UNSPECIFIED Nicht angegebener Widget-Typ
CUSTOM Benutzerdefinierter Widget-Typ.
PRODUCT_DETAILS Widget mit Produktdetails.
QUICK_ACTIONS Schnellaktionen-Widget
PRODUCT_COMPARISON Widget für Produktvergleich
ADVANCED_PRODUCT_DETAILS Erweitertes Widget mit Produktdetails
SHORT_FORM Kurzform-Widget
OVERALL_SATISFACTION Widget zur Gesamtzufriedenheit
ORDER_SUMMARY Widget „Zusammenfassung der Bestellung“
APPOINTMENT_DETAILS Widget mit Termindetails.
APPOINTMENT_SCHEDULER Widget für die Terminplanung
CONTACT_FORM Kontaktformular-Widget

WidgetTool.DataMapping

Konfiguration für die Zuordnung von Daten aus einem Quelltool zu den Eingabeparametern des Widgets.

JSON-Darstellung
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (WidgetTool.DataMapping.Mode),
  "pythonScript": string
}
Felder
sourceToolName

string

Optional. Der Ressourcenname des Tools, das die Daten für das Widget bereitstellt, z.B. ein Suchtool oder eine benutzerdefinierte Funktion. Format: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Optional. Eine Zuordnung der Eingabeparameterfelder des Widgets zu den entsprechenden Ausgabefeldern des Quelltools.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Optional. Konfiguration für eine Python-Funktion, mit der die Ausgabe des Quelltools in das Eingabeformat des Widgets transformiert wird.

mode

enum (WidgetTool.DataMapping.Mode)

Optional. Der Modus des Datenabgleichs.

pythonScript
(deprecated)

string

Nicht mehr unterstützt: Verwenden Sie stattdessen pythonFunction.

WidgetTool.DataMapping.Mode

Die Strategie, die zum Zuordnen von Daten aus dem Quelltool zum Widget verwendet wird.

Enums
MODE_UNSPECIFIED Nicht angegebener Modus.
FIELD_MAPPING Verwenden Sie die fieldMappings-Map für die Datentransformation.
PYTHON_SCRIPT Verwenden Sie pythonScript für die Datentransformation.

WidgetTool.TextResponseConfig

Konfiguration für die Textantwort, die mit dem Widget zurückgegeben wird.

JSON-Darstellung
{
  "type": enum (WidgetTool.TextResponseConfig.Type),
  "staticText": string,
  "textResponseInstruction": string
}
Felder
type

enum (WidgetTool.TextResponseConfig.Type)

Optional. Die Strategie für die Bereitstellung der Textantwort.

staticText

string

Optional. Die statische Textantwort, die zurückgegeben werden soll, wenn der Typ STATIC ist.

textResponseInstruction

string

Optional. Anweisung für das LLM, wie die Textantwort generiert werden soll. Wird als Beschreibung für den Parameter für die Textantwort verwendet, wenn der Typ LLM_GENERATED ist.

WidgetTool.TextResponseConfig.Type

Definiert, wie die Textantwort erstellt wird.

Enums
TYPE_UNSPECIFIED Nicht definierter Typ.
NONE Das LLM entscheidet dynamisch, ob neben dem Widget eine Textantwort generiert werden soll, basierend auf dem Gesprächskontext.
LLM_GENERATED Das LLM muss explizit eine Textantwort generieren.
STATIC Es wird immer eine vordefinierte statische Textantwort verwendet.

RemoteAgentTool

Stellt ein Tool dar, mit dem der Agent einen anderen Remote-Agenten aufrufen kann.

JSON-Darstellung
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  },
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "statefulAgent": boolean,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  }
}
Felder
name

string

Erforderlich. Der Name des Tools.

description

string

Erforderlich. Die Beschreibung des Tools.

agentCard

object (AgentCard)

Erforderlich. Die Agentenkarte des Remote-Agenten, der von diesem Tool aufgerufen wird.

apiAuthentication

object (ApiAuthentication)

Optional. Authentifizierungskonfiguration für den Aufruf des Remote-Agents.

statefulAgent

boolean

Optional. Wenn diese Option aktiviert ist, haben die Interaktion zwischen der CXAS-App und dem Remote-Agenten denselben Kontext. Wenn der Remote-Agent eine contextId zurückgibt, wird sie für die gesamte Sitzung für dieses Remote-Agent-Tool beibehalten.

inputVariableMapping

map (key: string, value: string)

Optional. Zuordnung von Eingabevariablennamen des Remote-Agents zu GECX-Variablennamen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

Optional. Zuordnung von Ausgabevariablennamen des Remote-Agents zu GECX-Variablennamen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Methoden

create

Erstellt ein neues Tool in der angegebenen App.

delete

Löscht das angegebene Tool.

get

Ruft die Details des angegebenen Tools ab.

list

Listet Tools in der angegebenen App auf.

patch

Aktualisiert das angegebene Tool.