MCP Tools Reference: ces.googleapis.com

工具:get_app_version

取得指定應用程式版本的詳細資料。

下列程式碼範例說明如何使用 curl 呼叫 get_app_version MCP 工具。

Curl 要求
curl --location 'https://ces.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_app_version",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

輸入內容的結構定義

AgentService.GetAppVersion 的要求訊息。

GetAppVersionRequest

JSON 表示法
{
  "name": string
}
欄位
name

string

這是必要旗標,要擷取的應用程式版本資源名稱。

輸出內容的結構定義

在 Customer Engagement Suite (CES) 中,應用程式版本是應用程式在特定時間點的快照。這項設定建立後即無法變更。

AppVersion

JSON 表示法
{
  "name": string,
  "displayName": string,
  "description": string,
  "creator": string,
  "createTime": string,
  "updateTime": string,
  "snapshot": {
    object (AppSnapshot)
  },
  "etag": string
}
欄位
name

string

ID。應用程式版本的專屬 ID。格式:projects/{project}/locations/{location}/apps/{app}/versions/{version}

displayName

string

選用。應用程式版本的顯示名稱。

description

string

選用。應用程式版本的說明。

creator

string

僅供輸出。建立應用程式版本的使用者電子郵件地址。

createTime

string (Timestamp format)

僅供輸出。應用程式版本的建立時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

僅供輸出。上次更新應用程式版本的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

snapshot

object (AppSnapshot)

僅供輸出。建立版本時的應用程式快照。

etag

string

僅供輸出。Etag 可確保物件在讀取-修改-寫入作業期間未變更。如果 etag 為空白,更新作業會覆寫所有並行變更。

時間戳記

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
欄位
seconds

string (int64 format)

代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 (含) 之間 (對應至 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z)。

nanos

integer

非負數的秒數分數,解析度為奈秒。這個欄位是時間長度的奈秒部分,而非秒數的替代值。含有分數的負秒值仍須有非負奈秒值,以向前計算時間。必須介於 0 至 999,999,999 之間 (含 0 和 999,999,999)。

AppSnapshot

JSON 表示法
{
  "app": {
    object (App)
  },
  "agents": [
    {
      object (Agent)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "examples": [
    {
      object (Example)
    }
  ],
  "guardrails": [
    {
      object (Guardrail)
    }
  ],
  "toolsets": [
    {
      object (Toolset)
    }
  ]
}
欄位
app

object (App)

選用。應用程式的基本設定。

agents[]

object (Agent)

選用。應用程式中的代理清單。

tools[]

object (Tool)

選用。應用程式中的工具清單。

examples[]

object (Example)

選用。應用程式中的範例清單。

guardrails[]

object (Guardrail)

選用。應用程式中的護欄清單。

toolsets[]

object (Toolset)

選用。應用程式中的工具組清單。

應用程式

JSON 表示法
{
  "name": string,
  "displayName": string,
  "description": string,
  "pinned": boolean,
  "rootAgent": string,
  "languageSettings": {
    object (LanguageSettings)
  },
  "timeZoneSettings": {
    object (TimeZoneSettings)
  },
  "audioProcessingConfig": {
    object (AudioProcessingConfig)
  },
  "loggingSettings": {
    object (LoggingSettings)
  },
  "errorHandlingSettings": {
    object (ErrorHandlingSettings)
  },
  "modelSettings": {
    object (ModelSettings)
  },
  "toolExecutionMode": enum (ToolExecutionMode),
  "evaluationMetricsThresholds": {
    object (EvaluationMetricsThresholds)
  },
  "variableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "predefinedVariableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "globalInstruction": string,
  "guardrails": [
    string
  ],
  "dataStoreSettings": {
    object (DataStoreSettings)
  },
  "defaultChannelProfile": {
    object (ChannelProfile)
  },
  "metadata": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "deploymentCount": integer,
  "clientCertificateSettings": {
    object (ClientCertificateSettings)
  },
  "vpcScSettings": {
    object (VpcScSettings)
  },
  "locked": boolean,
  "validationErrors": [
    string
  ],
  "dashboardSettings": {
    object (DashboardSettings)
  }
}
欄位
name

string

ID。應用程式的專屬 ID。格式:projects/{project}/locations/{location}/apps/{app}

displayName

string

這是必要旗標,應用程式的顯示名稱。

description

string

選用。人類可讀的應用程式說明。

pinned

boolean

選用。應用程式是否固定在應用程式清單中。

rootAgent

string

選用。根代理是應用程式的進入點。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

languageSettings

object (LanguageSettings)

選用。應用程式的語言設定。

timeZoneSettings

object (TimeZoneSettings)

選用。應用程式的時區設定。

audioProcessingConfig

object (AudioProcessingConfig)

選用。應用程式的音訊處理設定。

loggingSettings

object (LoggingSettings)

選用。應用程式的記錄設定。

errorHandlingSettings

object (ErrorHandlingSettings)

選用。應用程式的錯誤處理設定。

modelSettings

object (ModelSettings)

選用。應用程式的預設 LLM 模型設定。個別資源 (例如代理、護欄) 可視需要覆寫這些設定。

toolExecutionMode

enum (ToolExecutionMode)

選用。應用程式的工具執行模式。如未提供,則預設為 PARALLEL。

evaluationMetricsThresholds

object (EvaluationMetricsThresholds)

選用。應用程式的評估門檻。

variableDeclarations[]

object (VariableDeclaration)

選用。變數宣告。

predefinedVariableDeclarations[]

object (VariableDeclaration)

僅供輸出。應用程式預先定義變數的宣告。

globalInstruction

string

選用。應用程式中所有代理的操作說明。您可以使用這項操作說明,為所有代理設定穩定的身分或個性。

guardrails[]

string

選用。應用程式的護欄清單。格式:projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

dataStoreSettings

object (DataStoreSettings)

選用。應用程式的資料儲存庫設定。

defaultChannelProfile

object (ChannelProfile)

選用。應用程式使用的預設管道設定檔。

metadata

map (key: string, value: string)

選用。應用程式的中繼資料。這個欄位可用於儲存與應用程式詳細資料或預期用途相關的其他資訊。

包含 "key": value 組合清單的物件,例如 { "name": "wrench", "mass": "1.3kg", "count": "3" }。

createTime

string (Timestamp format)

僅供輸出。應用程式的建立時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

僅供輸出。上次更新應用程式的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

etag

string

僅供輸出。Etag 可確保物件在讀取-修改-寫入作業期間未變更。如果 etag 為空白,更新作業會覆寫所有並行變更。

deploymentCount

integer

僅供輸出。應用程式中的部署作業數量。

clientCertificateSettings

object (ClientCertificateSettings)

選用。應用程式的預設用戶端憑證設定。

vpcScSettings

object (VpcScSettings)

選用。應用程式的 VPC-SC 設定。

locked

boolean

選用。指出應用程式是否已鎖定,無法變更。如果應用程式已鎖定,系統會拒絕修改應用程式資源。

validationErrors[]

string

僅供輸出。應用程式設定錯誤或警告。

dashboardSettings

object (DashboardSettings)

選用。應用程式專屬資訊主頁設定,用於連結及設定 Contact Center Insights 資訊主頁。

LanguageSettings

JSON 表示法
{
  "defaultLanguageCode": string,
  "supportedLanguageCodes": [
    string
  ],
  "enableMultilingualSupport": boolean,
  "fallbackAction": string
}
欄位
defaultLanguageCode

string

選用。應用程式的預設語言代碼。

supportedLanguageCodes[]

string

選用。除了 default_language_code 之外,應用程式支援的語言代碼清單。

enableMultilingualSupport

boolean

選用。啟用多語言支援。如果true,應用程式中的代理會使用預先建構的指令,更妥善地處理多語言輸入內容。

fallbackAction
(deprecated)

string

選用。已淘汰:我們不再支援這項功能。請改用 enable_multilingual_support,提升多語言輸入內容的處理能力。代理收到不支援的語言的輸入內容時,應執行的動作。

可以是預先定義的動作或自訂工具呼叫。有效值包括:- 工具的完整資源名稱,會觸發特定工具執行。- 預先定義的系統動作,例如「提報」或「退出」,會觸發 EndSession 信號和對應的 metadata,終止對話。

TimeZoneSettings

JSON 表示法
{
  "timeZone": string
}
欄位
timeZone

string

選用。時區資料庫中的應用程式時區,例如 America/Los_Angeles、Europe/Paris。

AudioProcessingConfig

JSON 表示法
{
  "synthesizeSpeechConfigs": {
    string: {
      object (SynthesizeSpeechConfig)
    },
    ...
  },
  "bargeInConfig": {
    object (BargeInConfig)
  },
  "inactivityTimeout": string,
  "ambientSoundConfig": {
    object (AmbientSoundConfig)
  },
  "customVoiceSamples": [
    {
      object (CustomVoiceSample)
    }
  ]
}
欄位
synthesizeSpeechConfigs

map (key: string, value: object (SynthesizeSpeechConfig))

選用。代理回覆的合成方式設定,從語言代碼對應至 SynthesizeSpeechConfig。

如果找不到指定語言代碼的設定,系統會使用根語言代碼的設定。舉例來說,如果對應表包含「en-us」和「en」,而指定的語言代碼是「en-gb」,則會使用「en」設定。

注意:語言代碼不區分大小寫。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

bargeInConfig

object (BargeInConfig)

選用。設定使用者插話活動的代理行為。

inactivityTimeout

string (Duration format)

選用。使用者閒置 (未說話或互動) 多久後,代理會提示使用者重新互動。如未設定,代理就不會提示使用者重新互動。

以秒為單位的時間長度,最多 9 個小數位數,結尾為「s」。例如:"3.5s"。

ambientSoundConfig

object (AmbientSoundConfig)

選用。設定與合成代理回覆一起播放的環境音,提高對話的自然度。

customVoiceSamples[]

object (CustomVoiceSample)

選用。設定用於語音複製的自訂語音樣本。

SynthesizeSpeechConfigsEntry

JSON 表示法
{
  "key": string,
  "value": {
    object (SynthesizeSpeechConfig)
  }
}
欄位
key

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

JSON 表示法
{
  "voice": string,
  "speakingRate": number,
  "model": string,
  "instruction": string
}
欄位
voice

string

選用。語音的名稱。如未設定,服務會根據 language_code 等其他參數選擇語音。

如需可用語音清單,請參閱 Cloud Text-to-Speech 的支援的語音和語言。

speakingRate

number

選用。語速範圍為 [0.25, 2.0]。1.0 為特定語音支援的正常原生速度。2.0 為兩倍速,0.5 為一半的速度。如果值超出 [0.25, 2.0] 範圍,系統會傳回錯誤。

model

string

選用。用於合成音訊的模型。目前支援的值:-「gemini-3.1-flash-tts-preview」如果留空,則會使用 Chirp3-HD。

instruction

string

選用。使用生成模型時,用於合成語音的指令。

BargeInConfig

JSON 表示法
{
  "disableBargeIn": boolean,
  "bargeInAwareness": boolean
}
欄位
disableBargeIn
(deprecated)

boolean

選用。已淘汰:disable_barge_in 已淘汰,改用 ChannelProfile 中的 disable_barge_in_control。

停用使用者在代理說話時插話的功能。如果設為 true,系統會忽略代理回覆播放期間的使用者輸入內容。

bargeInAwareness

boolean

選用。啟用後,代理會假設使用者未聽完先前的完整訊息,並據此調整下一個回覆。如果代理的回覆會以視覺化方式呈現,請勿使用這個屬性。

持續時間

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
欄位
seconds

string (int64 format)

時間範圍的有號秒數。必須介於 -315,576,000,000 至 +315,576,000,000 之間 (含)。注意:這些界限的計算方式為:60 秒/分鐘 * 60 分鐘/小時 * 24 小時/天 * 365.25 天/年 * 10000 年

nanos

integer

時間範圍內以奈秒解析度表示的有正負號秒數分數。如果時間長度不到一秒,則會以 0 seconds 欄位和正或負 nanos 欄位表示。如果時間長度為一秒以上,nanos 欄位的非零值必須與 seconds 欄位具有相同的正負號。必須介於 -999,999,999 至 +999,999,999 之間 (含)。

AmbientSoundConfig

JSON 表示法
{
  "volumeGainDb": number,

  // Union field source can be only one of the following:
  "prebuiltAmbientNoise": enum (PrebuiltAmbientNoise),
  "gcsUri": string,
  "prebuiltAmbientSound": string
  // End of list of possible types for union field source.
}
欄位
volumeGainDb

number

選用。環境噪音支援的一般原生音量增益 (以分貝為單位),範圍為 [-96.0, 16.0]。如果設為 0.0 (dB) 或不予設定,系統會以正常原生訊號振幅播放。如果設為 -6.0 (dB),系統會以約為正常原生訊號振幅的一半振幅播放。如果設為 +6.0 (dB),系統會以約為正常原生訊號振幅的兩倍振幅播放。強烈建議您不要設定超過 +10 (dB) 的值,因為在超過這個值之後,通常就無法有效提高音量。

聯集欄位 source。與合成的代理回覆一起播放的環境噪音,可提高對話的自然度。source 只能是下列其中一個設定:
prebuiltAmbientNoise
(deprecated)

enum (PrebuiltAmbientNoise)

選用。已淘汰:prebuilt_ambient_noise 已淘汰,改用 prebuilt_ambient_sound。

gcsUri

string

選用。環境噪音:儲存在 Cloud Storage 的單聲道 16 kHz WAV 檔案。

注意:請確認 CES 服務代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 具備 Cloud Storage 物件的 storage.objects.get 權限。

prebuiltAmbientSound

string

選用。預建環境音效的名稱。有效值如下:- "coffee_shop" - "keyboard" - "keypad" - "hum" - "office_1" - "office_2" - "office_3" - "room_1" - "room_2" - "room_3" - "room_4" - "room_5" - "air_conditioner"

CustomVoiceSample

JSON 表示法
{
  "name": string,
  "voiceSampleGcsUri": string,
  "consentAudioGcsUri": string,
  "voiceInstruction": string,
  "previewAudioContent": string,
  "previewText": string,
  "warnings": [
    {
      object (Warning)
    }
  ],
  "voiceInstructionMode": enum (VoiceInstructionMode)
}
欄位
name

string

選用。使用者定義的自訂語音樣本名稱。

voiceSampleGcsUri

string

選用。用於語音複製的音訊樣本 Cloud Storage URI。音訊樣本應為單聲道、24kHz 的 WAV 檔案。

consentAudioGcsUri

string

選用。同意複製語音的音訊。

voiceInstruction

string

選用。語音風格、語調、語速或發音的自然語言指令。

previewAudioContent

string (bytes format)

僅供輸出。自訂語音的合成試聽音訊,格式為標準 WAV (LINEAR16、24kHz、16 位元、單聲道)。

Base64 編碼字串。

previewText

string

選用。用於合成 Custom Voice 預覽音訊的文字。

warnings[]

object (Warning)

僅供輸出。語音複製處理期間出現的警告訊息 (例如音訊音量過低)。

voiceInstructionMode

enum (VoiceInstructionMode)

選用。語音範例的指示模式。如未指定,預設值為 NO_INSTRUCTION。

警告

JSON 表示法
{
  "message": string,
  "type": enum (WarningType)
}
欄位
message

string

僅供輸出。人類可讀的警告說明。

type

enum (WarningType)

僅供輸出。警告類型。

LoggingSettings

JSON 表示法
{
  "redactionConfig": {
    object (RedactionConfig)
  },
  "audioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "unredactedAudioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "bigqueryExportSettings": {
    object (BigQueryExportSettings)
  },
  "unredactedBigqueryExportSettings": {
    object (BigQueryExportSettings)
  },
  "cloudLoggingSettings": {
    object (CloudLoggingSettings)
  },
  "conversationLoggingSettings": {
    object (ConversationLoggingSettings)
  },
  "evaluationAudioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "metricAnalysisSettings": {
    object (MetricAnalysisSettings)
  },
  "requiredRecordingConsent": boolean
}
欄位
redactionConfig

object (RedactionConfig)

選用。機密資料遮蓋方式的設定。

audioRecordingConfig

object (AudioRecordingConfig)

選用。音訊互動記錄方式的設定。音訊會根據 RedactionConfig 中的設定進行遮蓋。

unredactedAudioRecordingConfig

object (AudioRecordingConfig)

選用。設定額外錄製未遮蓋的音訊。如果音訊遮蓋功能為 enabled,這項設定可用於保留原始音訊副本,通常用於稽核或監控。

bigqueryExportSettings

object (BigQueryExportSettings)

選用。設定應用程式的 BigQuery Export 行為。對話資料會依據 RedactionConfig 中的設定進行遮蓋。

unredactedBigqueryExportSettings

object (BigQueryExportSettings)

選用。設定應用程式的 BigQuery 匯出行為。啟用後,未遮蓋的對話資料會匯出至 BigQuery 資料表。

cloudLoggingSettings

object (CloudLoggingSettings)

選用。說明應用程式 Cloud Logging 行為的設定。

conversationLoggingSettings

object (ConversationLoggingSettings)

選用。用於描述應用程式對話記錄行為的設定。

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

選用。設定如何錄製音訊互動,以進行評估。根據預設,評估工作階段不會啟用音訊錄音功能。

metricAnalysisSettings

object (MetricAnalysisSettings)

選用。設定應用程式 LLM 分析管道的對話資料收集行為。

requiredRecordingConsent

boolean

選用。應用程式是否必須先說明可能記錄的內容,才能保留任何內容。

如果設為 true,工作階段開始時會關閉錄音功能,直到用戶端傳送 SessionInput.recording_control 為止,屆時系統會決定從該時間點開始的每個回合。包括音訊錄音、對話記錄、BigQuery Export 和 Cloud Logging。

如果設為 false (預設值),上述設定會自行決定,用戶端不必傳送任何內容。

RedactionConfig

JSON 表示法
{
  "enableRedaction": boolean,
  "inspectTemplate": string,
  "deidentifyTemplate": string
}
欄位
enableRedaction

boolean

選用。如果設為 true,系統會在各種記錄情境中套用遮蓋功能,包括對話記錄、Cloud Logging 和音訊錄音。

inspectTemplate

string

選用。DLP 檢查範本名稱,用於設定機密資料類型的偵測。

格式:projects/{project}/locations/{location}/inspectTemplates/{inspect_template}

deidentifyTemplate

string

選用。DLP 去識別化範本名稱,用於指示如何將內容去識別化。

格式:projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}

