MCP Tools Reference: ces.googleapis.com

工具:create_app_version

在指定應用程式中建立新版本。

下列程式碼範例說明如何使用 curl 呼叫 create_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": "create_app_version",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

輸入內容的結構定義

AgentService.CreateAppVersion 的要求訊息

CreateAppVersionRequest

JSON 表示法
{
  "parent": string,
  "appVersionId": string,
  "appVersion": {
    object (AppVersion)
  }
}
欄位
parent

string

這是必要旗標,要在其中建立應用程式版本的應用程式資源名稱。

appVersionId

string

選用。應用程式版本要使用的 ID,會成為應用程式版本資源名稱的最後一個元件。如未提供,系統會自動為應用程式版本指派專屬 ID。

appVersion

object (AppVersion)

這是必要旗標,要建立的應用程式版本。

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 之間 (含)。

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,提升多語言輸入的處理效果。當服務專員收到不支援的語言輸入內容時,應執行的動作。

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

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

選用。已淘汰:已淘汰 ChannelProfile 中的 disable_barge_in,改用 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

選用。環境噪音,以單聲道 16 kHz WAV 檔案的形式儲存在 Cloud Storage 中。

注意:請確認 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)
  }
}
欄位
redactionConfig

object (RedactionConfig)

選用。如何遮蓋機密資料的設定。

audioRecordingConfig

object (AudioRecordingConfig)

選用。設定如何錄製語音互動。音訊會根據 RedactionConfig 中的設定進行編輯。

unredactedAudioRecordingConfig

object (AudioRecordingConfig)

選用。設定額外錄製未經過編輯的音訊。這項功能可用於在音訊編輯enabled時保留原始音訊副本,通常是為了稽核或監控。

bigqueryExportSettings

object (BigQueryExportSettings)

選用。設定應用程式的 BigQuery 匯出行為。對話資料會根據 RedactionConfig 中的設定進行編輯。

unredactedBigqueryExportSettings

object (BigQueryExportSettings)

選用。設定應用程式的 BigQuery 匯出行為。如果啟用這項功能,系統會將未經過編輯的對話資料匯出至 BigQuery 資料表。

cloudLoggingSettings

object (CloudLoggingSettings)

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

conversationLoggingSettings

object (ConversationLoggingSettings)

選用。設定,用於說明應用程式的對話記錄行為。

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

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

metricAnalysisSettings

object (MetricAnalysisSettings)

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

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 匯出功能。

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 模型。溫度參數會決定模型回覆的隨機程度。溫度越低,生成的回覆就越容易預測。溫度越高,生成的回覆就越有創意。

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 不支援這些字元。此外,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)

選用。頻道個人資料的 persona 屬性。

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

這是必要旗標,儲存 PEM 格式編碼私密金鑰的 SecretManager 密鑰版本資源名稱。格式: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

選用。給大型語言模型模型的指令,引導代理的行為。

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

選用。如果啟用這項功能,系統也會對中繼模型輸出內容執行回呼。這項設定只會影響模型回呼後續作業。請謹慎啟用。通常在收到所有模型回覆後,才需要執行模型回呼。啟用主動執行功能可能會對執行成本和延遲時間造成負面影響,因此只應在極少數情況下啟用。

聯集欄位 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

僅供輸出。如果工具是由大型語言模型助理產生,這個欄位會包含生成內容的描述性摘要。

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 Connectors 工具。

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

選用。開放式 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」。最多可排除 2000 個網域。

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。定義搜尋來源,可以是單一資料儲存庫或引擎。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。如果留空,搜尋範圍會擴及與引擎相關聯的所有 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 設定,用於解析範圍內的服務名稱。

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)

結構體代表對話中更新的變數,並以變數名稱做為鍵。

defaultVariables

object (Struct format)

結構體代表對話開始時的預設變數,並以變數名稱做為鍵。

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,

  // 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

僅供輸出。發出這通電話的代理名稱 (人類可讀),例如「合約架構師」。如果是由根層級代理發出,則為空白。

聯集欄位 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,

  // 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

僅供輸出。發出這通電話的代理名稱 (人類可讀),例如「合約架構師」。如果是由根層級代理發出,則為空白。

聯集欄位 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 根據分類結果判斷回覆內容違反政策,就會啟動安全防護機制,封鎖對話。

modelSafety

object (ModelSafety)

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

codeCallback

object (CodeCallback)

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

supervisor

object (Supervisor)

選用。執行主管介入的防護機制。

ContentFilter

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

