Tool: create_tool
Erstellt ein neues Tool in der angegebenen App.
Im folgenden Beispiel wird gezeigt, wie Sie mit curl das MCP-Tool create_tool aufrufen.
| Curl-Anfrage |
|---|
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "create_tool", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Eingabeschema
Anfragenachricht für AgentService.CreateTool.
CreateToolRequest
| JSON-Darstellung |
|---|
{
"parent": string,
"toolId": string,
"tool": {
object ( |
| Felder | |
|---|---|
parent |
Erforderlich. Der Ressourcenname der App, in der ein Tool erstellt werden soll. |
toolId |
Optional. Die für das Tool zu verwendende ID, die als letzte Komponente des Ressourcennamens des Tools verwendet wird. Wenn nicht angegeben, wird dem Tool automatisch eine eindeutige ID zugewiesen. |
tool |
Erforderlich. Das zu erstellende Tool. |
Tool
| JSON-Darstellung |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| Felder | |
|---|---|
name |
ID. Die eindeutige Kennung des Tools. Format: -
|
displayName |
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 |
executionType |
Optional. Der Ausführungstyp des Tools. |
createTime |
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: |
updateTime |
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: |
etag |
Etag, das verwendet wird, um sicherzustellen, dass sich das Objekt während eines Read-Modify-Write-Vorgangs nicht geändert hat. Wenn das ETag leer ist, werden alle gleichzeitigen Änderungen durch das Update überschrieben. |
generatedSummary |
Nur Ausgabe. Wenn das Tool vom LLM-Assistenten generiert wird, enthält dieses Feld eine beschreibende Zusammenfassung der Generierung. |
toolFakeConfig |
Optional. Konfiguration für das Verhalten von Tools im Fälschungsmodus. |
Union-Feld tool_type. Der Typ des Tools. Für tool_type ist nur einer der folgenden Werte zulässig: |
|
clientFunction |
Optional. Die Clientfunktion. |
openApiTool |
Optional. Das Tool für offene APIs. |
googleSearchTool |
Optional. Das Google-Suchtool. |
connectorTool |
Optional. Das Integration Connector-Tool |
dataStoreTool |
Optional. Das Datenspeichertool. |
pythonFunction |
Optional. Das Python-Funktionstool. |
mcpTool |
Optional. Das MCP-Tool Ein MCP-Tool kann nicht direkt erstellt oder aktualisiert werden, sondern wird vom MCP-Toolset verwaltet. |
fileSearchTool |
Optional. Das Dateisuchtool. |
systemTool |
Optional. Das Systemtool |
widgetTool |
Optional. Das Widget-Tool |
ClientFunction
| JSON-Darstellung |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Name der Funktion. |
description |
Optional. Die Funktionsbeschreibung. |
parameters |
Optional. Das Schema der Funktionsparameter. |
response |
Optional. Das Schema der Funktionsantwort. |
Schema
| JSON-Darstellung |
|---|
{ "type": enum ( |
| Felder | |
|---|---|
type |
Erforderlich. Der Typ der Daten. |
properties |
Optional. Attribute von Type.OBJECT. Ein Objekt, das eine Liste von |
required[] |
Optional. Erforderliche Eigenschaften von Type.OBJECT. |
description |
Optional. Die Beschreibung der Daten. |
items |
Optional. Schema der Elemente von Type.ARRAY. |
nullable |
Optional. Gibt an, ob der Wert null sein darf. |
uniqueItems |
Optional. Geben Sie an, dass die Elemente im Array eindeutig sein müssen. Gilt nur für TYPE.ARRAY. |
prefixItems[] |
Optional. Schemas der ersten Elemente von Type.ARRAY. |
additionalProperties |
Optional. Kann entweder ein boolescher Wert oder ein Objekt sein. Steuert das Vorhandensein zusätzlicher Attribute. |
anyOf[] |
Optional. Der Wert sollte anhand eines oder mehrerer der Unterschemas in der Liste validiert werden. |
enum[] |
Optional. Mögliche Werte des Elements des einfachen Typs im enum-Format. Beispiele: 1. Wir können die Richtung so definieren : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Wir können die Wohnungsnummer so definieren : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Optional. Standardwert der Daten. |
ref |
Optional. Ermöglicht indirekte Verweise zwischen Schemaknoten. Der Wert sollte ein gültiger Verweis auf ein untergeordnetes Element des Stamm- Das folgende Schema definiert beispielsweise eine Referenz auf einen Schemaknoten mit dem Namen „Pet“: Der Wert der Property „pet“ ist ein Verweis auf den Schemaknoten mit dem Namen „Pet“. Weitere Informationen finden Sie unter https://json-schema.org/understanding-json-schema/structuring. |
defs |
Optional. Eine Karte mit Definitionen, die von Ein Objekt, das eine Liste von |
title |
Optional. Der Titel des Schemas. |
minItems |
Optional. Mindestanzahl der Elemente für Type.ARRAY. |
maxItems |
Optional. Maximale Anzahl der Elemente für Type.ARRAY. |
Union-Feld Für |
|
minimum |
Optional. Mindestwert für Type.INTEGER und Type.NUMBER. |
Union-Feld Für |
|
maximum |
Optional. Maximaler Wert für Type.INTEGER und Type.NUMBER. |
PropertiesEntry
| JSON-Darstellung |
|---|
{
"key": string,
"value": {
object ( |
| Felder | |
|---|---|
key |
|
value |
|
Wert
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld kind. Die Art des Werts. Für kind ist nur einer der folgenden Werte zulässig: |
|
nullValue |
Stellt einen Nullwert dar. |
numberValue |
Stellt einen Double-Wert dar. |
stringValue |
Stellt einen Stringwert dar. |
boolValue |
Stellt einen booleschen Wert dar. |
structValue |
Stellt einen strukturierten Wert dar. |
listValue |
Stellt eine wiederholte |
Struct
| JSON-Darstellung |
|---|
{ "fields": { string: value, ... } } |
| Felder | |
|---|---|
fields |
Ungeordnete Zuordnung von dynamisch typisierten Werten. Ein Objekt, das eine Liste von |
FieldsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": value } |
| Felder | |
|---|---|
key |
|
value |
|
ListValue
| JSON-Darstellung |
|---|
{ "values": [ value ] } |
| Felder | |
|---|---|
values[] |
Wiederholtes Feld mit dynamisch typisierten Werten. |
DefsEntry
| JSON-Darstellung |
|---|
{
"key": string,
"value": {
object ( |
| Felder | |
|---|---|
key |
|
value |
|
OpenApiTool
| JSON-Darstellung |
|---|
{ "openApiSchema": string, "name": string, "description": string, "apiAuthentication": { object ( |
| Felder | |
|---|---|
openApiSchema |
Erforderlich. Das OpenAPI-Schema im JSON- oder YAML-Format. |
name |
Optional. Der Name des Tools. Wenn nicht angegeben, wird der Name des Tools aus dem OpenAPI-Schema abgeleitet, aus |
description |
Optional. Die Beschreibung des Tools. Wenn sie nicht angegeben ist, wird die Beschreibung des Tools aus dem OpenAPI-Schema, aus |
apiAuthentication |
Optional. Von der API benötigte Authentifizierungsinformationen. |
tlsConfig |
Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll. |
serviceDirectoryConfig |
Optional. Service Directory-Konfiguration. |
ignoreUnknownFields |
Optional. Bei „true“ ignoriert der Agent unbekannte Felder in der API-Antwort. |
url |
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. |
ApiAuthentication
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig: |
|
apiKeyConfig |
Optional. Konfiguration für die API-Schlüsselauthentifizierung. |
oauthConfig |
Optional. Konfiguration für OAuth. |
serviceAgentIdTokenAuthConfig |
Optional. Konfiguration für die ID-Token-Authentifizierung, die vom CES-Dienst-Agent generiert wird. |
serviceAccountAuthConfig |
Optional. Konfiguration für die Dienstkontoauthentifizierung. |
bearerTokenConfig |
Optional. Konfiguration für die Inhabertoken-Authentifizierung. |
ApiKeyConfig
| JSON-Darstellung |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Felder | |
|---|---|
keyName |
Erforderlich. Der Parametername oder der Headername des API-Schlüssels. Beispiel: Wenn der API-Aufruf „https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Erforderlich. Der Name der Secret-Versionsressource des Secret Manager, in der der API-Schlüssel gespeichert ist. Format: Hinweis: Sie sollten dem CES-Dienst-Agenten |
requestLocation |
Erforderlich. Schlüsselposition in der Anfrage. |
OAuthConfig
| JSON-Darstellung |
|---|
{
"oauthGrantType": enum ( |
| Felder | |
|---|---|
oauthGrantType |
Erforderlich. OAuth-Berechtigungstypen. |
clientId |
Erforderlich. Die Client-ID des OAuth-Anbieters. |
clientSecretVersion |
Erforderlich. Der Name der SecretManager-Secret-Versionsressource, in der der Clientschlüssel gespeichert ist. Format: Hinweis: Sie sollten dem CES-Dienst-Agenten |
tokenEndpoint |
Erforderlich. Der Token-Endpunkt im OAuth-Anbieter, der gegen ein Zugriffstoken ausgetauscht werden soll. |
scopes[] |
Optional. Die zu gewährenden OAuth-Bereiche. |
ServiceAccountAuthConfig
| JSON-Darstellung |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Felder | |
|---|---|
serviceAccount |
Erforderlich. Die E‑Mail-Adresse des für die Authentifizierung verwendeten Dienstkontos. CES verwendet dieses Dienstkonto, um ein Zugriffstoken auszutauschen. Das Zugriffstoken wird dann im Dem Dienstkonto muss die Rolle |
scopes[] |
Optional. Die zu gewährenden OAuth-Bereiche. Wenn nichts angegeben ist, wird der Standardbereich |
BearerTokenConfig
| JSON-Darstellung |
|---|
{ "token": string } |
| Felder | |
|---|---|
token |
Erforderlich. Das Inhabertoken. Muss das Format |
TlsConfig
| JSON-Darstellung |
|---|
{
"caCerts": [
{
object ( |
| Felder | |
|---|---|
caCerts[] |
Erforderlich. Gibt eine Liste der zulässigen benutzerdefinierten CA-Zertifikate für die HTTPS-Überprüfung an. |
CaCert
| JSON-Darstellung |
|---|
{ "displayName": string, "cert": string } |
| Felder | |
|---|---|
displayName |
Erforderlich. Der Name der zulässigen benutzerdefinierten CA-Zertifikate. Damit lassen sich die benutzerdefinierten CA-Zertifikate eindeutig identifizieren. |
cert |
Erforderlich. Die zulässigen benutzerdefinierten CA-Zertifikate (im DER-Format) für die HTTPS-Überprüfung. Dadurch wird der Standard-SSL-Trust-Anchor überschrieben. Wenn dieses Feld leer oder nicht angegeben ist, verwendet CES den Standard-Trust Store von Google, um Zertifikate zu prüfen. Hinweis: Die HTTPS-Serverzertifikate müssen mit „subject alt name“ signiert sein. Ein Zertifikat kann beispielsweise mit dem folgenden Befehl selbst signiert werden: openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") Ein base64-codierter String. |
ServiceDirectoryConfig
| JSON-Darstellung |
|---|
{ "service": string } |
| Felder | |
|---|---|
service |
Erforderlich. Der Name des Service Directory-Dienstes. Format: |
GoogleSearchTool
| JSON-Darstellung |
|---|
{
"name": string,
"description": string,
"contextUrls": [
string
],
"preferredDomains": [
string
],
"excludeDomains": [
string
],
"promptConfig": {
object ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Name des Tools. |
description |
Optional. Beschreibung des Zwecks des Tools. |
contextUrls[] |
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[] |
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[] |
Optional. Liste der Domains, die aus den Suchergebnissen ausgeschlossen werden sollen. Beispiel: „beispiel.de“. Es können maximal 2.000 Domains ausgeschlossen werden. |
promptConfig |
Optional. Anweisungen für den Planner, wie die Suchergebnisse für Text und Sprache verarbeitet werden sollen. |
PromptConfig
| JSON-Darstellung |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| Felder | |
|---|---|
textPrompt |
Optional. Definiert den Prompt, der für die Systemanweisungen verwendet wird, wenn Sie in Chatunterhaltungen mit dem Agent interagieren. Wenn nicht festgelegt, wird ein Standard-Prompt verwendet. |
voicePrompt |
Optional. Definiert den Prompt, der für die Systemanweisungen verwendet wird, wenn Sie in Sprachunterhaltungen mit dem Agent interagieren. Wenn nicht festgelegt, wird ein Standard-Prompt verwendet. |
ConnectorTool
| JSON-Darstellung |
|---|
{ "connection": string, "action": { object ( |
| Felder | |
|---|---|
connection |
Erforderlich. Der vollständige Ressourcenname der referenzierten Integration Connectors-Verbindung. Format: |
action |
Erforderlich. Aktion für das zu verwendende Tool. |
authConfig |
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 Konfiguration für die Endnutzerauthentifizierung ü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 ConnectorTools fehl. Weitere Informationen finden Sie unter https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override. |
name |
Optional. Der Name des Tools, das vom Agent verwendet werden kann, um zu entscheiden, ob dieses ConnectorTool aufgerufen werden soll. |
description |
Optional. Die Beschreibung des Tools, anhand derer der Agent entscheiden kann, ob dieses ConnectorTool aufgerufen werden soll. |
Aktion
| JSON-Darstellung |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Felder | |
|---|---|
inputFields[] |
Optional. Entitätsfelder, die als Eingaben für den Vorgang verwendet werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität verwendet. |
outputFields[] |
Optional. Die Entitätsfelder, die vom Vorgang zurückgegeben werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität zurückgegeben. |
Union-Feld action_spec. Spezifikation für eine Aktion, die für das Tool konfiguriert werden soll. Für action_spec ist nur einer der folgenden Werte zulässig: |
|
connectionActionId |
ID einer Verbindungsaktion für das zu verwendende Tool. |
entityOperation |
Konfiguration für den Entitätsvorgang, die vom Tool verwendet werden soll. |
EntityOperation
| JSON-Darstellung |
|---|
{
"entityId": string,
"operation": enum ( |
| Felder | |
|---|---|
entityId |
Erforderlich. ID der Entität. |
operation |
Erforderlich. Vorgang, der für die Entität ausgeführt werden soll. |
EndUserAuthConfig
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig: |
|
oauth2AuthCodeConfig |
Oauth 2.0-Authentifizierung mit Autorisierungscode. |
oauth2JwtBearerConfig |
Authentifizierung mit OAuth 2.0-Berechtigungstyp zur Autorisierung mit JWT-Profil. |
Oauth2AuthCodeConfig
| JSON-Darstellung |
|---|
{ "oauthToken": string } |
| Felder | |
|---|---|
oauthToken |
Erforderlich. Name des OAuth-Tokenparameters, der übergeben werden soll. Muss das Format |
Oauth2JwtBearerConfig
| JSON-Darstellung |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Felder | |
|---|---|
issuer |
Erforderlich. Name des Ausstellerparameters, der übergeben werden soll. Muss das Format |
subject |
Erforderlich. Name des Subjektparameters, der weitergegeben werden soll. Muss das Format |
clientKey |
Erforderlich. Name des Clientparameters, der übergeben werden soll. Muss das Format |
DataStoreTool
| JSON-Darstellung |
|---|
{ "name": string, "description": string, "boostSpecs": [ { object ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Name des Datenspeichertools. |
description |
Optional. Die Toolbeschreibung. |
boostSpecs[] |
Optional. Mit der Boost-Spezifikation können Sie bestimmte Dokumente hervorheben. |
modalityConfigs[] |
Optional. Die Modalitätskonfigurationen für den Datenspeicher. |
filterParameterBehavior |
Optional. Das Verhalten des Filterparameters. |
Union-Feld search_source. Definiert die Suchquelle, entweder einen einzelnen Datenspeicher oder eine Engine. Für search_source ist nur einer der folgenden Werte zulässig: |
|
dataStoreSource |
Optional. In einem einzelnen bestimmten Datenspeicher suchen. |
engineSource |
Optional. Suche innerhalb einer Engine (möglicherweise in mehreren Datenspeichern). |
DataStoreSource
| JSON-Darstellung |
|---|
{
"filter": string,
"dataStore": {
object ( |
| Felder | |
|---|---|
filter |
Optional. Filterspezifikation für den Datenspeicher. Weitere Informationen finden Sie unter https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata. |
dataStore |
Optional. Der Datenspeicher. |
Datastore
| JSON-Darstellung |
|---|
{ "name": string, "type": enum ( |
| Felder | |
|---|---|
name |
Erforderlich. Vollständiger Ressourcenname des DataStore. Format: |
type |
Nur Ausgabe. Der Typ des Datenspeichers. Dieses Feld ist schreibgeschützt und wird vom Server ausgefüllt. |
documentProcessingMode |
Nur Ausgabe. Der Dokumentverarbeitungsmodus für die Datenspeicherverbindung. Wird nur für PUBLIC_WEB- und UNSTRUCTURED-Datenspeicher festgelegt. |
displayName |
Nur Ausgabe. Der Anzeigename des Datenspeichers. |
createTime |
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: |
connectorConfig |
Nur Ausgabe. Die Connector-Konfiguration für die Datenspeicherverbindung. |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z). |
nanos |
Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen. |
ConnectorConfig
| JSON-Darstellung |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| Felder | |
|---|---|
collection |
Der Ressourcenname der Sammlung, zu der der Datenspeicher gehört. |
collectionDisplayName |
Der Anzeigename der Sammlung, zu der der Datenspeicher gehört. |
dataSource |
Der Name der Datenquelle. Beispiel: |
EngineSource
| JSON-Darstellung |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| Felder | |
|---|---|
engine |
Erforderlich. Vollständiger Ressourcenname der Engine. Format: |
dataStoreSources[] |
Optional. Wird verwendet, um bestimmte DataStores innerhalb der Engine als Ziel auszuwählen. Wenn das Feld leer ist, wird die Suche auf alle DataStores angewendet, die mit der Engine verknüpft sind. |
filter |
Optional. Ein Filter, der auf die Suche in der Engine angewendet wird. Nicht relevant und nicht verwendet, wenn „data_store_sources“ angegeben ist. Weitere Informationen finden Sie unter https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata. |
BoostSpecs
| JSON-Darstellung |
|---|
{
"dataStores": [
string
],
"spec": [
{
object ( |
| Felder | |
|---|---|
dataStores[] |
Erforderlich. Der Datenspeicher, auf den die Konfiguration für die Steigerung angewendet wird. Vollständiger Ressourcenname des Datenspeichers, z. B. „projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}“. |
spec[] |
Erforderlich. Eine Liste mit Spezifikationen für das Boosting. |
BoostSpec
| JSON-Darstellung |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| Felder | |
|---|---|
conditionBoostSpecs[] |
Erforderlich. Eine Liste mit Spezifikationen für das Boosting. |
ConditionBoostSpec
| JSON-Darstellung |
|---|
{
"condition": string,
"boost": number,
"boostControlSpec": {
object ( |
| Felder | |
|---|---|
condition |
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 |
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 |
Optional. Komplexe Spezifikation für benutzerdefiniertes Ranking basierend auf einem vom Kunden definierten Attributwert. |
BoostControlSpec
| JSON-Darstellung |
|---|
{ "fieldName": string, "attributeType": enum ( |
| Felder | |
|---|---|
fieldName |
Optional. Der Name des Feldes, dessen Wert zur Bestimmung des Boost-Betrags verwendet wird. |
attributeType |
Optional. Der Attributtyp, der zum Ermitteln des Boost-Betrags verwendet werden soll. Der Attributwert kann aus dem Feldwert des angegebenen „field_name“ abgeleitet werden. Bei numerischen Werten ist das ganz einfach: attribute_value = numerical_field_value. Bei der Aktualität gilt jedoch: attribute_value = (time.now() – datetime_field_value). |
interpolationType |
Optional. Der Interpolationstyp, der zum Verbinden der unten aufgeführten Kontrollpunkte verwendet wird. |
controlPoints[] |
Optional. Die Kontrollpunkte, mit denen die Kurve definiert wird. Die monotone Funktion (die oben über „interpolation_type“ definiert wurde) geht durch die hier aufgeführten Kontrollpunkte. |
ControlPoint
| JSON-Darstellung |
|---|
{ "attributeValue": string, "boostAmount": number } |
| Felder | |
|---|---|
attributeValue |
Optional. Kann einer der folgenden Werte sein: 1. Der numerische Feldwert. 2. Die Dauerangabe für die Aktualität: Der Wert muss als XSD- |
boostAmount |
Optional. Der Wert zwischen -1 und 1, der angibt, um wieviel die Punktzahl erhöht werden soll, wenn „attribute_value“ dem oben angegebenen Wert entspricht. |
ModalityConfig
| JSON-Darstellung |
|---|
{ "modalityType": enum ( |
| Felder | |
|---|---|
modalityType |
Erforderlich. Der Modalitätstyp. |
rewriterConfig |
Optional. Die Rewriter-Konfiguration. |
summarizationConfig |
Optional. Die Zusammenfassungskonfiguration. |
groundingConfig |
Optional. Die Fundierungskonfiguration. |
RewriterConfig
| JSON-Darstellung |
|---|
{
"modelSettings": {
object ( |
| Felder | |
|---|---|
modelSettings |
Erforderlich. Konfigurationen für das LLM-Modell. |
prompt |
Optional. Die Prompt-Definition. Wenn nicht festgelegt, wird ein Standard-Prompt verwendet. |
disabled |
Optional. Gibt an, ob die Funktion zum Umschreiben deaktiviert ist. |
ModelSettings
| JSON-Darstellung |
|---|
{ "model": string, // Union field |
| Felder | |
|---|---|
model |
Optional. Das LLM-Modell, das der Agent verwenden soll. Wenn nicht festgelegt, übernimmt der Agent das Modell vom übergeordneten Agent. |
Union-Feld Für |
|
temperature |
Optional. Wenn festgelegt, wird diese Temperatur für das LLM-Modell verwendet. Die Temperatur steuert die Zufälligkeit der Antworten des Modells. Niedrigere Temperaturen führen zu vorhersagbareren Antworten. Höhere Temperaturen führen zu kreativeren Antworten. |
SummarizationConfig
| JSON-Darstellung |
|---|
{
"modelSettings": {
object ( |
| Felder | |
|---|---|
modelSettings |
Optional. Konfigurationen für das LLM-Modell. |
prompt |
Optional. Die Prompt-Definition. Wenn nicht festgelegt, wird ein Standard-Prompt verwendet. |
disabled |
Optional. Gibt an, ob die Zusammenfassung deaktiviert ist. |
GroundingConfig
| JSON-Darstellung |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| Felder | |
|---|---|
groundingLevel |
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 |
Optional. Gibt an, ob die Fundierung deaktiviert ist. |
PythonFunction
| JSON-Darstellung |
|---|
{ "name": string, "pythonCode": string, "description": string } |
| Felder | |
|---|---|
name |
Optional. Der Name der auszuführenden Python-Funktion. Muss mit einem in Python-Code definierten Python-Funktionsnamen übereinstimmen. Groß- und Kleinschreibung wird berücksichtigt. Wenn der Name nicht angegeben ist, wird die erste im Python-Code definierte Funktion verwendet. |
pythonCode |
Optional. Der Python-Code, der für das Tool ausgeführt werden soll. |
description |
Nur Ausgabe. Die Beschreibung der Python-Funktion, die aus dem Docstring des Python-Codes geparst wurde. |
McpTool
| JSON-Darstellung |
|---|
{ "name": string, "description": string, "inputSchema": { object ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Name des MCP-Tools. |
description |
Optional. Die Beschreibung des MCP-Tools. |
inputSchema |
Optional. Das Schema der Eingabeargumente des MCP-Tools. |
outputSchema |
Optional. Das Schema der Ausgabeargumente des MCP-Tools. |
serverAddress |
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 Streamable HTTP-Transport-basierte Server unterstützt. Dies entspricht der server_address im McpToolset. Weitere Informationen finden Sie unter https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http. |
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 |
Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll. |
serviceDirectoryConfig |
Optional. Service Directory-Konfiguration für VPC-SC, die zum Auflösen von Dienstnamen innerhalb eines Perimeters verwendet wird. |
FileSearchTool
| JSON-Darstellung |
|---|
{
"corpusType": enum ( |
| Felder | |
|---|---|
corpusType |
Optional. Der Typ des Korpus. Der Standardwert ist FULLY_MANAGED. |
name |
Erforderlich. Der Name des Tools. |
description |
Optional. Die Toolbeschreibung. |
fileCorpus |
Optional. Das Corpus, in dem Dateien gespeichert werden. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus} |
SystemTool
| JSON-Darstellung |
|---|
{ "name": string, "description": string } |
| Felder | |
|---|---|
name |
Erforderlich. Der Name des Systemtools. |
description |
Nur Ausgabe. Die Beschreibung des Systemtools. |
WidgetTool
| JSON-Darstellung |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Anzeigename des Widget-Tools. |
description |
Optional. Die Beschreibung des Widget-Tools. |
widgetType |
Optional. Der Typ des Widget-Tools. Wenn keine Angabe erfolgt, wird der Standardtyp CUSTOMIZED verwendet. |
Union-Feld input. Die Eingabe des Widget-Tools. Für input ist nur einer der folgenden Werte zulässig: |
|
parameters |
Optional. Die Eingabeparameter des Widget-Tools. |
ToolFakeConfig
| JSON-Darstellung |
|---|
{ "enableFakeMode": boolean, // Union field |
| Felder | |
|---|---|
enableFakeMode |
Optional. Gibt an, ob das Tool den Fiktivmodus verwendet. |
Union-Feld tool_response. Die Antwort ist entweder statisch oder wird von einer Python-Funktion bereitgestellt. Für tool_response ist nur einer der folgenden Werte zulässig: |
|
codeBlock |
Optional. Codeblock, der anstelle eines echten Tool-Aufrufs ausgeführt wird. |
CodeBlock
| JSON-Darstellung |
|---|
{ "pythonCode": string } |
| Felder | |
|---|---|
pythonCode |
Erforderlich. Python-Code, der im Tool-Fake-Modus aufgerufen wird. Erwartete Python-Funktionssignatur: Um alle Tool-Aufrufe abzufangen: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Um einen bestimmten Tool-Aufruf abzufangen: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Wenn die Funktion „None“ zurückgibt, wird stattdessen das echte Tool aufgerufen. |
Ausgabeschema
Ein Tool stellt eine Aktion dar, die der CES-Agent ausführen kann, um bestimmte Ziele zu erreichen.
Tool
| JSON-Darstellung |
|---|
{ "name": string, "displayName": string, "executionType": enum ( |
| Felder | |
|---|---|
name |
ID. Die eindeutige Kennung des Tools. Format: -
|
displayName |
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 |
executionType |
Optional. Der Ausführungstyp des Tools. |
createTime |
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: |
updateTime |
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: |
etag |
Etag, das verwendet wird, um sicherzustellen, dass sich das Objekt während eines Read-Modify-Write-Vorgangs nicht geändert hat. Wenn das ETag leer ist, werden alle gleichzeitigen Änderungen durch das Update überschrieben. |
generatedSummary |
Nur Ausgabe. Wenn das Tool vom LLM-Assistenten generiert wird, enthält dieses Feld eine beschreibende Zusammenfassung der Generierung. |
toolFakeConfig |
Optional. Konfiguration für das Verhalten von Tools im Fälschungsmodus. |
Union-Feld tool_type. Der Typ des Tools. Für tool_type ist nur einer der folgenden Werte zulässig: |
|
clientFunction |
Optional. Die Clientfunktion. |
openApiTool |
Optional. Das Tool für offene APIs. |
googleSearchTool |
Optional. Das Google-Suchtool. |
connectorTool |
Optional. Das Integration Connector-Tool |
dataStoreTool |
Optional. Das Datenspeichertool. |
pythonFunction |
Optional. Das Python-Funktionstool. |
mcpTool |
Optional. Das MCP-Tool Ein MCP-Tool kann nicht direkt erstellt oder aktualisiert werden, sondern wird vom MCP-Toolset verwaltet. |
fileSearchTool |
Optional. Das Dateisuchtool. |
systemTool |
Optional. Das Systemtool |
widgetTool |
Optional. Das Widget-Tool |
ClientFunction
| JSON-Darstellung |
|---|
{ "name": string, "description": string, "parameters": { object ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Name der Funktion. |
description |
Optional. Die Funktionsbeschreibung. |
parameters |
Optional. Das Schema der Funktionsparameter. |
response |
Optional. Das Schema der Funktionsantwort. |
Schema
| JSON-Darstellung |
|---|
{ "type": enum ( |
| Felder | |
|---|---|
type |
Erforderlich. Der Typ der Daten. |
properties |
Optional. Attribute von Type.OBJECT. Ein Objekt, das eine Liste von |
required[] |
Optional. Erforderliche Eigenschaften von Type.OBJECT. |
description |
Optional. Die Beschreibung der Daten. |
items |
Optional. Schema der Elemente von Type.ARRAY. |
nullable |
Optional. Gibt an, ob der Wert null sein darf. |
uniqueItems |
Optional. Geben Sie an, dass die Elemente im Array eindeutig sein müssen. Gilt nur für TYPE.ARRAY. |
prefixItems[] |
Optional. Schemas der ersten Elemente von Type.ARRAY. |
additionalProperties |
Optional. Kann entweder ein boolescher Wert oder ein Objekt sein. Steuert das Vorhandensein zusätzlicher Attribute. |
anyOf[] |
Optional. Der Wert sollte anhand eines oder mehrerer der Unterschemas in der Liste validiert werden. |
enum[] |
Optional. Mögliche Werte des Elements des einfachen Typs im enum-Format. Beispiele: 1. Wir können die Richtung so definieren : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Wir können die Wohnungsnummer so definieren : {type:INTEGER, format:enum, enum:["101", "201", "301"]} |
default |
Optional. Standardwert der Daten. |
ref |
Optional. Ermöglicht indirekte Verweise zwischen Schemaknoten. Der Wert sollte ein gültiger Verweis auf ein untergeordnetes Element des Stamm- Das folgende Schema definiert beispielsweise eine Referenz auf einen Schemaknoten mit dem Namen „Pet“: Der Wert der Property „pet“ ist ein Verweis auf den Schemaknoten mit dem Namen „Pet“. Weitere Informationen finden Sie unter https://json-schema.org/understanding-json-schema/structuring. |
defs |
Optional. Eine Karte mit Definitionen, die von Ein Objekt, das eine Liste von |
title |
Optional. Der Titel des Schemas. |
minItems |
Optional. Mindestanzahl der Elemente für Type.ARRAY. |
maxItems |
Optional. Maximale Anzahl der Elemente für Type.ARRAY. |
Union-Feld Für |
|
minimum |
Optional. Mindestwert für Type.INTEGER und Type.NUMBER. |
Union-Feld Für |
|
maximum |
Optional. Maximaler Wert für Type.INTEGER und Type.NUMBER. |
PropertiesEntry
| JSON-Darstellung |
|---|
{
"key": string,
"value": {
object ( |
| Felder | |
|---|---|
key |
|
value |
|
Wert
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld kind. Die Art des Werts. Für kind ist nur einer der folgenden Werte zulässig: |
|
nullValue |
Stellt einen Nullwert dar. |
numberValue |
Stellt einen Double-Wert dar. |
stringValue |
Stellt einen Stringwert dar. |
boolValue |
Stellt einen booleschen Wert dar. |
structValue |
Stellt einen strukturierten Wert dar. |
listValue |
Stellt eine wiederholte |
Struct
| JSON-Darstellung |
|---|
{ "fields": { string: value, ... } } |
| Felder | |
|---|---|
fields |
Ungeordnete Zuordnung von dynamisch typisierten Werten. Ein Objekt, das eine Liste von |
FieldsEntry
| JSON-Darstellung |
|---|
{ "key": string, "value": value } |
| Felder | |
|---|---|
key |
|
value |
|
ListValue
| JSON-Darstellung |
|---|
{ "values": [ value ] } |
| Felder | |
|---|---|
values[] |
Wiederholtes Feld mit dynamisch typisierten Werten. |
DefsEntry
| JSON-Darstellung |
|---|
{
"key": string,
"value": {
object ( |
| Felder | |
|---|---|
key |
|
value |
|
OpenApiTool
| JSON-Darstellung |
|---|
{ "openApiSchema": string, "name": string, "description": string, "apiAuthentication": { object ( |
| Felder | |
|---|---|
openApiSchema |
Erforderlich. Das OpenAPI-Schema im JSON- oder YAML-Format. |
name |
Optional. Der Name des Tools. Wenn nicht angegeben, wird der Name des Tools aus dem OpenAPI-Schema abgeleitet, aus |
description |
Optional. Die Beschreibung des Tools. Wenn sie nicht angegeben ist, wird die Beschreibung des Tools aus dem OpenAPI-Schema, aus |
apiAuthentication |
Optional. Von der API benötigte Authentifizierungsinformationen. |
tlsConfig |
Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll. |
serviceDirectoryConfig |
Optional. Service Directory-Konfiguration. |
ignoreUnknownFields |
Optional. Bei „true“ ignoriert der Agent unbekannte Felder in der API-Antwort. |
url |
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. |
ApiAuthentication
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig: |
|
apiKeyConfig |
Optional. Konfiguration für die API-Schlüsselauthentifizierung. |
oauthConfig |
Optional. Konfiguration für OAuth. |
serviceAgentIdTokenAuthConfig |
Optional. Konfiguration für die ID-Token-Authentifizierung, die vom CES-Dienst-Agent generiert wird. |
serviceAccountAuthConfig |
Optional. Konfiguration für die Dienstkontoauthentifizierung. |
bearerTokenConfig |
Optional. Konfiguration für die Inhabertoken-Authentifizierung. |
ApiKeyConfig
| JSON-Darstellung |
|---|
{
"keyName": string,
"apiKeySecretVersion": string,
"requestLocation": enum ( |
| Felder | |
|---|---|
keyName |
Erforderlich. Der Parametername oder der Headername des API-Schlüssels. Beispiel: Wenn der API-Aufruf „https://example.com/act?X-Api-Key= |
apiKeySecretVersion |
Erforderlich. Der Name der Secret-Versionsressource des Secret Manager, in der der API-Schlüssel gespeichert ist. Format: Hinweis: Sie sollten dem CES-Dienst-Agenten |
requestLocation |
Erforderlich. Schlüsselposition in der Anfrage. |
OAuthConfig
| JSON-Darstellung |
|---|
{
"oauthGrantType": enum ( |
| Felder | |
|---|---|
oauthGrantType |
Erforderlich. OAuth-Berechtigungstypen. |
clientId |
Erforderlich. Die Client-ID des OAuth-Anbieters. |
clientSecretVersion |
Erforderlich. Der Name der SecretManager-Secret-Versionsressource, in der der Clientschlüssel gespeichert ist. Format: Hinweis: Sie sollten dem CES-Dienst-Agenten |
tokenEndpoint |
Erforderlich. Der Token-Endpunkt im OAuth-Anbieter, der gegen ein Zugriffstoken ausgetauscht werden soll. |
scopes[] |
Optional. Die zu gewährenden OAuth-Bereiche. |
ServiceAccountAuthConfig
| JSON-Darstellung |
|---|
{ "serviceAccount": string, "scopes": [ string ] } |
| Felder | |
|---|---|
serviceAccount |
Erforderlich. Die E‑Mail-Adresse des für die Authentifizierung verwendeten Dienstkontos. CES verwendet dieses Dienstkonto, um ein Zugriffstoken auszutauschen. Das Zugriffstoken wird dann im Dem Dienstkonto muss die Rolle |
scopes[] |
Optional. Die zu gewährenden OAuth-Bereiche. Wenn nichts angegeben ist, wird der Standardbereich |
BearerTokenConfig
| JSON-Darstellung |
|---|
{ "token": string } |
| Felder | |
|---|---|
token |
Erforderlich. Das Inhabertoken. Muss das Format |
TlsConfig
| JSON-Darstellung |
|---|
{
"caCerts": [
{
object ( |
| Felder | |
|---|---|
caCerts[] |
Erforderlich. Gibt eine Liste der zulässigen benutzerdefinierten CA-Zertifikate für die HTTPS-Überprüfung an. |
CaCert
| JSON-Darstellung |
|---|
{ "displayName": string, "cert": string } |
| Felder | |
|---|---|
displayName |
Erforderlich. Der Name der zulässigen benutzerdefinierten CA-Zertifikate. Damit lassen sich die benutzerdefinierten CA-Zertifikate eindeutig identifizieren. |
cert |
Erforderlich. Die zulässigen benutzerdefinierten CA-Zertifikate (im DER-Format) für die HTTPS-Überprüfung. Dadurch wird der Standard-SSL-Trust-Anchor überschrieben. Wenn dieses Feld leer oder nicht angegeben ist, verwendet CES den Standard-Trust Store von Google, um Zertifikate zu prüfen. Hinweis: Die HTTPS-Serverzertifikate müssen mit „subject alt name“ signiert sein. Ein Zertifikat kann beispielsweise mit dem folgenden Befehl selbst signiert werden: openssl x509 -req -days 200 -in example.com.csr \ -signkey example.com.key \ -out example.com.crt \ -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") Ein base64-codierter String. |
ServiceDirectoryConfig
| JSON-Darstellung |
|---|
{ "service": string } |
| Felder | |
|---|---|
service |
Erforderlich. Der Name des Service Directory-Dienstes. Format: |
GoogleSearchTool
| JSON-Darstellung |
|---|
{
"name": string,
"description": string,
"contextUrls": [
string
],
"preferredDomains": [
string
],
"excludeDomains": [
string
],
"promptConfig": {
object ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Name des Tools. |
description |
Optional. Beschreibung des Zwecks des Tools. |
contextUrls[] |
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[] |
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[] |
Optional. Liste der Domains, die aus den Suchergebnissen ausgeschlossen werden sollen. Beispiel: „beispiel.de“. Es können maximal 2.000 Domains ausgeschlossen werden. |
promptConfig |
Optional. Anweisungen für den Planner, wie die Suchergebnisse für Text und Sprache verarbeitet werden sollen. |
PromptConfig
| JSON-Darstellung |
|---|
{ "textPrompt": string, "voicePrompt": string } |
| Felder | |
|---|---|
textPrompt |
Optional. Definiert den Prompt, der für die Systemanweisungen verwendet wird, wenn Sie in Chatunterhaltungen mit dem Agent interagieren. Wenn nicht festgelegt, wird ein Standard-Prompt verwendet. |
voicePrompt |
Optional. Definiert den Prompt, der für die Systemanweisungen verwendet wird, wenn Sie in Sprachunterhaltungen mit dem Agent interagieren. Wenn nicht festgelegt, wird ein Standard-Prompt verwendet. |
ConnectorTool
| JSON-Darstellung |
|---|
{ "connection": string, "action": { object ( |
| Felder | |
|---|---|
connection |
Erforderlich. Der vollständige Ressourcenname der referenzierten Integration Connectors-Verbindung. Format: |
action |
Erforderlich. Aktion für das zu verwendende Tool. |
authConfig |
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 Konfiguration für die Endnutzerauthentifizierung ü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 ConnectorTools fehl. Weitere Informationen finden Sie unter https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override. |
name |
Optional. Der Name des Tools, das vom Agent verwendet werden kann, um zu entscheiden, ob dieses ConnectorTool aufgerufen werden soll. |
description |
Optional. Die Beschreibung des Tools, anhand derer der Agent entscheiden kann, ob dieses ConnectorTool aufgerufen werden soll. |
Aktion
| JSON-Darstellung |
|---|
{ "inputFields": [ string ], "outputFields": [ string ], // Union field |
| Felder | |
|---|---|
inputFields[] |
Optional. Entitätsfelder, die als Eingaben für den Vorgang verwendet werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität verwendet. |
outputFields[] |
Optional. Die Entitätsfelder, die vom Vorgang zurückgegeben werden sollen. Wenn keine Felder angegeben sind, werden alle Felder der Entität zurückgegeben. |
Union-Feld action_spec. Spezifikation für eine Aktion, die für das Tool konfiguriert werden soll. Für action_spec ist nur einer der folgenden Werte zulässig: |
|
connectionActionId |
ID einer Verbindungsaktion für das zu verwendende Tool. |
entityOperation |
Konfiguration für den Entitätsvorgang, die vom Tool verwendet werden soll. |
EntityOperation
| JSON-Darstellung |
|---|
{
"entityId": string,
"operation": enum ( |
| Felder | |
|---|---|
entityId |
Erforderlich. ID der Entität. |
operation |
Erforderlich. Vorgang, der für die Entität ausgeführt werden soll. |
EndUserAuthConfig
| JSON-Darstellung |
|---|
{ // Union field |
| Felder | |
|---|---|
Union-Feld auth_config. Die Authentifizierungskonfiguration. Für auth_config ist nur einer der folgenden Werte zulässig: |
|
oauth2AuthCodeConfig |
Oauth 2.0-Authentifizierung mit Autorisierungscode. |
oauth2JwtBearerConfig |
Authentifizierung mit OAuth 2.0-Berechtigungstyp zur Autorisierung mit JWT-Profil. |
Oauth2AuthCodeConfig
| JSON-Darstellung |
|---|
{ "oauthToken": string } |
| Felder | |
|---|---|
oauthToken |
Erforderlich. Name des OAuth-Tokenparameters, der übergeben werden soll. Muss das Format |
Oauth2JwtBearerConfig
| JSON-Darstellung |
|---|
{ "issuer": string, "subject": string, "clientKey": string } |
| Felder | |
|---|---|
issuer |
Erforderlich. Name des Ausstellerparameters, der übergeben werden soll. Muss das Format |
subject |
Erforderlich. Name des Subjektparameters, der weitergegeben werden soll. Muss das Format |
clientKey |
Erforderlich. Name des Clientparameters, der übergeben werden soll. Muss das Format |
DataStoreTool
| JSON-Darstellung |
|---|
{ "name": string, "description": string, "boostSpecs": [ { object ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Name des Datenspeichertools. |
description |
Optional. Die Toolbeschreibung. |
boostSpecs[] |
Optional. Mit der Boost-Spezifikation können Sie bestimmte Dokumente hervorheben. |
modalityConfigs[] |
Optional. Die Modalitätskonfigurationen für den Datenspeicher. |
filterParameterBehavior |
Optional. Das Verhalten des Filterparameters. |
Union-Feld search_source. Definiert die Suchquelle, entweder einen einzelnen Datenspeicher oder eine Engine. Für search_source ist nur einer der folgenden Werte zulässig: |
|
dataStoreSource |
Optional. In einem einzelnen bestimmten Datenspeicher suchen. |
engineSource |
Optional. Suche innerhalb einer Engine (möglicherweise in mehreren Datenspeichern). |
DataStoreSource
| JSON-Darstellung |
|---|
{
"filter": string,
"dataStore": {
object ( |
| Felder | |
|---|---|
filter |
Optional. Filterspezifikation für den Datenspeicher. Weitere Informationen finden Sie unter https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata. |
dataStore |
Optional. Der Datenspeicher. |
Datastore
| JSON-Darstellung |
|---|
{ "name": string, "type": enum ( |
| Felder | |
|---|---|
name |
Erforderlich. Vollständiger Ressourcenname des DataStore. Format: |
type |
Nur Ausgabe. Der Typ des Datenspeichers. Dieses Feld ist schreibgeschützt und wird vom Server ausgefüllt. |
documentProcessingMode |
Nur Ausgabe. Der Dokumentverarbeitungsmodus für die Datenspeicherverbindung. Wird nur für PUBLIC_WEB- und UNSTRUCTURED-Datenspeicher festgelegt. |
displayName |
Nur Ausgabe. Der Anzeigename des Datenspeichers. |
createTime |
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: |
connectorConfig |
Nur Ausgabe. Die Connector-Konfiguration für die Datenspeicherverbindung. |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z). |
nanos |
Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen. |
ConnectorConfig
| JSON-Darstellung |
|---|
{ "collection": string, "collectionDisplayName": string, "dataSource": string } |
| Felder | |
|---|---|
collection |
Der Ressourcenname der Sammlung, zu der der Datenspeicher gehört. |
collectionDisplayName |
Der Anzeigename der Sammlung, zu der der Datenspeicher gehört. |
dataSource |
Der Name der Datenquelle. Beispiel: |
EngineSource
| JSON-Darstellung |
|---|
{
"engine": string,
"dataStoreSources": [
{
object ( |
| Felder | |
|---|---|
engine |
Erforderlich. Vollständiger Ressourcenname der Engine. Format: |
dataStoreSources[] |
Optional. Wird verwendet, um bestimmte DataStores innerhalb der Engine als Ziel auszuwählen. Wenn das Feld leer ist, wird die Suche auf alle DataStores angewendet, die mit der Engine verknüpft sind. |
filter |
Optional. Ein Filter, der auf die Suche in der Engine angewendet wird. Nicht relevant und nicht verwendet, wenn „data_store_sources“ angegeben ist. Weitere Informationen finden Sie unter https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata. |
BoostSpecs
| JSON-Darstellung |
|---|
{
"dataStores": [
string
],
"spec": [
{
object ( |
| Felder | |
|---|---|
dataStores[] |
Erforderlich. Der Datenspeicher, auf den die Konfiguration für die Steigerung angewendet wird. Vollständiger Ressourcenname des Datenspeichers, z. B. „projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}“. |
spec[] |
Erforderlich. Eine Liste mit Spezifikationen für das Boosting. |
BoostSpec
| JSON-Darstellung |
|---|
{
"conditionBoostSpecs": [
{
object ( |
| Felder | |
|---|---|
conditionBoostSpecs[] |
Erforderlich. Eine Liste mit Spezifikationen für das Boosting. |
ConditionBoostSpec
| JSON-Darstellung |
|---|
{
"condition": string,
"boost": number,
"boostControlSpec": {
object ( |
| Felder | |
|---|---|
condition |
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 |
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 |
Optional. Komplexe Spezifikation für benutzerdefiniertes Ranking basierend auf einem vom Kunden definierten Attributwert. |
BoostControlSpec
| JSON-Darstellung |
|---|
{ "fieldName": string, "attributeType": enum ( |
| Felder | |
|---|---|
fieldName |
Optional. Der Name des Feldes, dessen Wert zur Bestimmung des Boost-Betrags verwendet wird. |
attributeType |
Optional. Der Attributtyp, der zum Ermitteln des Boost-Betrags verwendet werden soll. Der Attributwert kann aus dem Feldwert des angegebenen „field_name“ abgeleitet werden. Bei numerischen Werten ist das ganz einfach: attribute_value = numerical_field_value. Bei der Aktualität gilt jedoch: attribute_value = (time.now() – datetime_field_value). |
interpolationType |
Optional. Der Interpolationstyp, der zum Verbinden der unten aufgeführten Kontrollpunkte verwendet wird. |
controlPoints[] |
Optional. Die Kontrollpunkte, mit denen die Kurve definiert wird. Die monotone Funktion (die oben über „interpolation_type“ definiert wurde) geht durch die hier aufgeführten Kontrollpunkte. |
ControlPoint
| JSON-Darstellung |
|---|
{ "attributeValue": string, "boostAmount": number } |
| Felder | |
|---|---|
attributeValue |
Optional. Kann einer der folgenden Werte sein: 1. Der numerische Feldwert. 2. Die Dauerangabe für die Aktualität: Der Wert muss als XSD- |
boostAmount |
Optional. Der Wert zwischen -1 und 1, der angibt, um wieviel die Punktzahl erhöht werden soll, wenn „attribute_value“ dem oben angegebenen Wert entspricht. |
ModalityConfig
| JSON-Darstellung |
|---|
{ "modalityType": enum ( |
| Felder | |
|---|---|
modalityType |
Erforderlich. Der Modalitätstyp. |
rewriterConfig |
Optional. Die Rewriter-Konfiguration. |
summarizationConfig |
Optional. Die Zusammenfassungskonfiguration. |
groundingConfig |
Optional. Die Fundierungskonfiguration. |
RewriterConfig
| JSON-Darstellung |
|---|
{
"modelSettings": {
object ( |
| Felder | |
|---|---|
modelSettings |
Erforderlich. Konfigurationen für das LLM-Modell. |
prompt |
Optional. Die Prompt-Definition. Wenn nicht festgelegt, wird ein Standard-Prompt verwendet. |
disabled |
Optional. Gibt an, ob die Funktion zum Umschreiben deaktiviert ist. |
ModelSettings
| JSON-Darstellung |
|---|
{ "model": string, // Union field |
| Felder | |
|---|---|
model |
Optional. Das LLM-Modell, das der Agent verwenden soll. Wenn nicht festgelegt, übernimmt der Agent das Modell vom übergeordneten Agent. |
Union-Feld Für |
|
temperature |
Optional. Wenn festgelegt, wird diese Temperatur für das LLM-Modell verwendet. Die Temperatur steuert die Zufälligkeit der Antworten des Modells. Niedrigere Temperaturen führen zu vorhersagbareren Antworten. Höhere Temperaturen führen zu kreativeren Antworten. |
SummarizationConfig
| JSON-Darstellung |
|---|
{
"modelSettings": {
object ( |
| Felder | |
|---|---|
modelSettings |
Optional. Konfigurationen für das LLM-Modell. |
prompt |
Optional. Die Prompt-Definition. Wenn nicht festgelegt, wird ein Standard-Prompt verwendet. |
disabled |
Optional. Gibt an, ob die Zusammenfassung deaktiviert ist. |
GroundingConfig
| JSON-Darstellung |
|---|
{ "groundingLevel": number, "disabled": boolean } |
| Felder | |
|---|---|
groundingLevel |
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 |
Optional. Gibt an, ob die Fundierung deaktiviert ist. |
PythonFunction
| JSON-Darstellung |
|---|
{ "name": string, "pythonCode": string, "description": string } |
| Felder | |
|---|---|
name |
Optional. Der Name der auszuführenden Python-Funktion. Muss mit einem in Python-Code definierten Python-Funktionsnamen übereinstimmen. Groß- und Kleinschreibung wird berücksichtigt. Wenn der Name nicht angegeben ist, wird die erste im Python-Code definierte Funktion verwendet. |
pythonCode |
Optional. Der Python-Code, der für das Tool ausgeführt werden soll. |
description |
Nur Ausgabe. Die Beschreibung der Python-Funktion, die aus dem Docstring des Python-Codes geparst wurde. |
McpTool
| JSON-Darstellung |
|---|
{ "name": string, "description": string, "inputSchema": { object ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Name des MCP-Tools. |
description |
Optional. Die Beschreibung des MCP-Tools. |
inputSchema |
Optional. Das Schema der Eingabeargumente des MCP-Tools. |
outputSchema |
Optional. Das Schema der Ausgabeargumente des MCP-Tools. |
serverAddress |
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 Streamable HTTP-Transport-basierte Server unterstützt. Dies entspricht der server_address im McpToolset. Weitere Informationen finden Sie unter https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http. |
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 |
Optional. Die TLS-Konfiguration. Enthält die benutzerdefinierten Serverzertifikate, denen der Client vertrauen soll. |
serviceDirectoryConfig |
Optional. Service Directory-Konfiguration für VPC-SC, die zum Auflösen von Dienstnamen innerhalb eines Perimeters verwendet wird. |
FileSearchTool
| JSON-Darstellung |
|---|
{
"corpusType": enum ( |
| Felder | |
|---|---|
corpusType |
Optional. Der Typ des Korpus. Der Standardwert ist FULLY_MANAGED. |
name |
Erforderlich. Der Name des Tools. |
description |
Optional. Die Toolbeschreibung. |
fileCorpus |
Optional. Das Corpus, in dem Dateien gespeichert werden. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus} |
SystemTool
| JSON-Darstellung |
|---|
{ "name": string, "description": string } |
| Felder | |
|---|---|
name |
Erforderlich. Der Name des Systemtools. |
description |
Nur Ausgabe. Die Beschreibung des Systemtools. |
WidgetTool
| JSON-Darstellung |
|---|
{ "name": string, "description": string, "widgetType": enum ( |
| Felder | |
|---|---|
name |
Erforderlich. Der Anzeigename des Widget-Tools. |
description |
Optional. Die Beschreibung des Widget-Tools. |
widgetType |
Optional. Der Typ des Widget-Tools. Wenn keine Angabe erfolgt, wird der Standardtyp CUSTOMIZED verwendet. |
Union-Feld input. Die Eingabe des Widget-Tools. Für input ist nur einer der folgenden Werte zulässig: |
|
parameters |
Optional. Die Eingabeparameter des Widget-Tools. |
ToolFakeConfig
| JSON-Darstellung |
|---|
{ "enableFakeMode": boolean, // Union field |
| Felder | |
|---|---|
enableFakeMode |
Optional. Gibt an, ob das Tool den Fiktivmodus verwendet. |
Union-Feld tool_response. Die Antwort ist entweder statisch oder wird von einer Python-Funktion bereitgestellt. Für tool_response ist nur einer der folgenden Werte zulässig: |
|
codeBlock |
Optional. Codeblock, der anstelle eines echten Tool-Aufrufs ausgeführt wird. |
CodeBlock
| JSON-Darstellung |
|---|
{ "pythonCode": string } |
| Felder | |
|---|---|
pythonCode |
Erforderlich. Python-Code, der im Tool-Fake-Modus aufgerufen wird. Erwartete Python-Funktionssignatur: Um alle Tool-Aufrufe abzufangen: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Um einen bestimmten Tool-Aufruf abzufangen: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Wenn die Funktion „None“ zurückgibt, wird stattdessen das echte Tool aufgerufen. |
Tool-Annotationen
Destruktiver Hinweis: ✅ | Idempotenter Hinweis: ❌ | Nur-Lese-Hinweis: ❌ | Open-World-Hinweis: ❌