AudioRecordingConfig

JSON 表示法
{
  "gcsBucket": string,
  "gcsPathPrefix": string
}
欄位
gcsBucket

string

選用。用於儲存工作階段音訊錄音檔的 Cloud Storage bucket。URI 開頭必須是「gs://」。

請選擇符合資料落地規定的 bucket 位置。

注意:如果 Cloud Storage bucket 與應用程式位於不同專案,請將 storage.objects.create 權限授予 CES 服務代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com。

gcsPathPrefix

string

選用。錄音檔的 Cloud Storage 路徑前置字串。

這個前置字元可包含下列預留位置,這些預留位置會在提供時動態替換:- $project:專案 ID - $location:應用程式位置 - $app:應用程式 ID - $date:工作階段日期,格式為 YYYY-MM-DD - $session:工作階段 ID

如未指定路徑前置字串,系統會使用預設前置字串 $project/$location/$app/$date/$session/。

BigQueryExportSettings

JSON 表示法
{
  "enabled": boolean,
  "project": string,
  "dataset": string
}
欄位
enabled

boolean

選用。指出是否啟用 BigQuery Export。

project

string

選用。要匯出資料的 BigQuery 資料集專案 ID。

注意:如果 BigQuery 資料集與應用程式位於不同專案,請將 roles/bigquery.admin 角色授予 CES 服務代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com。

dataset

string

選用。要匯出資料的 BigQuery 資料集 ID。

CloudLoggingSettings

JSON 表示法
{
  "enableCloudLogging": boolean
}
欄位
enableCloudLogging

boolean

選用。是否要為工作階段啟用 Cloud Logging。

ConversationLoggingSettings

JSON 表示法
{
  "disableConversationLogging": boolean,
  "retentionWindow": string
}
欄位
disableConversationLogging

boolean

選用。是否要停用工作階段的對話記錄功能。

retentionWindow

string (Duration format)

選用。控制對話的保留期。如未設定,對話會保留 365 天。

以秒為單位的時間長度,最多 9 個小數位數,結尾為「s」。例如:"3.5s"。

MetricAnalysisSettings

JSON 表示法
{
  "llmMetricsOptedOut": boolean
}
欄位
llmMetricsOptedOut

boolean

選用。是否要收集對話資料,用於 LLM 分析指標。如果設為 true,系統就不會收集對話資料,用於 LLM 分析指標;否則會收集對話資料。

ErrorHandlingSettings

JSON 表示法
{
  "errorHandlingStrategy": enum (ErrorHandlingStrategy),
  "fallbackResponseConfig": {
    object (FallbackResponseConfig)
  },
  "endSessionConfig": {
    object (EndSessionConfig)
  }
}
欄位
errorHandlingStrategy

enum (ErrorHandlingStrategy)

選用。錯誤處理策略。

fallbackResponseConfig

object (FallbackResponseConfig)

選用。處理備用回應的設定。

endSessionConfig

object (EndSessionConfig)

選用。發生系統錯誤 (例如 LLM 錯誤) 時,結束工作階段的設定。

FallbackResponseConfig

JSON 表示法
{
  "customFallbackMessages": {
    string: string,
    ...
  },
  "maxFallbackAttempts": integer
}
欄位
customFallbackMessages

map (key: string, value: string)

選用。發生系統錯誤 (例如 LLM 錯誤) 時的備用訊息,依支援的語言代碼對應。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

maxFallbackAttempts

integer

選用。代理在發出 EndSession 信號前,嘗試備用方案的次數上限。

CustomFallbackMessagesEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

EndSessionConfig

JSON 表示法
{

  // Union field _escalate_session can be only one of the following:
  "escalateSession": boolean
  // End of list of possible types for union field _escalate_session.
}
欄位

聯集欄位 _escalate_session。

_escalate_session 只能是下列其中一個設定:

escalateSession

boolean

選用。是否要在 EndSession 中提報工作階段。如果工作階段已提報,metadata in EndSession 會包含 session_escalated = true。詳情請參閱 https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/deploy/google-telephony-platform#transfer_a_call_to_a_human_agent。

ModelSettings

JSON 表示法
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
欄位
model

string

選用。代理應使用的 LLM 模型。如未設定,代理會沿用上層代理的模型。

thinkingLevel

enum (ThinkingLevel)

選用。模型的思考程度。

聯集欄位 _temperature。

_temperature 只能是下列其中一個設定:

temperature

number

選用。如果設定,LLM 模型會使用這個溫度。Temperature 參數可控制模型回覆的隨機程度。溫度越低,回覆越容易預測。溫度越高,回覆越有創意。

EvaluationMetricsThresholds

JSON 表示法
{
  "goldenEvaluationMetricsThresholds": {
    object (GoldenEvaluationMetricsThresholds)
  },
  "hallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "goldenHallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "scenarioHallucinationMetricBehavior": enum (HallucinationMetricBehavior)
}
欄位
goldenEvaluationMetricsThresholds

object (GoldenEvaluationMetricsThresholds)

選用。黃金評估指標門檻。

hallucinationMetricBehavior
(deprecated)

enum (HallucinationMetricBehavior)

選用。已淘汰:請改用 golden_hallucination_metric_behavior。幻覺指標行為目前用於黃金評估。

goldenHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

選用。黃金評估的幻覺指標行為。

scenarioHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

選用。情境評估的幻覺指標行為。

GoldenEvaluationMetricsThresholds

JSON 表示法
{
  "turnLevelMetricsThresholds": {
    object (TurnLevelMetricsThresholds)
  },
  "expectationLevelMetricsThresholds": {
    object (ExpectationLevelMetricsThresholds)
  },
  "toolMatchingSettings": {
    object (ToolMatchingSettings)
  }
}
欄位
turnLevelMetricsThresholds

object (TurnLevelMetricsThresholds)

選用。回合層級指標門檻。

expectationLevelMetricsThresholds

object (ExpectationLevelMetricsThresholds)

選用。預期層級指標門檻。

toolMatchingSettings

object (ToolMatchingSettings)

選用。工具比對設定。額外工具呼叫是指執行過程中出現,但與黃金期望中的任何工具呼叫都不相符的工具呼叫。

TurnLevelMetricsThresholds

JSON 表示法
{
  "semanticSimilarityChannel": enum (SemanticSimilarityChannel),

  // Union field _semantic_similarity_success_threshold can be only one of the
  // following:
  "semanticSimilaritySuccessThreshold": integer
  // End of list of possible types for union field
  // _semantic_similarity_success_threshold.

  // Union field _overall_tool_invocation_correctness_threshold can be only one
  // of the following:
  "overallToolInvocationCorrectnessThreshold": number
  // End of list of possible types for union field
  // _overall_tool_invocation_correctness_threshold.
}
欄位
semanticSimilarityChannel

enum (SemanticSimilarityChannel)

選用。用於評估的語意相似度管道。

聯集欄位 _semantic_similarity_success_threshold。

_semantic_similarity_success_threshold 只能是下列其中一個設定:

semanticSimilaritySuccessThreshold

integer

選用。語意相似度的成功門檻。必須是介於 0 到 4 之間的整數。預設值為 >= 3。

聯集欄位 _overall_tool_invocation_correctness_threshold。

_overall_tool_invocation_correctness_threshold 只能是下列其中一個設定:

overallToolInvocationCorrectnessThreshold

number

選用。整體工具叫用正確性的成功門檻。必須是介於 0 到 1 之間的浮點數。預設值為 1.0。

ExpectationLevelMetricsThresholds

JSON 表示法
{

  // Union field _tool_invocation_parameter_correctness_threshold can be only one
  // of the following:
  "toolInvocationParameterCorrectnessThreshold": number
  // End of list of possible types for union field
  // _tool_invocation_parameter_correctness_threshold.
}
欄位

聯集欄位 _tool_invocation_parameter_correctness_threshold。

_tool_invocation_parameter_correctness_threshold 只能是下列其中一個設定:

toolInvocationParameterCorrectnessThreshold

number

選用。個別工具叫用參數正確性的成功門檻。必須是介於 0 到 1 之間的浮點數。預設值為 1.0。

ToolMatchingSettings

JSON 表示法
{
  "extraToolCallBehavior": enum (ExtraToolCallBehavior)
}
欄位
extraToolCallBehavior

enum (ExtraToolCallBehavior)

選用。額外工具呼叫的行為。預設值為 FAIL。

VariableDeclaration

JSON 表示法
{
  "name": string,
  "description": string,
  "schema": {
    object (Schema)
  }
}
欄位
name

string

這是必要旗標,變數名稱。名稱只能使用英文字母、數字或底線,開頭須為英文字母或底線。

description

string

這是必要旗標,變數的說明。

schema

object (Schema)

這是必要旗標,變數的結構定義。

結構定義

JSON 表示法
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
欄位
type

enum (Type)