string

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

bannedContentsInUserInput[]

string

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

bannedContentsInAgentResponse[]

string

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

matchType

enum (MatchType)

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

disregardDiacritics

boolean

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

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

這是必要旗標,政策提示。

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)

選用。在呼叫代理程式前執行的回呼。每個回呼函式都應傳回至少包含下列項目的結構 (例如字典或物件):-「decision」:可以是「OK」或「TRIGGER」。-「reason」:說明決定的字串。「觸發」決定可能會停止後續處理程序。

afterAgentCallback

object (Callback)

選用。呼叫代理程式後要執行的回呼。每個回呼函式都應傳回至少包含下列項目的結構 (例如字典或物件):-「decision」:可以是「OK」或「TRIGGER」。-「reason」:說明決定的字串。「觸發」決定可能會停止後續處理程序。

beforeModelCallback

object (Callback)

選用。在呼叫模型前執行的回呼。如果多次呼叫模型,回呼就會執行多次。每個回呼函式都應傳回至少包含下列項目的結構 (例如字典或物件):-「decision」:可以是「OK」或「TRIGGER」。-「reason」:說明決定的字串。「觸發」決定可能會停止後續處理程序。

afterModelCallback

object (Callback)

選用。呼叫模型後要執行的回呼。如果多次呼叫模型,回呼就會執行多次。每個回呼函式都應傳回至少包含下列項目的結構 (例如字典或物件):-「decision」:可以是「OK」或「TRIGGER」。-「reason」:說明決定的字串。「觸發」決定可能會停止後續處理程序。

主管

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 設定,用於解析範圍內的服務名稱。

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

選用。開放式 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 語音樣本的音訊音量過低 (例如 RMS 振幅偏低)。

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 persona。
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 取得作業。
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 系統會套用分段線性插值。

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 語料庫是由使用者建立及擁有。
FULLY_MANAGED 代理程式會建立語料庫。

WidgetType

所有可用的小工具類型。日後可能會在這個列舉中新增值。

列舉
WIDGET_TYPE_UNSPECIFIED 未指定的小工具類型。
CUSTOM 自訂小工具類型。
PRODUCT_DETAILS 產品詳細資料小工具。
QUICK_ACTIONS 快速操作小工具。
PRODUCT_COMPARISON 產品比較小工具。
ADVANCED_PRODUCT_DETAILS 進階產品詳細資料小工具。
SHORT_FORM 短篇表單小工具。
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 系統會使用規則運算式語法比對內容。

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 阻擋偵測模式。如果系統正在偵測主管,就會封鎖回應。

輸出內容的結構定義

在 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 之間 (含)。

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,提升多語言輸入的處理效果。當服務專員收到不支援的語言輸入內容時,應執行的動作。

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

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

選用。已淘汰:已淘汰 ChannelProfile 中的 disable_barge_in,改用 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

選用。環境噪音,以單聲道 16 kHz WAV 檔案的形式儲存在 Cloud Storage 中。

注意:請確認 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)
  }
}
欄位
redactionConfig

object (RedactionConfig)

選用。如何遮蓋機密資料的設定。

audioRecordingConfig

object (AudioRecordingConfig)

選用。設定如何錄製語音互動。音訊會根據 RedactionConfig 中的設定進行編輯。

unredactedAudioRecordingConfig

object (AudioRecordingConfig)

選用。設定額外錄製未經過編輯的音訊。這項功能可用於在音訊編輯enabled時保留原始音訊副本,通常是為了稽核或監控。

bigqueryExportSettings

object (BigQueryExportSettings)

選用。設定應用程式的 BigQuery 匯出行為。對話資料會根據 RedactionConfig 中的設定進行編輯。

unredactedBigqueryExportSettings

object (BigQueryExportSettings)

選用。設定應用程式的 BigQuery 匯出行為。如果啟用這項功能,系統會將未經過編輯的對話資料匯出至 BigQuery 資料表。

cloudLoggingSettings

object (CloudLoggingSettings)

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

conversationLoggingSettings

object (ConversationLoggingSettings)

選用。設定,用於說明應用程式的對話記錄行為。

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

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

metricAnalysisSettings

object (MetricAnalysisSettings)

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

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 匯出功能。

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 模型。溫度參數會決定模型回覆的隨機程度。溫度越低,生成的回覆就越容易預測。溫度越高,生成的回覆就越有創意。

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 不支援這些字元。此外,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)

選用。頻道個人資料的 persona 屬性。

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

這是必要旗標,儲存 PEM 格式編碼私密金鑰的 SecretManager 密鑰版本資源名稱。格式: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

選用。給大型語言模型模型的指令,引導代理的行為。

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

選用。如果啟用這項功能,系統也會對中繼模型輸出內容執行回呼。這項設定只會影響模型回呼後續作業。請謹慎啟用。通常在收到所有模型回覆後,才需要執行模型回呼。啟用主動執行功能可能會對執行成本和延遲時間造成負面影響,因此只應在極少數情況下啟用。

聯集欄位 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

僅供輸出。如果工具是由大型語言模型助理產生,這個欄位會包含生成內容的描述性摘要。

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 Connectors 工具。

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

選用。開放式 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」。最多可排除 2000 個網域。

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。定義搜尋來源,可以是單一資料儲存庫或引擎。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。如果留空,搜尋範圍會擴及與引擎相關聯的所有 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 設定,用於解析範圍內的服務名稱。

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)

結構體代表對話中更新的變數,並以變數名稱做為鍵。

defaultVariables

object (Struct format)

結構體代表對話開始時的預設變數,並以變數名稱做為鍵。

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,

  // 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

僅供輸出。發出這通電話的代理名稱 (人類可讀),例如「合約架構師」。如果是由根層級代理發出,則為空白。

聯集欄位 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,

  // 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

僅供輸出。發出這通電話的代理名稱 (人類可讀),例如「合約架構師」。如果是由根層級代理發出,則為空白。

聯集欄位 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 根據分類結果判斷回覆內容違反政策,就會啟動安全防護機制,封鎖對話。

modelSafety

object (ModelSafety)

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

codeCallback

object (CodeCallback)

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

supervisor

object (Supervisor)

選用。執行主管介入的防護機制。

ContentFilter

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

string

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

bannedContentsInUserInput[]

string

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

bannedContentsInAgentResponse[]

string

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

matchType

enum (MatchType)

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

disregardDiacritics

boolean

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

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

這是必要旗標,政策提示。

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)

選用。在呼叫代理程式前執行的回呼。每個回呼函式都應傳回至少包含下列項目的結構 (例如字典或物件):-「decision」:可以是「OK」或「TRIGGER」。-「reason」:說明決定的字串。「觸發」決定可能會停止後續處理程序。

afterAgentCallback

object (Callback)

選用。呼叫代理程式後要執行的回呼。每個回呼函式都應傳回至少包含下列項目的結構 (例如字典或物件):-「decision」:可以是「OK」或「TRIGGER」。-「reason」:說明決定的字串。「觸發」決定可能會停止後續處理程序。

beforeModelCallback

object (Callback)

選用。在呼叫模型前執行的回呼。如果多次呼叫模型,回呼就會執行多次。每個回呼函式都應傳回至少包含下列項目的結構 (例如字典或物件):-「decision」:可以是「OK」或「TRIGGER」。-「reason」:說明決定的字串。「觸發」決定可能會停止後續處理程序。

afterModelCallback

object (Callback)

選用。呼叫模型後要執行的回呼。如果多次呼叫模型,回呼就會執行多次。每個回呼函式都應傳回至少包含下列項目的結構 (例如字典或物件):-「decision」:可以是「OK」或「TRIGGER」。-「reason」:說明決定的字串。「觸發」決定可能會停止後續處理程序。

主管

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 設定,用於解析範圍內的服務名稱。

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

選用。開放式 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 語音樣本的音訊音量過低 (例如 RMS 振幅偏低)。

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 persona。
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 取得作業。
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 系統會套用分段線性插值。

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 語料庫是由使用者建立及擁有。
FULLY_MANAGED 代理程式會建立語料庫。

WidgetType

所有可用的小工具類型。日後可能會在這個列舉中新增值。

列舉
WIDGET_TYPE_UNSPECIFIED 未指定的小工具類型。
CUSTOM 自訂小工具類型。
PRODUCT_DETAILS 產品詳細資料小工具。
QUICK_ACTIONS 快速操作小工具。
PRODUCT_COMPARISON 產品比較小工具。
ADVANCED_PRODUCT_DETAILS 進階產品詳細資料小工具。
SHORT_FORM 短篇表單小工具。
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 系統會使用規則運算式語法比對內容。

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,工具只能與內部實體互動。舉例來說,網路搜尋工具屬於開放世界,記憶體工具則不屬於開放世界。

破壞性提示:✅ | 等冪提示:❌ | 唯讀提示:❌ | 開放世界提示:❌