這是必要旗標,資料類型。

properties

map (key: string, value: object (Schema))

選用。Type.OBJECT 的屬性。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

required[]

string

選用。Type.OBJECT 的必要屬性。

description

string

選用。資料說明。

items

object (Schema)

選用。Type.ARRAY 元素的結構定義。

nullable

boolean

選用。指出值是否可能為空值。

uniqueItems

boolean

選用。指出陣列中的項目不得重複。僅適用於 TYPE.ARRAY。

prefixItems[]

object (Schema)

選用。Type.ARRAY 初始元素的結構定義。

additionalProperties

object (Schema)

選用。可以是布林值或物件,用於控制是否顯示其他屬性。

anyOf[]

object (Schema)

選用。值應根據清單中的任何 (一或多個) 子結構定義進行驗證。

enum[]

string

選用。列舉格式的基本類型元素可能值。範例:1. 我們可以將方向定義為:{type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. 我們可以將公寓號碼定義為:{type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

選用。資料的預設值。

ref

string

選用。允許結構定義節點之間間接參照。值應為根 defs 子項的有效參照。

舉例來說,下列結構定義定義了名為「Pet」的結構定義節點參照:

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

「pet」屬性的值是名為「Pet」的結構定義節點參照。詳情請參閱 https://json-schema.org/understanding-json-schema/structuring。

defs

map (key: string, value: object (Schema))

選用。ref 使用的定義對應。只能在結構定義的根層級使用。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

title

string

選用。結構定義的標題。

minItems

string (int64 format)

選用。Type.ARRAY 的元素數量下限。

maxItems

string (int64 format)

選用。Type.ARRAY 的元素數量上限。

聯集欄位 _minimum。

_minimum 只能是下列其中一個設定:

minimum

number

選用。Type.INTEGER 和 Type.NUMBER 的最小值。

聯集欄位 _maximum。

_maximum 只能是下列其中一個設定:

maximum

number

選用。Type.INTEGER 和 Type.NUMBER 的最大值。

PropertiesEntry

JSON 表示法
{
  "key": string,
  "value": {
    object (Schema)
  }
}
欄位
key

string

value

object (Schema)

值

JSON 表示法
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
欄位
聯集欄位 kind。值的種類。kind 只能是下列其中一個設定:
nullValue

null

代表 JSON null。

numberValue

number

代表 JSON 數字。不得為 NaN、Infinity 或 -Infinity,因為 JSON 不支援這些值。此外,這也無法代表大型 Int64 值,因為 JSON 格式通常不支援數字類型的 Int64 值。

stringValue

string

代表 JSON 字串。

boolValue

boolean

代表 JSON 布林值 (JSON 中的 true 或 false 常值)。

structValue

object (Struct format)

代表 JSON 物件。

listValue

array (ListValue format)

代表 JSON 陣列。

結構

JSON 表示法
{
  "fields": {
    string: value,
    ...
  }
}
欄位
fields

map (key: string, value: value (Value format))

動態類型值的無序對應。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

FieldsEntry

JSON 表示法
{
  "key": string,
  "value": value
}
欄位
key

string

value

value (Value format)

ListValue

JSON 表示法
{
  "values": [
    value
  ]
}
欄位
values[]

value (Value format)

動態類型值的重複欄位。

DefsEntry

JSON 表示法
{
  "key": string,
  "value": {
    object (Schema)
  }
}
欄位
key

string

value

object (Schema)

DataStoreSettings

JSON 表示法
{
  "engines": [
    {
      object (Engine)
    }
  ]
}
欄位
engines[]

object (Engine)

僅供輸出。應用程式的引擎。

引擎

JSON 表示法
{
  "name": string,
  "type": enum (Type)
}
欄位
name

string

僅供輸出。引擎的資源名稱。格式:projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

type

enum (Type)

僅供輸出。引擎類型。

ChannelProfile

JSON 表示法
{
  "profileId": string,
  "channelType": enum (ChannelType),
  "personaProperty": {
    object (PersonaProperty)
  },
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "whatsappConfig": {
    object (WhatsAppConfig)
  },
  "instagramConfig": {
    object (InstagramConfig)
  },

  // Union field _disable_dtmf can be only one of the following:
  "disableDtmf": boolean
  // End of list of possible types for union field _disable_dtmf.

  // Union field _disable_barge_in_control can be only one of the following:
  "disableBargeInControl": boolean
  // End of list of possible types for union field _disable_barge_in_control.

  // Union field _noise_suppression_level can be only one of the following:
  "noiseSuppressionLevel": string
  // End of list of possible types for union field _noise_suppression_level.
}
欄位
profileId

string

選用。管道設定檔的專屬 ID。

channelType

enum (ChannelType)

選用。管道設定檔的類型。

personaProperty

object (PersonaProperty)

選用。頻道個人資料的人物角色屬性。

webWidgetConfig

object (WebWidgetConfig)

選用。網頁小工具的設定。

whatsappConfig

object (WhatsAppConfig)

選用。WhatsApp 部署作業專屬設定。

instagramConfig

object (InstagramConfig)

選用。Instagram 部署作業專屬設定。

聯集欄位 _disable_dtmf。

_disable_dtmf 只能是下列其中一個設定:

disableDtmf

boolean

選用。是否停用 DTMF (雙音多頻)。

聯集欄位 _disable_barge_in_control。

_disable_barge_in_control 只能是下列其中一個設定:

disableBargeInControl

boolean

選用。是否停用對話中的使用者插話控制項。- true:代理說話時,使用者無法中斷。- false:代理會自動控制使用者何時可以中斷。

聯集欄位 _noise_suppression_level。

_noise_suppression_level 只能是下列其中一個設定:

noiseSuppressionLevel

string

選用。頻道設定檔的雜訊抑制等級。可用值為「low」、「moderate」、「high」、「very_high」。

PersonaProperty

JSON 表示法
{
  "persona": enum (Persona)
}
欄位
persona

enum (Persona)

選用。頻道的人物設定。

WebWidgetConfig

JSON 表示法
{
  "modality": enum (Modality),
  "theme": enum (Theme),
  "webWidgetTitle": string,
  "securitySettings": {
    object (SecuritySettings)
  }
}
欄位
modality

enum (Modality)

選用。網頁小工具的模態。

theme

enum (Theme)

選用。網頁小工具的主題。

webWidgetTitle

string

選用。網頁小工具的標題。

securitySettings

object (SecuritySettings)

選用。網頁小工具的安全性設定。

SecuritySettings

JSON 表示法
{
  "enablePublicAccess": boolean,
  "enableOriginCheck": boolean,
  "allowedOrigins": [
    string
  ],
  "enableRecaptcha": boolean
}
欄位
enablePublicAccess

boolean

選用。指出是否已啟用網頁小工具的公開存取權。如果設為 true,則可公開存取網頁小工具。如果設為 false,網頁小工具必須與您自己的驗證和授權系統整合,才能傳回有效的憑證,用於存取 CES 代理。

enableOriginCheck

boolean

選用。指出是否啟用網頁小工具的來源檢查。如果 true,網頁小工具會檢查載入網頁小工具的網站來源,且只允許在相同來源或任何允許的來源中載入。

allowedOrigins[]

string

選用。允許託管網頁小工具的來源。來源由 RFC 6454 定義。如果留空,則允許所有來源。最多可設定 100 個來源。例如:「https://example.com」

enableRecaptcha

boolean

選用。指出是否已啟用網頁小工具的 reCAPTCHA 驗證。

WhatsAppConfig

JSON 表示法
{
  "wabaId": string,
  "phoneNumberId": string,
  "phoneNumber": string,
  "displayName": string,
  "thumbnailUrl": string,
  "description": string
}
欄位
wabaId

string

這是必要旗標,WhatsApp Business 帳戶 ID。

phoneNumberId

string

這是必要旗標,Meta 電話號碼 ID。

phoneNumber

string

選用。電話號碼,格式為 E.164。

displayName

string

僅供輸出。擷取的 Meta 商家頁面名稱。

thumbnailUrl

string

僅供輸出。擷取的 Meta 商家檔案縮圖網址。

description

string

僅供輸出。Meta 商家專頁或商家檔案的說明。

InstagramConfig

JSON 表示法
{
  "instagramAccountId": string,
  "displayName": string,
  "thumbnailUrl": string,
  "description": string
}
欄位
instagramAccountId

string

這是必要旗標,Instagram 帳戶 ID。

displayName

string

僅供輸出。擷取的 Meta 商家頁面名稱。

thumbnailUrl

string

僅供輸出。擷取的 Meta 商家檔案縮圖網址。

description

string

僅供輸出。Meta 商家專頁或商家檔案的說明。

MetadataEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

ClientCertificateSettings

JSON 表示法
{
  "tlsCertificate": string,
  "privateKey": string,
  "passphrase": string
}
欄位
tlsCertificate

string

這是必要旗標,以 PEM 格式編碼的 TLS 憑證。這個字串必須包含開頭標頭和結尾頁尾行。

privateKey

string

這是必要旗標,SecretManager 密鑰版本資源的名稱,用於儲存以 PEM 格式編碼的私密金鑰。格式:projects/{project}/secrets/{secret}/versions/{version}

passphrase

string

選用。SecretManager Secret 版本資源的名稱,用於儲存解密私密金鑰的通關密語。如果私密金鑰未加密,請勿設定這個欄位。格式:projects/{project}/secrets/{secret}/versions/{version}

VpcScSettings

JSON 表示法
{
  "allowedOrigins": [
    string
  ]
}
欄位
allowedOrigins[]

string

選用。啟用 VPC Service Controls 時,應用程式中的 OpenAPI 工具可直接呼叫的允許 HTTP(S) 來源。這些字串必須與來源完全相符,包括指定的通訊埠。例如「https://example.com」或「https://example.com:443」。這份清單尚未套用至可能直接發出 HTTP 呼叫的 Python 工具。

DashboardSettings

JSON 表示法
{
  "defaultDashboard": string
}
欄位
defaultDashboard

string

選用。與應用程式相關聯的預設 Contact Center Insights 資訊主頁資源名稱。使用者前往應用程式的「監控」檢視畫面時,就會看到這個資訊主頁。

格式:projects/{project}/locations/{location}/dashboards/{dashboard}

代理

JSON 表示法
{
  "name": string,
  "displayName": string,
  "description": string,
  "modelSettings": {
    object (ModelSettings)
  },
  "instruction": string,
  "tools": [
    string
  ],
  "childAgents": [
    string
  ],
  "beforeAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "guardrails": [
    string
  ],
  "etag": string,
  "toolsets": [
    {
      object (AgentToolset)
    }
  ],
  "generatedSummary": string,
  "transferRules": [
    {
      object (TransferRule)
    }
  ],
  "validationErrors": [
    string
  ],

  // Union field agent_type can be only one of the following:
  "llmAgent": {
    object (LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (RemoteDialogflowAgent)
  },
  "remoteA2aAgent": {
    object (RemoteA2aAgent)
  }
  // End of list of possible types for union field agent_type.
}
欄位
name

string

ID。代理的專屬 ID。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

這是必要旗標,代理的顯示名稱。

description

string

選用。人類可讀的代理說明。

modelSettings

object (ModelSettings)

選用。LLM 模型的設定。

instruction

string

選用。給 LLM 模型的指令,用於引導代理的行為。

tools[]

string

選用。代理可用的工具清單。格式:projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

選用。代理樹狀結構中的子代理清單。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

選用。呼叫代理前要執行的回呼。系統會按照清單中的順序,依序執行提供的回呼。如果回呼傳回覆寫的回應,執行作業就會停止,並略過其餘回呼。

afterAgentCallbacks[]

object (Callback)

選用。呼叫代理後要執行的回呼。系統會按照清單中的順序,依序執行提供的回呼。如果回呼傳回覆寫的回應,執行作業就會停止,並略過其餘回呼。

beforeModelCallbacks[]

object (Callback)

選用。呼叫模型前要執行的回呼。如果多次呼叫模型,回呼就會執行多次。系統會按照清單中的順序,依序執行提供的回呼。如果回呼傳回覆寫的回應,執行作業就會停止,並略過其餘回呼。

afterModelCallbacks[]

object (Callback)

選用。呼叫模型後要執行的回呼。如果多次呼叫模型,回呼就會執行多次。系統會按照清單中的順序,依序執行提供的回呼。如果回呼傳回覆寫的回應,執行作業就會停止,並略過其餘回呼。

beforeToolCallbacks[]

object (Callback)

選用。叫用工具前要執行的回呼。如果有多個工具叫用,回呼會執行多次。系統會按照清單中的順序,依序執行提供的回呼。如果回呼傳回覆寫的回應,執行作業就會停止,並略過其餘回呼。

afterToolCallbacks[]

object (Callback)

選用。叫用工具後要執行的回呼。如果有多個工具叫用,回呼會執行多次。系統會按照清單中的順序,依序執行提供的回呼。如果回呼傳回覆寫的回應,執行作業就會停止,並略過其餘回呼。

createTime

string (Timestamp format)

僅供輸出。建立代理的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

僅供輸出。上次更新代理程式的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

guardrails[]

string

選用。代理的護欄清單。格式:projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

Etag 可確保物件在讀取-修改-寫入作業期間未變更。如果 etag 為空白,更新作業會覆寫所有並行變更。

toolsets[]

object (AgentToolset)

選用。代理的工具組清單。

generatedSummary

string

僅供輸出。如果代理是由 LLM 助理生成,這個欄位會包含生成作業的摘要說明。

transferRules[]

object (TransferRule)

選用。代理轉移規則。如果有多項規則符合條件,系統會使用清單中的第一項規則。

validationErrors[]

string

僅供輸出。代理設定錯誤或有誤,可能影響代理品質。

聯集欄位 agent_type。代理類型。agent_type 只能是下列其中一個設定:
llmAgent

object (LlmAgent)

選用。預設代理類型。

remoteDialogflowAgent

object (RemoteDialogflowAgent)

選用。用於執行代理的遠端 Dialogflow 代理。如果設定這個欄位,系統會忽略所有其他代理層級屬性。

注意:如果 Dialogflow 代理與應用程式位於不同專案,請將 roles/dialogflow.client 授予 CES 服務代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com。

remoteA2aAgent

object (RemoteA2aAgent)

選用。用於執行代理的遠端 A2A 代理。

RemoteDialogflowAgent

JSON 表示法
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
欄位
agent

string

這是必要旗標,Dialogflow 代理資源名稱。格式:projects/{project}/locations/{location}/agents/{agent}

flowId

string

選用。Dialogflow 代理中流程的流程 ID。

environmentId

string

選用。要用於執行代理的 Dialogflow 代理環境 ID。如未指定,系統會使用草稿環境。

inputVariableMapping

map (key: string, value: string)

選用。應用程式變數名稱與 Dialogflow 工作階段參數名稱的對應關係,會傳送至 Dialogflow 代理做為輸入內容。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

outputVariableMapping

map (key: string, value: string)

選用。Dialogflow 代理執行結束後,Dialogflow 工作階段參數名稱與應用程式變數名稱的對應關係,會傳回 CES 代理。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

respectResponseInterruptionSettings

boolean

選用。指出是否要遵循 Dialogflow 代理中設定的訊息層級中斷設定。

  • 如果設為 false,Dialogflow 代理的所有回覆訊息都會遵循應用程式層級的插話設定。
  • 如果設為 true:只有 allow_playback_interruption 設為 true 的回覆訊息可中斷,其他訊息則會遵循應用程式層級的插話設定。
languageCodeVariable

string

選用。變數名稱,包含要用於 Dialogflow 工作階段的語言代碼。如未指定,系統會使用 Dialogflow 代理的預設語言代碼。

InputVariableMappingEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

OutputVariableMappingEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

RemoteA2aAgent

JSON 表示法
{
  "a2aConfig": {
    object (RemoteA2aConfig)
  }
}
欄位
a2aConfig

object (RemoteA2aConfig)

這是必要旗標,A2A 連線設定。

RemoteA2aConfig

JSON 表示法
{
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "streamingEnabled": boolean,
  "contextId": string,

  // Union field agent_spec can be only one of the following:
  "agentCard": {
    object (AgentCard)
  },
  "agentRegistry": string
  // End of list of possible types for union field agent_spec.
}
欄位
apiAuthentication

object (ApiAuthentication)

選用。呼叫遠端代理的驗證設定。如果登錄檔參照已處理驗證,則為選用。

inputVariableMapping

map (key: string, value: string)

選用。將遠端代理的輸入變數名稱對應至 GECX 變數名稱。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

outputVariableMapping

map (key: string, value: string)

選用。將遠端代理的輸出變數名稱對應至 GECX 變數名稱。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

streamingEnabled

boolean

選用。是否為遠端代理程式啟用串流功能。

contextId

string

選用。如果不是空白,與遠端 A2A 代理的互動就會使用這個情境 ID。這個 context_id 欄位可以參照 $context.variables.order_agent_session_id 等工作階段變數。

聯集欄位 agent_spec。遠端代理規格。agent_spec 只能是下列其中一個設定:
agentCard

object (AgentCard)

選用。內嵌定義的完整代理資訊卡。

agentRegistry

string

選用。Agent Registry 中的代理參照。格式:projects/{project}/locations/{location}/agents/{agent}

AgentCard

JSON 表示法
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
欄位
name

string

這是必要旗標,人類可讀的代理名稱。

description

string

這是必要旗標,說明代理的動作/解決方案空間。

supportedInterfaces[]

object (AgentInterface)

這是必要旗標,支援介面的排序清單。系統會優先使用第一個項目。

version

string

這是必要旗標,代理的版本。

skills[]

object (AgentSkill)

這是必要旗標,技能代表代理可執行的能力單位。這可能有點抽象,但代表代理高度可能成功的一組更聚焦的動作。

AgentInterface

JSON 表示法
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
欄位
url

string

這是必要旗標,這個介面的網址。必須是正式環境中有效的絕對 HTTPS 網址。例如:「https://api.example.com/a2a/v1」、「https://grpc.example.com/a2a」

protocolBinding

string

這是必要旗標,這個網址支援的通訊協定繫結。這是開放式表單字串,可輕鬆擴充至其他通訊協定繫結。官方支援的核心程式庫為 JSONRPC、GRPC 和 HTTP+JSON。

tenant

string

呼叫代理時,要求中要使用的租戶 ID。

protocolVersion

string

這是必要旗標,這個介面公開的 A2A 通訊協定版本。請使用各主要版本支援的最新子版本。例如:「0.3」、「1.0」

AgentSkill

JSON 表示法
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
欄位
id

string

這是必要旗標,代理技能的專屬 ID。

name

string

這是必要旗標,人類可讀的技能名稱。

description

string

這是必要旗標,技能的詳細說明。

tags[]

string

這是必要旗標,一組描述技能功能的關鍵字。

examples[]

string

這項技能可處理的提示或情境範例。

inputModes[]

string

這項技能支援的輸入媒體類型組合,會覆寫代理的預設值。

outputModes[]

string

這項技能支援的輸出媒體類型組合,會覆寫代理的預設值。

ApiAuthentication

JSON 表示法
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
欄位
聯集欄位 auth_config。驗證設定。auth_config 只能是下列其中一個設定:
apiKeyConfig

object (ApiKeyConfig)

選用。API 金鑰驗證設定。

oauthConfig

object (OAuthConfig)

選用。OAuth 設定。

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

選用。CES 服務代理產生的 ID 權杖驗證設定。

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

選用。服務帳戶驗證設定。

bearerTokenConfig

object (BearerTokenConfig)

選用。不記名權杖驗證的設定。

ApiKeyConfig

JSON 表示法
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
欄位
keyName

string

這是必要旗標,API 金鑰的參數名稱或標頭名稱。例如:如果 API 要求是「https://example.com/act?X-Api-Key=」,「X-Api-Key」就是參數名稱。

apiKeySecretVersion

string

這是必要旗標,儲存 API 金鑰的 SecretManager 密鑰版本資源名稱。格式:projects/{project}/secrets/{secret}/versions/{version}

注意:請將 roles/secretmanager.secretAccessor 角色授予 CES 服務代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com。

requestLocation

enum (RequestLocation)

這是必要旗標,要求中的金鑰位置。

OAuthConfig

JSON 表示法
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
欄位
oauthGrantType

enum (OauthGrantType)

這是必要旗標,OAuth 授權類型。

clientId

string

這是必要旗標,OAuth 供應商提供的用戶端 ID。

clientSecretVersion

string

這是必要旗標,儲存用戶端密鑰的 SecretManager 密鑰版本資源名稱。格式:projects/{project}/secrets/{secret}/versions/{version}

注意:請將 roles/secretmanager.secretAccessor 角色授予 CES 服務代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com。

tokenEndpoint

string

這是必要旗標,OAuth 供應商中的權杖端點,用於換取存取權杖。

scopes[]

string

選用。要授予的 OAuth 範圍。

ServiceAccountAuthConfig

JSON 表示法
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
欄位
serviceAccount

string

這是必要旗標,用於驗證的服務帳戶電子郵件地址。CES 會使用這個服務帳戶交換存取權杖,然後在要求的 Authorization 標頭中傳送存取權杖。

服務帳戶必須將 roles/iam.serviceAccountTokenCreator 角色授予 CES 服務代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com。

scopes[]

string

選用。要授予的 OAuth 範圍。如未指定,系統會使用預設範圍 https://www.googleapis.com/auth/cloud-platform。

BearerTokenConfig

JSON 表示法
{
  "token": string
}
欄位
token

string

這是必要旗標,不記名權杖。格式必須為 $context.variables.<name_of_variable>。

InputVariableMappingEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

OutputVariableMappingEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

回撥電話

JSON 表示法
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
欄位
description

string

選用。人類可讀的回呼說明。

disabled

boolean

選用。回呼是否已停用。代理會忽略停用的回呼。

proactiveExecutionEnabled

boolean

選用。如果啟用,回呼也會在中間模型輸出內容上執行。這項設定只會影響 After Model 回呼。請謹慎啟用。一般來說,After Model 回呼只需在收到所有模型回覆後執行。啟用主動執行功能可能會對執行成本和延遲時間產生負面影響,因此請只在少數情況下啟用。

聯集欄位 callback。要執行的回呼。callback 只能是下列其中一個設定:
pythonCode

string

這是必要旗標,要為回呼執行的 Python 程式碼。

AgentToolset

JSON 表示法
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
欄位
toolset

string

這是必要旗標,工具集的資源名稱。格式:projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

選用。用於篩選工具集的工具 ID。

TransferRule

JSON 表示法
{
  "childAgent": string,
  "direction": enum (Direction),

  // Union field rule_type can be only one of the following:
  "deterministicTransfer": {
    object (DeterministicTransfer)
  },
  "disablePlannerTransfer": {
    object (DisablePlannerTransfer)
  }
  // End of list of possible types for union field rule_type.
}
欄位
childAgent

string

這是必要旗標,規則適用的子代理資源名稱。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (Direction)

這是必要旗標,移轉方向。

聯集欄位 rule_type。規則類型。rule_type 只能是下列其中一個設定:
deterministicTransfer

object (DeterministicTransfer)

選用。符合條件時,立即轉移至目標代理的規則。

disablePlannerTransfer

object (DisablePlannerTransfer)

選用。禁止規劃工具轉移至目標代理的規則。

DeterministicTransfer

JSON 表示法
{

  // Union field condition_type can be only one of the following:
  "expressionCondition": {
    object (ExpressionCondition)
  },
  "pythonCodeCondition": {
    object (PythonCodeCondition)
  }
  // End of list of possible types for union field condition_type.
}
欄位
聯集欄位 condition_type。要評估的條件。condition_type 只能是下列其中一個設定:
expressionCondition

object (ExpressionCondition)

選用。評估工作階段狀態條件的規則。如果條件評估結果為 true,就會執行移轉作業。

pythonCodeCondition

object (PythonCodeCondition)

選用。使用 Python 程式碼區塊評估條件的規則。如果條件評估結果為 true,就會執行移轉作業。

ExpressionCondition

JSON 表示法
{
  "expression": string
}
欄位
expression

string

這是必要旗標,cloud.api.Expression 條件的字串表示法。

PythonCodeCondition

JSON 表示法
{
  "pythonCode": string
}
欄位
pythonCode

string

這是必要旗標,要執行的 Python 程式碼。

DisablePlannerTransfer

JSON 表示法
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
欄位
expressionCondition

object (ExpressionCondition)

這是必要旗標,如果條件評估結果為 true,規劃工具就無法轉移至目標代理。

工具

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

  // Union field tool_type can be only one of the following:
  "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 list of possible types for union field tool_type.
}
欄位
name

string

ID。工具的資源名稱。格式:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool}:獨立工具。
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool}:從工具集擷取的工具。

這些工具是動態的,且僅限輸出,無法在預期使用工具的地方直接參照。

displayName

string

僅供輸出。工具的顯示名稱,根據工具類型衍生。舉例來說,[ClientFunction][Tool.ClientFunction] 的顯示名稱衍生自其 name 屬性。

executionType

enum (ExecutionType)

選用。工具的執行類型。

timeout

string (Duration format)

選用。工具執行作業的逾時時間。如未設定,SYNCHRONOUS 工具的預設逾時時間為 30 秒,ASYNCHRONOUS 工具則為 60 秒。

以秒為單位的時間長度,最多 9 個小數位數,結尾為「s」。例如:"3.5s"。

createTime

string (Timestamp format)

僅供輸出。工具的建立時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

僅供輸出。上次更新工具的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

etag

string

Etag 可確保物件在讀取-修改-寫入作業期間未變更。如果 etag 為空白,更新作業會覆寫所有並行變更。

generatedSummary

string

僅供輸出。如果工具是由 LLM 助理生成,這個欄位會包含生成內容的摘要說明。

toolFakeConfig

object (ToolFakeConfig)

選用。模擬模式中的工具行為設定。

readOnly

boolean

僅供輸出。指出工具是否為唯讀。如果設為 true,使用者就無法修改工具。

聯集欄位 tool_type。工具類型。tool_type 只能是下列其中一個設定:
clientFunction

object (ClientFunction)

選用。用戶端函式。

openApiTool

object (OpenApiTool)

選用。開放式 API 工具。

googleSearchTool

object (GoogleSearchTool)

選用。Google 搜尋工具。

connectorTool

object (ConnectorTool)

選用。Integration Connector 工具。

dataStoreTool

object (DataStoreTool)

選用。資料儲存庫工具。

pythonFunction

object (PythonFunction)

選用。Python 函式工具。

mcpTool

object (McpTool)

選用。MCP 工具。MCP 工具無法直接建立或更新,而是由 MCP 工具集管理。

fileSearchTool

object (FileSearchTool)

選用。檔案搜尋工具。

systemTool

object (SystemTool)

選用。系統工具。

agentTool

object (AgentTool)

選用。代理工具。

widgetTool

object (WidgetTool)

選用。小工具。

remoteAgentTool

object (RemoteAgentTool)

選用。遠端代理工具。

ClientFunction

JSON 表示法
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
欄位
name

string

這是必要旗標,函式名稱。

description

string

選用。函式說明。

parameters

object (Schema)

選用。函式參數的結構定義。

response

object (Schema)

選用。函式回應的結構定義。

OpenApiTool

JSON 表示法
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
欄位
openApiSchema

string

這是必要旗標,JSON 或 YAML 格式的 OpenAPI 結構定義。

name

string

選用。工具名稱。如未提供,工具名稱會衍生自 OpenAPI 結構定義,來自 operation.operationId。

description

string

選用。工具說明。如未提供,系統會從 OpenAPI 結構定義、operation.description 或 operation.summary 衍生工具說明。

apiAuthentication

object (ApiAuthentication)

選用。API 所需的驗證資訊。

tlsConfig

object (TlsConfig)

選用。TLS 設定。包含用戶端信任的自訂伺服器憑證。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

選用。Service Directory 設定。

ignoreUnknownFields

boolean

選用。如果設為 true,代理會忽略 API 回應中的不明欄位。

url

string

選用。Open API 架構的伺服器網址。如果結構定義包含伺服器網址,則只有在匯出程序期間,環境依附元件中的工具才會設定這個欄位。匯入期間,如果環境依附元件中有這個網址,且結構定義含有 $env_var 預留位置,系統就會替換結構定義中的預留位置。

TlsConfig

JSON 表示法
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
欄位
caCerts[]

object (CaCert)

這是必要旗標,指定允許用於 HTTPS 驗證的自訂 CA 憑證清單。

CaCert

JSON 表示法
{
  "displayName": string,
  "cert": string
}
欄位
displayName

string

這是必要旗標,允許的自訂 CA 憑證名稱。這可用於區分自訂 CA 憑證。

cert

string (bytes format)

這是必要旗標,用於 HTTPS 驗證的允許自訂 CA 憑證 (DER 格式)。這會覆寫預設 SSL 信任存放區。如果這個欄位留空或未指定,CES 會使用 Google 的預設信任存放區驗證憑證。注意:請確認 HTTPS 伺服器憑證是以「主體別名」簽署。舉例來說,您可以使用下列指令自行簽署憑證:

   openssl x509 -req -days 200 -in example.com.csr \
     -signkey example.com.key \
     -out example.com.crt \
     -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Base64 編碼字串。

ServiceDirectoryConfig

JSON 表示法
{
  "service": string
}
欄位
service

string

這是必要旗標,Service Directory 服務的名稱。格式:projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}。服務目錄的位置必須與應用程式的位置相同。

GoogleSearchTool

JSON 表示法
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
欄位
name

string

這是必要旗標,工具名稱。

description

string

選用。工具用途說明。

contextUrls[]

string

選用。系統會直接從這些網址擷取內容,做為背景資訊和基準。例如:「https://example.com/path.html」。最多只能輸入 20 個網址。

preferredDomains[]

string

選用。指定要限制搜尋結果的網域。例如:「example.com」、「another.site」。最多可以指定 20 個網域。

excludeDomains[]

string

選用。要從搜尋結果中排除的網域清單。例如:「example.com」。最多可排除 2,000 個網域。

promptConfig

object (PromptConfig)

選用。傳送給規劃器的提示指令,說明如何處理文字和語音的搜尋結果。

PromptConfig

JSON 表示法
{
  "textPrompt": string,
  "voicePrompt": string
}
欄位
textPrompt

string

選用。定義在即時通訊對話中與代理互動時,系統指令使用的提示詞。如未設定,系統會使用預設提示。

voicePrompt

string

選用。定義與代理進行語音對話時,系統指令使用的提示詞。如未設定,系統會使用預設提示。

ConnectorTool

JSON 表示法
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
欄位
connection

string

這是必要旗標,參照的 Integration Connectors 連線完整資源名稱。格式:projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

這是必要旗標,工具要執行的動作。

authConfig

object (EndUserAuthConfig)

選用。設定 Integration Connectors 處理驗證的方式。根據預設,Integration Connectors API 要求會傳遞管理員驗證。您可以使用其他使用者驗證設定覆寫這項設定。注意:連線必須啟用驗證覆寫功能,才能在這裡指定 EUC 設定,否則 ConnectorTool 建立作業會失敗。詳情請參閱 https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override。

name

string

選用。代理可使用的工具名稱,用於決定是否呼叫這個 ConnectorTool。

description

string

選用。工具說明,代理可依據這項資訊決定是否呼叫這個 ConnectorTool。

動作

JSON 表示法
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
欄位
inputFields[]

string

選用。要用做作業輸入內容的實體欄位。如未指定任何欄位,系統會使用實體的所有欄位。

outputFields[]

string

選用。作業要傳回的實體欄位。如未指定任何欄位,系統會傳回實體的所有欄位。

聯集欄位 action_spec。指定要為工具設定的動作。action_spec 只能是下列其中一個設定:
connectionActionId

string

工具要使用的連線動作 ID。

entityOperation

object (EntityOperation)

工具要使用的實體作業設定。

EntityOperation

JSON 表示法
{
  "entityId": string,
  "operation": enum (OperationType)
}
欄位
entityId

string

這是必要旗標,實體的 ID。

operation

enum (OperationType)

這是必要旗標,要對實體執行的作業。

EndUserAuthConfig

JSON 表示法
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
欄位
聯集欄位 auth_config。驗證設定。auth_config 只能是下列其中一個設定:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

OAuth 2.0 授權碼驗證。

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

JWT 設定檔 OAuth 2.0 授權許可驗證。

Oauth2AuthCodeConfig

JSON 表示法
{
  "oauthToken": string
}
欄位
oauthToken

string

這是必要旗標,要傳遞的 OAuth 權杖參數名稱。格式必須為 $context.variables.<name_of_variable>。

Oauth2JwtBearerConfig

JSON 表示法
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
欄位
issuer

string

這是必要旗標,要傳遞的核發者參數名稱。格式必須為 $context.variables.<name_of_variable>。

subject

string

這是必要旗標,要傳遞的主體參數名稱。格式必須為 $context.variables.<name_of_variable>。

clientKey

string

這是必要旗標,要傳遞的用戶端參數名稱。格式必須為 $context.variables.<name_of_variable>。

DataStoreTool

JSON 表示法
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (FilterParameterBehavior),

  // Union field search_source can be only one of the following:
  "dataStoreSource": {
    object (DataStoreSource)
  },
  "engineSource": {
    object (EngineSource)
  }
  // End of list of possible types for union field search_source.
}
欄位
name

string

這是必要旗標,資料儲存庫工具名稱。

description

string

選用。工具說明。

boostSpecs[]

object (BoostSpecs)

選用。提升規格,提高特定文件的排名。

modalityConfigs[]

object (ModalityConfig)

選用。資料儲存庫的模態設定。

filterParameterBehavior

enum (FilterParameterBehavior)

選用。篩選器參數行為。

聯集欄位 search_source。定義搜尋來源,可以是單一 DataStore 或引擎。search_source 只能是下列其中一個設定:
dataStoreSource

object (DataStoreSource)

選用。在單一特定 DataStore 中搜尋。

engineSource

object (EngineSource)

選用。在引擎內搜尋 (可能跨多個資料儲存庫)。

DataStoreSource

JSON 表示法
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
欄位
filter

string

選用。DataStore 的篩選器規格。請參閱:https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

選用。資料儲存庫。

DataStore

JSON 表示法
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
欄位
name

string

這是必要旗標,DataStore 的完整資源名稱。格式:projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

僅供輸出。資料儲存庫的類型。這個欄位為唯讀,由伺服器填入。

documentProcessingMode

enum (DocumentProcessingMode)

僅供輸出。資料儲存庫連線的文件處理模式。僅適用於 PUBLIC_WEB 和 UNSTRUCTURED 資料儲存庫。

displayName

string

僅供輸出。資料儲存庫的顯示名稱。

createTime

string (Timestamp format)

僅供輸出。資料儲存庫的建立時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

connectorConfig

object (ConnectorConfig)

僅供輸出。資料儲存庫連線的連接器設定。

ConnectorConfig

JSON 表示法
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
欄位
collection

string

資料儲存庫所屬集合的資源名稱。

collectionDisplayName

string

資料儲存庫所屬集合的顯示名稱。

dataSource

string

資料來源名稱。例如:salesforce、jira、confluence、bigquery。

EngineSource

JSON 表示法
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
欄位
engine

string

這是必要旗標,引擎的完整資源名稱。格式:projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

選用。用於指定引擎內的特定 DataStore。如果留空,搜尋範圍會套用至與引擎相關聯的所有資料儲存庫。

filter

string

選用。套用至引擎搜尋的篩選器。如果提供「data_store_sources」,則不相關且不使用。請參閱:https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

JSON 表示法
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
欄位
dataStores[]

string

這是必要旗標,套用提升設定的資料儲存庫。DataStore 的完整資源名稱,例如 projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}。

spec[]

object (BoostSpec)

這是必要旗標,增強規格清單。

BoostSpec

JSON 表示法
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
欄位
conditionBoostSpecs[]

object (ConditionBoostSpec)

這是必要旗標,增強規格清單。

ConditionBoostSpec

JSON 表示法
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
欄位
condition

string

這是必要旗標,指定提升條件的運算式。語法與篩選運算式語法相同。目前唯一支援的條件是 BCP-47 語言代碼清單。範例:如要提高英文或法文建議的排名,請輸入 (lang_code: ANY("en", "fr"))

boost

number

選用。增強程度,應介於 [-1, 1] 之間。如果設為負值,即代表降低排名。預設值為 0.0。

設為 1.0 可大幅提高建議排名。不過,這並不代表經過增強的建議一定會顯示在搜尋結果頂端。

設為 -1.0 則會大幅降低建議排名。但系統仍可能顯示其他相關建議。

設為 0.0 表示不套用增強。系統會忽略提升條件。

boostControlSpec

object (BoostControlSpec)

選用。根據客戶定義的屬性值,自訂排名的複雜規格。

BoostControlSpec

JSON 表示法
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
欄位
fieldName

string

選用。欄位名稱,系統會根據該欄位的值決定提升幅度。

attributeType

enum (AttributeType)

選用。用來決定提升幅度的屬性類型。屬性值可從指定 field_name 的欄位值衍生。如果是數值,則很簡單,即 attribute_value = numerical_field_value。不過,如果是新鮮度,attribute_value = (time.now() - datetime_field_value)。

interpolationType

enum (InterpolationType)

選用。要套用的內插類型,用於連接下方列出的控制點。

controlPoints[]

object (ControlPoint)

選用。用來定義曲線的控制點。單調函式 (透過上述 interpolation_type 定義) 會通過此處列出的控制點。

ControlPoint

JSON 表示法
{
  "attributeValue": string,
  "boostAmount": number
}
欄位
attributeValue

string

選用。可以是下列其中一項:1. 數值欄位值。2. 新鮮度時間長度規格:值必須採用 XSD dayTimeDuration 格式 (ISO 8601 時間長度值的受限子集)。模式如下:[nD][T[nH][nM][nS]]。

boostAmount

number

選用。如果 attribute_value 評估為上述指定值,則分數會提高 -1 到 1 之間的值。

ModalityConfig

JSON 表示法
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
欄位
modalityType

enum (ModalityType)

這是必要旗標,模態類型。

rewriterConfig

object (RewriterConfig)

選用。重寫器設定。

summarizationConfig

object (SummarizationConfig)

選用。摘要設定。

groundingConfig

object (GroundingConfig)

選用。基準設定。

snippetsConfig

object (SnippetsConfig)

選用。摘要設定。

RewriterConfig

JSON 表示法
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
欄位
modelSettings

object (ModelSettings)

這是必要旗標,LLM 模型的設定。

prompt

string

選用。提示詞定義。如未設定,系統會使用預設提示。

disabled

boolean

選用。是否停用重寫器。

SummarizationConfig

JSON 表示法
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
欄位
modelSettings

object (ModelSettings)

選用。LLM 模型的設定。

prompt

string

選用。提示詞定義。如未設定,系統會使用預設提示。

disabled

boolean

選用。是否停用摘要功能。

GroundingConfig

JSON 表示法
{
  "groundingLevel": number,
  "disabled": boolean
}
欄位
groundingLevel

number

選用。根據檢索來源,答案的依據性門檻。可設定的範圍為 [1, 5]。這個級別會做為答案依據程度的門檻,也就是說,如果回覆的依據程度分數低於門檻,系統就會改為只傳回相關摘要。

舉例來說,如果等級設為 3,則基準分數必須達到 3 以上,系統才會傳回回覆。

disabled

boolean

選用。是否停用基準建立功能。

SnippetsConfig

JSON 表示法
{
  "enableSnippets": boolean,
  "maxSnippets": integer
}
欄位
enableSnippets

boolean

選用。是否啟用摘要。

maxSnippets

integer

選用。每項查詢傳回的摘要數量。如未設定,系統預設會傳回服務的所有程式碼片段。

PythonFunction

JSON 表示法
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
欄位
name

string

選用。要執行的 Python 函式名稱。必須與 Python 程式碼中定義的 Python 函式名稱相符。區分大小寫,如未提供名稱,系統會使用 Python 程式碼中定義的第一個函式。

pythonCode

string

選用。工具要執行的 Python 程式碼。

description

string

僅供輸出。Python 函式的說明,從 Python 程式碼的 docstring 剖析而來。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

選用。工具的 Service Directory 設定。

McpTool

JSON 表示法
{
  "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 (State)
}
欄位
name

string

這是必要旗標,MCP 工具的名稱。

nameOverride

string

選用。MCP 工具的覆寫名稱。如果名稱已由工具集覆寫,系統會填入這個欄位。

description

string

選用。MCP 工具的說明。

inputSchema

object (Schema)

選用。MCP 工具輸入引數的結構定義。

outputSchema

object (Schema)

選用。MCP 工具輸出引數的結構定義。

serverAddress

string

這是必要旗標,MCP 伺服器的伺服器位址,例如「https://example.com/mcp/」。如果伺服器是使用 MCP SDK 建構,網址結尾應為「/mcp/」。僅支援以可串流 HTTP 傳輸為基礎的伺服器。這與 McpToolset 中的 server_address 相同。詳情請參閱 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http。

apiAuthentication

object (ApiAuthentication)

選用。對 MCP 伺服器執行工具時,必須提供驗證資訊。使用不記名權杖驗證時,權杖僅適用於執行工具,不適用於列出工具。這表示工具必須在未經驗證的情況下列出。

tlsConfig

object (TlsConfig)

選用。TLS 設定。包含用戶端應信任的自訂伺服器憑證。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

選用。VPC-SC 的 Service Directory 設定,用於解析 perimeter 內的服務名稱。

customHeaders

map (key: string, value: string)

選用。要在傳送至 MCP 伺服器的要求中,加入的自訂標頭。值必須採用 $context.variables.<name_of_variable> 格式,且可在工作階段變數中設定。詳情請參閱 https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection。

包含 "key": value 組合清單的物件,例如 { "name": "wrench", "mass": "1.3kg", "count": "3" }。

state

enum (State)

僅供輸出。外部伺服器上工具的動態可用性狀態。

CustomHeadersEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

FileSearchTool

JSON 表示法
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
欄位
corpusType

enum (CorpusType)

選用。語料庫的類型。預設值為 FULLY_MANAGED。

name

string

這是必要旗標,工具名稱。

description

string

選用。工具說明。

fileCorpus

string

選用。儲存檔案的語料庫。格式:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

JSON 表示法
{
  "name": string,
  "description": string
}
欄位
name

string

這是必要旗標,系統工具的名稱。

description

string

僅供輸出。系統工具的說明。

AgentTool

JSON 表示法
{
  "name": string,
  "description": string,
  "agent": string
}
欄位
name

string

這是必要旗標,代理工具的名稱。

description

string

選用。工具用途說明。

agent

string

選用。工具進入點的代理資源名稱。格式:projects/{project}/locations/{location}/agents/{agent}

WidgetTool

JSON 表示法
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (DataMapping)
  },
  "textResponseConfig": {
    object (TextResponseConfig)
  },

  // Union field input can be only one of the following:
  "parameters": {
    object (Schema)
  }
  // End of list of possible types for union field input.
}
欄位
name

string

這是必要旗標,小工具工具的顯示名稱。

description

string

選用。小工具工具的說明。

widgetType

enum (WidgetType)

選用。小工具工具的類型。如未指定,預設類型為 CUSTOMIZED。

uiConfig

object (Struct format)

選用。用於顯示小工具的設定。

dataMapping

object (DataMapping)

選用。定義來源工具資料如何對應至小工具輸入參數的對應關係。

textResponseConfig

object (TextResponseConfig)

選用。一律包含的文字回覆設定。

聯集欄位 input。小工具工具的輸入內容。input 只能是下列其中一個設定:
parameters

object (Schema)

選用。小工具工具的輸入參數。

DataMapping

JSON 表示法
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
欄位
sourceToolName

string

選用。為小工具提供資料的工具資源名稱 (例如搜尋工具或自訂函式)。格式:projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

選用。小工具輸入參數欄位與來源工具對應輸出欄位的對應關係。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

pythonFunction

object (PythonFunction)

選用。Python 函式的設定,用於將來源工具的輸出內容轉換為小工具的輸入格式。

mode

enum (Mode)

選用。資料對應模式。

pythonScript
(deprecated)

string

已淘汰:請改用 python_function。

FieldMappingsEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

TextResponseConfig

JSON 表示法
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
欄位
type

enum (Type)

選用。提供文字回覆的策略。

staticText

string

選用。類型為 STATIC 時要傳回的靜態文字回應。

textResponseInstruction

string

選用。指示 LLM 如何生成文字回覆。如果類型為 LLM_GENERATED,則做為文字回覆參數的說明。

RemoteAgentTool

JSON 表示法
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  },
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "statefulAgent": boolean,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  }
}
欄位
name

string

這是必要旗標,工具名稱。

description

string

這是必要旗標,工具說明。

agentCard

object (AgentCard)

這是必要旗標,這項工具叫用的遠端代理資訊卡。

apiAuthentication

object (ApiAuthentication)

選用。呼叫遠端代理的驗證設定。

statefulAgent

boolean

選用。啟用後,CXAS 應用程式與遠端代理之間的互動會共用相同情境。如果遠端代理傳回 context_id,這個遠端代理工具的整個工作階段都會保留該 ID。

inputVariableMapping

map (key: string, value: string)

選用。將遠端代理的輸入變數名稱對應至 GECX 變數名稱。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

outputVariableMapping

map (key: string, value: string)

選用。將遠端代理的輸出變數名稱對應至 GECX 變數名稱。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

InputVariableMappingEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

OutputVariableMappingEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

ToolFakeConfig

JSON 表示法
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
欄位
enableFakeMode

boolean

選用。工具是否使用假模式。

聯集欄位 tool_response。回覆可以是靜態內容,也可以由 Python 函式提供。tool_response 只能是下列其中一個設定:
codeBlock

object (CodeBlock)

選用。要執行的程式碼區塊,而非實際工具呼叫。

CodeBlock

JSON 表示法
{
  "pythonCode": string
}
欄位
pythonCode

string

這是必要旗標,在工具模擬模式中叫用的 Python 程式碼。預期的 Python 函式簽章 - 擷取所有工具呼叫:def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 擷取特定工具呼叫:def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 如果函式傳回 None,系統會改為叫用實際工具。

範例

JSON 表示法
{
  "name": string,
  "displayName": string,
  "description": string,
  "entryAgent": string,
  "messages": [
    {
      object (Message)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "invalid": boolean,
  "etag": string
}
欄位
name

string

ID。範例的專屬 ID。格式:projects/{project}/locations/{location}/apps/{app}/examples/{example}

displayName

string

這是必要旗標,範例的顯示名稱。

description

string

選用。人類可讀的範例說明。

entryAgent

string

選用。一開始處理對話的代理。如未指定,範例代表由根代理處理的對話。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

messages[]

object (Message)

選用。構成對話的訊息集合。

createTime

string (Timestamp format)

僅供輸出。範例建立時間的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

僅供輸出。上次更新範例的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

invalid

boolean

僅供輸出。如果刪除參照資源,範例可能會失效。無效的範例不會做為少量樣本。

etag

string

Etag 可確保物件在讀取-修改-寫入作業期間未變更。如果 etag 為空白,更新作業會覆寫所有並行變更。

訊息

JSON 表示法
{
  "role": string,
  "chunks": [
    {
      object (Chunk)
    }
  ],
  "eventTime": string
}
欄位
role

string

選用。對話中的角色,例如使用者、代理。

chunks[]

object (Chunk)

選用。訊息內容,以一系列區塊呈現。

eventTime

string (Timestamp format)

選用。傳送或接收訊息的時間戳記。如果訊息是 example 的一部分,則不應使用。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

Chunk

JSON 表示法
{

  // Union field data can be only one of the following:
  "text": string,
  "transcript": string,
  "blob": {
    object (Blob)
  },
  "payload": {
    object
  },
  "image": {
    object (Image)
  },
  "toolCall": {
    object (ToolCall)
  },
  "toolResponse": {
    object (ToolResponse)
  },
  "agentTransfer": {
    object (AgentTransfer)
  },
  "updatedVariables": {
    object
  },
  "defaultVariables": {
    object
  }
  // End of list of possible types for union field data.
}
欄位
聯集欄位 data。將資料分塊。data 只能是下列其中一個設定:
text

string

選用。文字資料。

transcript

string

選用。與音訊相關聯的轉錄稿。

blob

object (Blob)

選用。Blob 資料。

payload

object (Struct format)

選用。自訂酬載資料。

image

object (Image)

選用。圖片資料。

toolCall

object (ToolCall)

選用。工具執行要求。

toolResponse

object (ToolResponse)

選用。工具執行回應。

agentTransfer

object (AgentTransfer)

選用。代理轉移事件。

updatedVariables

object (Struct format)

struct 代表對話中更新的變數,以變數名稱為鍵。

defaultVariables

object (Struct format)

struct 代表對話開始時的預設變數,以變數名稱為索引鍵。

Blob

JSON 表示法
{
  "mimeType": string,
  "data": string
}
欄位
mimeType

string

這是必要旗標,來源資料的 IANA 標準 MIME 類型。

data

string (bytes format)

這是必要旗標,Blob 的原始位元組。

Base64 編碼字串。

圖片

JSON 表示法
{
  "mimeType": string,
  "data": string,
  "altText": string
}
欄位
mimeType

string

這是必要旗標,來源資料的 IANA 標準 MIME 類型。支援的圖片類型包括:* image/png * image/jpeg * image/webp

data

string (bytes format)

這是必要旗標,圖片的原始位元組。

Base64 編碼字串。

altText

string

選用。圖片的替代文字。

ToolCall

JSON 表示法
{
  "id": string,
  "displayName": string,
  "args": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,
  "targetApp": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
欄位
id

string

選用。工具呼叫的專屬 ID。如果已填入,用戶端應在 ToolResponse 中傳回具有相符的 ID 的執行結果。

displayName

string

僅供輸出。工具的顯示名稱。

args

object (Struct format)

選用。工具的輸入參數和值,採用 JSON 物件格式。

parentToolCallId

string

僅供輸出。如果工具呼叫是由代表父項呼叫的子代理發出,則此為導致該呼叫的工具呼叫 ID。頂層呼叫為空白。讓用戶端將子代理的工作分組到啟動該工作的呼叫下,而不是將每個步驟算做同層級。

agentName

string

僅供輸出。發出這項呼叫的代理人類可讀名稱,例如「Contract Architect」。如果是由根層級代理發出,則為空白。

targetApp

string

僅供輸出。這項呼叫指定的應用程式,由助理從呼叫的資源引數衍生:應用程式資源名稱、位置範圍工具的 PROJECT,或工作階段本機工具的空白。僅在專案範圍的助理工作階段中設定。

聯集欄位 tool_identifier。要執行的工具 ID。可以是永久工具或工具集中的工具。tool_identifier 只能是下列其中一個設定:
tool

string

選用。要執行的工具名稱。格式:projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

選用。要執行的工具組工具。

ToolsetTool

JSON 表示法
{
  "toolset": string,
  "toolId": string
}
欄位
toolset

string

這是必要旗標,這個工具衍生自的工具集資源名稱。格式:projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolId

string

選用。工具 ID,用於篩選要擷取結構定義的工具。

ToolResponse

JSON 表示法
{
  "id": string,
  "displayName": string,
  "response": {
    object
  },
  "parentToolCallId": string,
  "agentName": string,
  "targetApp": string,

  // Union field tool_identifier can be only one of the following:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of list of possible types for union field tool_identifier.
}
欄位
id

string

選用。回覆所屬 tool call 的相符 ID。

displayName

string

僅供輸出。工具的顯示名稱。

response

object (Struct format)

這是必要旗標,JSON 物件格式的工具執行結果。請使用「output」鍵指定工具回覆,並使用「error」鍵指定錯誤詳細資料 (如有)。如未指定「output」和「error」鍵,整個「response」都會視為工具執行結果。

parentToolCallId

string

僅供輸出。如果工具呼叫是由代表父項呼叫的子代理發出,則此為導致該呼叫的工具呼叫 ID。頂層呼叫為空白。讓用戶端將子代理的工作分組到啟動該工作的呼叫下,而不是將每個步驟算做同層級。

agentName

string

僅供輸出。發出這項呼叫的代理人類可讀名稱,例如「Contract Architect」。如果是由根層級代理發出,則為空白。

targetApp

string

僅供輸出。執行工具指定的應用程式;與 ToolCall.target_app 相同。

聯集欄位 tool_identifier。已執行工具的 ID。可以是永久工具或工具集中的工具。tool_identifier 只能是下列其中一個設定:
tool

string

選用。要執行的工具名稱。格式:projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

選用。已執行的工具組工具。

AgentTransfer

JSON 表示法
{
  "targetAgent": string,
  "displayName": string
}
欄位
targetAgent

string

這是必要旗標,對話轉移到的代理。代理會從這個時間點開始處理對話。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

僅供輸出。代理的顯示名稱。

護欄

JSON 表示法
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
欄位
name

string

ID。護欄的專屬 ID。格式:projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

這是必要旗標,護欄的顯示名稱。

description

string

選用。護欄說明。

enabled

boolean

選用。是否啟用護欄。

action

object (TriggerAction)

選用。觸發護欄時要採取的動作。

createTime

string (Timestamp format)

僅供輸出。護欄的建立時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

僅供輸出。上次更新護欄的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

etag

string

Etag 可確保物件在讀取-修改-寫入作業期間未變更。如果 etag 為空白,更新作業會覆寫所有並行變更。

聯集欄位 guardrail_type。護欄類型。guardrail_type 只能是下列其中一個設定:
contentFilter

object (ContentFilter)

選用。禁止在對話中使用特定內容的護欄。

llmPromptSecurity

object (LlmPromptSecurity)

選用。如果提示詞根據 LLM 分類被視為不安全,護欄會封鎖對話。

llmPolicy

object (LlmPolicy)

選用。如果 LLM 回覆經 LLM 分類後判定違反政策,護欄就會封鎖對話。

modelSafety

object (ModelSafety)

選用。如果根據模型安全設定,LLM 回覆不安全,護欄就會封鎖對話。

codeCallback

object (CodeCallback)

選用。根據回呼執行結果,可能封鎖對話的護欄。

supervisor

object (Supervisor)

選用。執行監督者介入的防護機制。

ContentFilter

JSON 表示法
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean,
  "sensitiveWordsExemptions": [
    string
  ]
}
欄位
bannedContents[]

string

選用。禁用詞組清單。適用於使用者輸入內容和代理回覆。

bannedContentsInUserInput[]

string

選用。禁用詞組清單。僅適用於使用者輸入內容。

bannedContentsInAgentResponse[]

string

選用。禁用詞組清單。僅適用於代理回覆。

matchType

enum (MatchType)

這是必要旗標,內容篩選器的比對類型。

disregardDiacritics

boolean

選用。如果設為 true,比對時會忽略變音符號。

sensitiveWordsExemptions[]

string

選用。這項護欄允許的敏感字詞清單項目。只有在 match_type 為 SENSITIVE_WORDS 時才有效。每個值都必須與清單項目相同 (不區分大小寫,系統會忽略前後的空白字元),其他值則不會生效。僅適用於這個護欄。最多 1,000 個項目,每個項目最多 256 個字元。

LlmPromptSecurity

JSON 表示法
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
欄位
failOpen

boolean

選用。決定護欄遇到 LLM 錯誤時的行為。- 如果為 true:略過護欄。- 如果為 false (預設值):護欄會觸發/封鎖。

注意:如果提供自訂政策,系統會忽略這個欄位,改用政策的「fail_open」設定。

聯集欄位 security_config。定義安全性設定模式。使用者必須選擇下列其中一種設定。security_config 只能是下列其中一個設定:
defaultSettings

object (DefaultSecuritySettings)

選用。使用系統預先定義的預設安全性設定。如要選取這個模式,請在要求中加入空白的「default_settings」訊息。伺服器會在回應中填入「default_prompt_template」欄位。

customPolicy

object (LlmPolicy)

選用。使用使用者定義的 LlmPolicy 設定安全防護機制。

DefaultSecuritySettings

JSON 表示法
{
  "defaultPromptTemplate": string
}
欄位
defaultPromptTemplate

string

僅供輸出。系統使用的預設提示詞範本。這個欄位僅供顯示,讓使用者瞭解系統預設使用的提示詞。此為 OUTPUT_ONLY。

LlmPolicy

JSON 表示法
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
欄位
maxConversationMessages

integer

選用。檢查這項政策時,請考量對話中最後「n」則訊息。如未設定,系統會使用預設值 10。

modelSettings

object (ModelSettings)

選用。模型設定。

prompt

string

這是必要旗標,政策提示詞。支援工作階段變數預留位置 ({var}) 和 {agent_system_instruction},可插入代理已解析的系統指令。

policyScope

enum (PolicyScope)

這是必要旗標,定義在對話期間套用政策檢查的時機。如果設為 POLICY_SCOPE_UNSPECIFIED,政策會套用至使用者輸入內容。將政策套用至代理回覆時,代理回覆前會產生額外延遲。

failOpen

boolean

選用。如果政策檢查期間發生錯誤,則失敗時仍開放,且不觸發護欄。

allowShortUtterance

boolean

選用。根據預設,系統會略過短語句的 LLM 政策檢查。啟用這項設定後,系統會對所有語句進行政策檢查,包括通常會略過的語句。

ModelSafety

JSON 表示法
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
欄位
safetySettings[]

object (SafetySetting)

這是必要旗標,安全性設定清單。

SafetySetting

JSON 表示法
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
欄位
category

enum (HarmCategory)

這是必要旗標,危害類別。

threshold

enum (HarmBlockThreshold)

這是必要旗標,有害內容封鎖門檻。

CodeCallback

JSON 表示法
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
欄位
beforeAgentCallback

object (Callback)

選用。在呼叫代理前執行的回呼。每個回呼函式都應傳回至少包含下列項目的結構 (例如 dict 或物件):-「decision」:值為「OK」或「TRIGGER」。- 'reason':說明決策的字串。「TRIGGER」判定可能會停止進一步處理。

afterAgentCallback

object (Callback)

選用。呼叫代理後要執行的回呼。每個回呼函式都應傳回至少包含下列項目的結構 (例如 dict 或物件):-「decision」:值為「OK」或「TRIGGER」。- 'reason':說明決策的字串。「TRIGGER」判定可能會停止進一步處理。

beforeModelCallback

object (Callback)

選用。在呼叫模型前執行的回呼。如果多次呼叫模型,回呼就會執行多次。每個回呼函式都應傳回至少包含下列項目的結構 (例如 dict 或物件):-「decision」:值為「OK」或「TRIGGER」。- 'reason':說明決策的字串。「TRIGGER」判定可能會停止進一步處理。

afterModelCallback

object (Callback)

選用。呼叫模型後要執行的回呼。如果多次呼叫模型,回呼就會執行多次。每個回呼函式都應傳回至少包含下列項目的結構 (例如 dict 或物件):-「decision」:值為「OK」或「TRIGGER」。- 'reason':說明決策的字串。「TRIGGER」判定可能會停止進一步處理。

主管

JSON 表示法
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
欄位
type

enum (Type)

選用。監督者類型。

detectionMode

enum (DetectionMode)

選用。監督者的偵測模式。

TriggerAction

JSON 表示法
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
欄位
聯集欄位 action。要採取的行動。action 只能是下列其中一個設定:
respondImmediately

object (RespondImmediately)

選用。立即使用預先設定的回覆。

transferAgent

object (TransferAgent)

選用。將對話轉接給其他服務專員。

generativeAnswer

object (GenerativeAnswer)

選用。使用生成式答案回覆。

RespondImmediately

JSON 表示法
{
  "responses": [
    {
      object (Response)
    }
  ]
}
欄位
responses[]

object (Response)

這是必要旗標,可供服務專員選擇的罐頭回應。系統會隨機選擇回覆。

回應

JSON 表示法
{
  "text": string,
  "disabled": boolean
}
欄位
text

string

這是必要旗標,代理回覆的文字。

disabled

boolean

選用。是否停用回覆。代理不會使用已停用的回覆。

TransferAgent

JSON 表示法
{
  "agent": string
}
欄位
agent

string

這是必要旗標,要轉移對話的代理名稱。代理必須與目前代理位於同一個應用程式。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

JSON 表示法
{
  "prompt": string
}
欄位
prompt

string

這是必要旗標,用於生成回覆的提示。

工具集

JSON 表示法
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
欄位
name

string

ID。工具組的專屬 ID。格式:projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

選用。工具集的顯示名稱。在同一個應用程式中不得重複。

description

string

選用。工具集的說明。

timeout

string (Duration format)

選用。工具組執行的逾時時間。如未設定,SYNCHRONOUS 工具集的預設逾時時間為 30 秒,ASYNCHRONOUS 工具集則為 60 秒。

以秒為單位的時間長度,最多 9 個小數位數,結尾為「s」。例如:"3.5s"。

createTime

string (Timestamp format)

僅供輸出。工具集建立時間的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

僅供輸出。上次更新工具組的時間戳記。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

etag

string

ETag 可確保物件在讀取-修改-寫入作業期間未變更。如果 etag 為空白,更新作業會覆寫所有並行變更。

executionType

enum (ExecutionType)

選用。工具集中工具的執行類型。

toolFakeConfig

object (ToolFakeConfig)

選用。模擬模式中的工具行為設定。

聯集欄位 toolset_type。工具組類型。toolset_type 只能是下列其中一個設定:
mcpToolset

object (McpToolset)

選用。包含 MCP 伺服器提供工具清單的工具集。

openApiToolset

object (OpenApiToolset)

選用。工具集,包含由 OpenAPI 結構定義定義的工具清單。

connectorToolset

object (ConnectorToolset)

選用。這組工具集可從 Integration Connectors 連線生成工具。

McpToolset

JSON 表示法
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
欄位
serverAddress

string

這是必要旗標,MCP 伺服器的位址,例如「https://example.com/mcp/」。如果伺服器是使用 MCP SDK 建構,網址結尾應為「/mcp/」。僅支援以可串流 HTTP 傳輸為基礎的伺服器。詳情請參閱 https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http。

apiAuthentication

object (ApiAuthentication)

選用。存取工具及對 MCP 伺服器執行工具所需的驗證資訊。使用不記名權杖驗證時,權杖僅適用於執行工具,不適用於列出工具。這表示工具必須在未經驗證的情況下列出。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

選用。VPC-SC 的 Service Directory 設定,用於解析 perimeter 內的服務名稱。

tlsConfig

object (TlsConfig)

選用。TLS 設定。包含用戶端應信任的自訂伺服器憑證。

customHeaders

map (key: string, value: string)

選用。要在傳送至 MCP 伺服器的要求中,加入的自訂標頭。值必須採用 $context.variables.<name_of_variable> 格式,且可在工作階段變數中設定。詳情請參閱 https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

toolOverrides[]

object (McpToolOverride)

選用。覆寫這個工具組中的個別工具。這樣一來,您就能覆寫特定詳細資料 (例如說明、名稱),或固定工具狀態,避免完全動態。

CustomHeadersEntry

JSON 表示法
{
  "key": string,
  "value": string
}
欄位
key

string

value

string

McpToolOverride

JSON 表示法
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
欄位
tool

string

這是必要旗標,MCP 伺服器發出的工具原始名稱。

nameOverride

string

選用。如有提供,這項工具會在代理中使用這個名稱,而非原始名稱。如果 MCP 伺服器提供的工具名稱不佳,這個欄位主要會做為別名使用。

descriptionOverride

string

選用。如果存在,這項工具會使用這項說明,而非伺服器的原始說明。

snapshot

object (McpToolDefinition)

僅供輸出。如果這個工具存在,則會處於「固定」狀態,並在伺服器暫時無法使用或沒有覆寫值時,使用快照值做為備用值。

McpToolDefinition

JSON 表示法
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
欄位
description

string

僅供輸出。MCP 工具的說明。McpToolOverride 中的 description_override 可覆寫這項設定。

inputSchema

object (Schema)

僅供輸出。MCP 工具輸入引數的結構定義。

outputSchema

object (Schema)

僅供輸出。MCP 工具輸出引數的結構定義。

OpenApiToolset

JSON 表示法
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
欄位
openApiSchema

string

這是必要旗標,工具集的 OpenAPI 結構定義。

apiAuthentication

object (ApiAuthentication)

選用。API 所需的驗證資訊。

tlsConfig

object (TlsConfig)

選用。TLS 設定。包含自訂伺服器憑證

serviceDirectoryConfig

object (ServiceDirectoryConfig)

選用。Service Directory 設定。

ignoreUnknownFields

boolean

選用。如果設為 true,對於 OpenAPI 結構定義中定義的所有作業,代理會忽略 API 回應中的不明欄位。

url

string

選用。Open API 架構的伺服器網址。如果結構定義包含伺服器網址,則只有在匯出程序期間,環境依附元件中的工具集才會設定這個欄位。匯入期間,如果環境依附元件中有這個網址,且結構定義含有 $env_var 預留位置,系統就會替換結構定義中的預留位置。

ConnectorToolset

JSON 表示法
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
欄位
connection

string

這是必要旗標,參照的 Integration Connectors 連線完整資源名稱。格式:projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

選用。設定 Integration Connectors 處理驗證的方式。根據預設,Integration Connectors API 要求會傳遞管理員驗證。您可以使用其他使用者驗證設定覆寫這項設定。注意:連線必須啟用驗證覆寫功能,才能在這裡指定 EUC 設定,否則無法建立工具組。詳情請參閱:https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

這是必要旗標,要產生工具的連接器動作/實體作業清單。

PrebuiltAmbientNoise

預建環境噪音。

列舉
PREBUILT_AMBIENT_NOISE_UNSPECIFIED 不指定。
RETAIL_STORE 零售商店的環境噪音。
CONVENTION_HALL 活動大樓的環境噪音。
OUTDOOR 街道的環境噪音。

WarningType

處理語音樣本時遇到的警告類型。

列舉
WARNING_TYPE_UNSPECIFIED 未指定的警告類型。
LOW_AUDIO_LEVEL 語音樣本的音量過低 (例如均方根振幅過低)。

VoiceInstructionMode

語音樣本的指示模式。

列舉
VOICE_INSTRUCTION_MODE_UNSPECIFIED 未指定指令模式。預設值為 NO_INSTRUCTION。
NO_INSTRUCTION 不會使用語音指示。
GENERATE_INSTRUCTION AI 會根據音訊樣本自動生成語音指示。
CUSTOM_INSTRUCTION 使用者提供的自訂語音指令。

ErrorHandlingStrategy

定義錯誤處理策略。

列舉
ERROR_HANDLING_STRATEGY_UNSPECIFIED 未指定不明錯誤處理策略。
NONE 未啟用任何特定處理方式。
FALLBACK_RESPONSE 如果發生系統錯誤 (例如 LLM 錯誤),系統會向使用者傳回備用訊息。
END_SESSION 如果發生系統錯誤 (例如 LLM 錯誤),系統會發出 EndSession 信號。

ThinkingLevel

模型的思考程度設定。

列舉
THINKING_LEVEL_UNSPECIFIED 未指定思考程度。
DEFAULT 預設思考程度。
LOW 低思考程度。
MEDIUM 中度思考。
HIGH 高思考程度。

ToolExecutionMode

定義代理同時選取多個工具時,工具的執行行為。

列舉
TOOL_EXECUTION_MODE_UNSPECIFIED 未指定工具執行模式。預設為 PARALLEL。
PARALLEL 如果選取多項工具,系統會使用相同的 ToolContext 平行執行這些工具。
SEQUENTIAL 如果選取多項工具,系統會依序執行。前一個工具執行完畢後,下一個工具才會執行,並可查看前一個工具更新後的 ToolContext。

SemanticSimilarityChannel

要使用的語意相似度管道。

列舉
SEMANTIC_SIMILARITY_CHANNEL_UNSPECIFIED 未指定指標。預設為 TEXT。
TEXT 使用文字語意相似度。
AUDIO 使用音訊語意相似度。

ExtraToolCallBehavior

定義遇到額外工具呼叫時的行為。額外工具呼叫是指執行過程中出現,但與黃金期望中的任何工具呼叫都不相符的工具呼叫。

列舉
EXTRA_TOOL_CALL_BEHAVIOR_UNSPECIFIED 未指定行為。預設值為 FAIL。
FAIL 如果遇到額外的工具呼叫,評估就會失敗。
ALLOW 允許額外的工具呼叫。

HallucinationMetricBehavior

幻覺指標行為。無論行為如何,系統一律會計算指標。差別在於,停用指標後,系統就不會使用該指標計算整體評估分數。

列舉
HALLUCINATION_METRIC_BEHAVIOR_UNSPECIFIED 未指定的幻覺指標行為。
DISABLED 停用幻覺指標。
ENABLED 啟用幻覺指標。

類型

OpenAPI 資料類型。

列舉
TYPE_UNSPECIFIED 未指定類型。
STRING 字串類型。
INTEGER 整數類型。
NUMBER 數字類型。
BOOLEAN 布林值類型。
OBJECT 物件類型。
ARRAY 陣列類型。

NullValue

代表 JSON null。

NullValue 是哨兵,使用只有一個值的列舉,代表 Value 類型聯集的空值。

NullValue 類型的欄位若含有 0 以外的值,則視為無效。無論整數值為何,大多數 ProtoJSON 序列化工具都會發出 Value,並將 null_value 設為 JSON null,因此會來回 0 值。

列舉
NULL_VALUE 空值。

類型

引擎類型,請參閱 https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionType 和 https://cloud.google.com/generative-ai-app-builder/docs/create-datastore-ingest 的說明文件。

列舉
TYPE_UNSPECIFIED 未指定引擎類型。
ENGINE_TYPE_CHAT 對話引擎類型。應用程式的 SOLUTION_TYPE_CHAT 引擎。新增至應用程式的所有連接器資料儲存庫,都會加入這個引擎。

ChannelType

管道設定檔的類型。

列舉
UNKNOWN 不明的管道類型。
WEB_UI 網頁 UI 管道。
API API 管道。
TWILIO Twilio 管道。
GOOGLE_TELEPHONY_PLATFORM Google Telephony Platform 管道。
CONTACT_CENTER_AS_A_SERVICE Contact Center as a Service (CCaaS) 管道。
CONTACT_CENTER_AS_A_SERVICE_CHAT Contact Center as a Service (CCaaS Chat) 管道。
FIVE9 Five9 管道。
CONTACT_CENTER_INTEGRATION 第三方客服中心整合管道。
WHATSAPP WhatsApp 管道。
INSTAGRAM Instagram 管道。

角色

頻道的人物設定。

列舉
UNKNOWN UNKNOWN 角色。
CONCISE 代理的回覆簡明扼要
CHATTY 代理會提供額外背景資訊、說明和詳細資料

模態

網頁小工具的互動模式。

列舉
MODALITY_UNSPECIFIED 不明模態。
CHAT_AND_VOICE 小工具支援即時通訊和語音輸入。
VOICE_ONLY 小工具僅支援語音輸入。
CHAT_ONLY 小工具僅支援對話輸入。
CHAT_VOICE_AND_VIDEO 小工具支援即時通訊、語音和影片輸入。

主題

網頁小工具的主題。

列舉
THEME_UNSPECIFIED 不明主題。
LIGHT 淺色主題。
DARK 深色主題。

RequestLocation

要求中 API 金鑰的位置。

列舉
REQUEST_LOCATION_UNSPECIFIED 不明。請勿使用這個值。
HEADER 代表 HTTP 標頭中的鍵。
QUERY_STRING 代表查詢字串中的鍵。

OauthGrantType

OAuth 授權類型。僅支援用戶端憑證授權。

列舉
OAUTH_GRANT_TYPE_UNSPECIFIED 不明。預設值為 CLIENT_CREDENTIAL。
CLIENT_CREDENTIAL 代表用戶端憑證流程。

方向

移轉方向。

列舉
DIRECTION_UNSPECIFIED 未指定方向。
PARENT_TO_CHILD 從上層代理轉移至子代理。
CHILD_TO_PARENT 從子代理轉移至上層代理。

OperationType

要對實體執行的作業。

列舉
OPERATION_TYPE_UNSPECIFIED 未指定作業類型。無效,ConnectorTool 建立/更新作業將失敗。
LIST 列出作業。
GET Get 作業。
CREATE 建立作業。
UPDATE 更新作業。
DELETE 刪除作業。

DataStoreType

資料儲存庫的類型。

列舉
DATA_STORE_TYPE_UNSPECIFIED 不指定。這個值表示未指定資料儲存庫類型,因此搜尋時不會使用。
PUBLIC_WEB 含有公開網路內容的資料儲存庫。
UNSTRUCTURED 包含非結構化私人資料的資料儲存庫。
FAQ 包含結構化資料的資料儲存庫,用於常見問題。
CONNECTOR 資料儲存庫,可做為第一方或第三方服務的連接器。

DocumentProcessingMode

資料儲存庫的文件處理模式。

列舉
DOCUMENT_PROCESSING_MODE_UNSPECIFIED 不指定。
DOCUMENTS 文件會以文件形式處理。
CHUNKS 文件會轉換為區塊。

AttributeType

要套用自訂排名的屬性 (或函式)。

列舉
ATTRIBUTE_TYPE_UNSPECIFIED 未指定 AttributeType。
NUMERICAL 系統會根據數值欄位的值,動態更新提升幅度。在這種情況下,控制點的 attribute_value (x 值) 會是指定 boost_amount 的數值欄位實際值。
FRESHNESS 如果是時效性用途,屬性值會是目前時間與指定日期時間欄位中日期之間的時長。這個值必須採用 XSD dayTimeDuration 值的格式 (ISO 8601 時間長度值的受限子集)。模式如下:[nD][T[nH][nM][nS]]。例如:5D、3DT12H30M、T24H。

InterpolationType

要套用的內插類型。預設為線性 (分段線性)。

列舉
INTERPOLATION_TYPE_UNSPECIFIED 未指定內插類型。在本例中,預設值為「Linear」。
LINEAR 系統會套用分段線性插值。

ModalityType

模態類型。

列舉
MODALITY_TYPE_UNSPECIFIED 未指定模態類型。
TEXT 文字模態。
AUDIO 音訊模態。

FilterParameterBehavior

篩選器參數行為。

列舉
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED 預設篩選器行為。加入連接器資料儲存庫的篩選器參數。其餘資料儲存庫類型則會省略篩選器輸入參數。
ALWAYS_INCLUDE 請務必為所有資料儲存庫類型加入篩選器參數。
NEVER_INCLUDE 無論資料儲存庫類型為何,工具參數清單都不會包含篩選器參數。

狀態

代表工具的動態可用性狀態。

列舉
STATE_UNSPECIFIED 預設狀態。
ACTIVE 工具可用,且由伺服器主動提供。
INACTIVE 工具已設定或固定,但伺服器目前未提供。
STALE 伺服器上有這項工具,但版本不符。

CorpusType

Vertex RAG 語料庫的類型。

列舉
CORPUS_TYPE_UNSPECIFIED 未指定語料庫類型。
USER_OWNED Corpus 由使用者建立及擁有。
FULLY_MANAGED 語料庫是由代理建立。

WidgetType

所有可用的小工具類型。日後可能會在這個列舉中加入新值。

列舉
WIDGET_TYPE_UNSPECIFIED 未指定小工具類型。
CUSTOM 自訂小工具類型。
PRODUCT_DETAILS 產品詳細資料小工具。
QUICK_ACTIONS 快速操作小工具。
PRODUCT_COMPARISON 產品比較小工具。
ADVANCED_PRODUCT_DETAILS 進階產品詳細資料小工具。
SHORT_FORM Shorts 小工具。
OVERALL_SATISFACTION 整體滿意度小工具。
ORDER_SUMMARY 訂單摘要小工具。
APPOINTMENT_DETAILS 預約詳細資料小工具。
APPOINTMENT_SCHEDULER 預約時間表小工具。
CONTACT_FORM 聯絡表單小工具。

模式

將資料從來源工具對應至小工具的策略。

列舉
MODE_UNSPECIFIED 未指定模式。
FIELD_MAPPING 使用 field_mappings 對應進行資料轉換。
PYTHON_SCRIPT 使用 python_script 轉換資料。

類型

定義文字回覆的生成方式。

列舉
TYPE_UNSPECIFIED 未指定類型。
NONE LLM 會根據對話情境,動態決定是否在小工具旁生成文字回覆。
LLM_GENERATED 明確要求 LLM 生成文字回覆。
STATIC 一律使用預先定義的靜態文字回覆。

ExecutionType

工具或工具集的執行類型。

列舉
EXECUTION_TYPE_UNSPECIFIED 未指定執行類型。如未指定,預設值為 SYNCHRONOUS。
SYNCHRONOUS 工具會同步執行。工作階段會遭到封鎖,直到工具傳回結果為止。
ASYNCHRONOUS 工具會以非同步方式執行。工具執行期間,工作階段會繼續進行。

MatchType

內容篩選器的比對類型。

列舉
MATCH_TYPE_UNSPECIFIED 未指定比對類型。
SIMPLE_STRING_MATCH 系統會逐字元比對子字串。
WORD_BOUNDARY_STRING_MATCH 只有在文字中找到的模式前後有字詞分隔符號時,內容才會相符。禁用詞組也可以包含字詞分隔符。
REGEXP_MATCH 系統會使用規則運算式語法比對內容。
SENSITIVE_WORDS 系統會比對內容與敏感字詞和詞組清單,如果將採用這種比對類型的護欄附加至應用程式或代理,受影響代理的預設敏感字詞篩選器會遭到取代。如要停用預設篩選器,請停用護欄。

PolicyScope

定義在對話期間套用政策檢查的時機。

列舉
POLICY_SCOPE_UNSPECIFIED 未指定政策範圍。
USER_QUERY 使用者輸入內容時,系統會觸發政策檢查。
AGENT_RESPONSE 代理回覆時會觸發政策檢查。套用這項政策範圍後,代理回覆前會出現額外延遲。
USER_QUERY_AND_AGENT_RESPONSE 使用者輸入內容和代理回覆都會觸發政策檢查。套用這項政策範圍後,代理回覆前會出現額外延遲。

HarmCategory

危害類別。

列舉
HARM_CATEGORY_UNSPECIFIED 未指定危害類別。
HARM_CATEGORY_HATE_SPEECH 危害類別為仇恨言論。
HARM_CATEGORY_DANGEROUS_CONTENT 危害類別為危險內容。
HARM_CATEGORY_HARASSMENT 有害內容類別為騷擾。
HARM_CATEGORY_SEXUALLY_EXPLICIT 有害內容類別為情色露骨內容。
HARM_CATEGORY_PROFANITY 危害類別為不雅用語。
HARM_CATEGORY_TOXIC 危害類別為惡意內容。

HarmBlockThreshold

封鎖內容的機率門檻等級。

列舉
HARM_BLOCK_THRESHOLD_UNSPECIFIED 未指定有害內容封鎖門檻。
BLOCK_LOW_AND_ABOVE 封鎖有害機率低等以上的內容 (即封鎖更多內容)。
BLOCK_MEDIUM_AND_ABOVE 封鎖中等門檻以上的內容。
BLOCK_ONLY_HIGH 僅封鎖有害機率高的內容 (即封鎖較少內容)。
BLOCK_NONE 不封鎖任何內容。
OFF 關閉安全篩選器。

類型

監督者類型。

列舉
TYPE_UNSPECIFIED 未指定類型。
INVALID_TEXT 文字問題類型無效。
LANGUAGE_SHIFT 語言轉換問題類型。
SPEAKER_SHIFT 講者切換問題類型。
AUDIO_MISMATCH 音訊不符問題類型。
MISSING_TOOL_CALL 缺少工具呼叫問題類型。
CUSTOM 自訂問題類型。
CHOPPY_AUDIO 聲音斷斷續續問題類型。
PROFANITY 代理不雅用語問題類型。

DetectionMode

監督者的偵測模式。

列舉
DETECTION_MODE_UNSPECIFIED 未指定偵測模式。預設為 NON_BLOCKING。
NON_BLOCKING 非封鎖偵測模式。監督者偵測功能執行期間,系統不會封鎖回覆。
BLOCKING 封鎖偵測模式。監督者偵測功能執行期間,系統會封鎖回覆。

工具註解

工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時向使用者傳送確認提示。

除了標題字串外,下列布林值提示的定義如下:

  • readOnlyHint:如果設為 true,工具不會修改環境。預設值:false。
  • destructiveHint:如果為 true,工具可以執行破壞性動作。如果為 false,則工具只能執行附加動作。預設值:true。
  • idempotentHint:如果設為 true,則使用相同引數重複呼叫工具,不會對環境造成額外影響。預設值:false。
  • openWorldHint:如果設為 true,工具就能與外部實體的「開放世界」互動。如果設為 false,工具只能與內部實體互動。舉例來說,網頁搜尋工具是開放世界,而記憶工具則不是。

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