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 tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

输入架构

AgentService.CreateAppVersion 的请求消息

CreateAppVersionRequest

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

string

必需。要创建应用版本的应用的资源名称。

appVersionId

string

可选。要用于应用版本的 ID,该 ID 将成为应用版本资源名称的最后一个组成部分。如果未提供,系统会自动为应用版本分配唯一 ID。

appVersion

object (AppVersion)

必需。要创建的应用版本。

AppVersion

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

string

标识符。应用版本的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/versions/{version}

displayName

string

可选。应用版本的显示名称。

description

string

可选。应用版本的说明。

creator

string

仅限输出。创建应用版本的用户的电子邮件地址。

createTime

string (Timestamp format)

仅限输出。应用版本创建时间的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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)

表示世界协调时间 (UTC) 的秒数(从 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
  ]
}
字段
name

string

标识符。应用的唯一标识符。格式: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)

可选。应用的 TimeZone 设置。

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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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

仅限输出。应用中的错误配置或警告。

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,以改进对多语言输入的处理。当代理收到不受支持的语言的输入时要执行的操作。

可以是预定义的操作,也可以是自定义的工具调用。有效值包括:- 工具的完整资源名称,用于触发特定工具的执行。- 预定义的系统操作,例如“升级”或“退出”,该操作会触发具有相应 metadataEndSession 信号来终止对话。

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)
  }
}
字段
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)

可选。在智能体提示用户重新互动之前,用户处于非活跃状态(无语音或互动)的时长。如果未设置,代理将不会提示用户重新互动。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

ambientSoundConfig

object (AmbientSoundConfig)

可选。配置与合成的代理回答一起播放的环境声音,以增强对话的自然度。

SynthesizeSpeechConfigsEntry

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

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

JSON 表示法
{
  "voice": string,
  "voiceSampleGcsUri": string,
  "speakingRate": number,
  "model": string,
  "instruction": string,
  "consentAudioGcsUri": string
}
字段
voice

string

可选。语音的名称。如果未设置,则该服务将根据其他参数(例如 language_code)选择语音。

如需查看可用语音的列表,请参阅 Cloud Text-to-Speech 的支持的语音和语言

voiceSampleGcsUri

string

可选。用于语音克隆的音频样本的 Cloud Storage URI。音频样本应为单声道、24kHz WAV 文件。

注意:请确保 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 具有对 Cloud Storage 对象的 storage.objects.get 权限。

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

可选。使用生成式模型时用于合成语音的指令。

consentAudioGcsUri

string

可选。用于语音克隆的同意录音的 Cloud Storage URI。

BargeInConfig

JSON 表示法
{
  "disableBargeIn": boolean,
  "bargeInAwareness": boolean
}
字段
disableBargeIn
(deprecated)

boolean

可选。已弃用:disable_barge_in 已弃用,取而代之的是 ChannelProfile 中的 disable_barge_in_control

在代理说话时禁止用户插话。如果为 true,则在代理回答播放期间,系统会忽略用户输入。

bargeInAwareness

boolean

可选。如果启用,代理会根据用户未听到之前代理消息的全部内容这一假设来调整其下一次响应。在以视觉方式显示智能体回答的场景中,不应使用此属性。

时长

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

时间段的带符号秒数。必须介于 -315,576,000,000 到 +315,576,000,000 之间(含边界值)。注意:这些界限是通过以下计算得出的:60 秒/分钟 * 60 分钟/小时 * 24 小时/天 * 365.25 天/年 * 10000 年

nanos

integer

时间跨度的有符号秒数小数部分(以纳秒为单位)。小于 1 秒的时长用 0 seconds 字段和正或负 nanos 字段表示。对于时长为 1 秒或更长时间的视频,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

可选。以单声道 16kHz 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"

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 存储桶。URI 必须以“gs://”开头。

请选择符合数据驻留要求的存储桶位置。

注意:如果 Cloud Storage 存储桶与应用位于不同的项目中,您应向 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 授予 storage.objects.create 权限。

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 数据集与应用不在同一项目中,您应向 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 授予 roles/bigquery.admin 角色。

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 天。

该时长以秒为单位,最多包含九个小数位,以“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,

  // 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 模型。如果未设置,代理将从其父智能体继承模型。

联合字段 _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

可选。指示值是否为 null。

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 数值。不得为 NaNInfinity-Infinity,因为 JSON 不支持这些值。由于 JSON 格式通常不支持其数字类型中的大型 Int64 值,因此这种格式也无法表示大型 Int64 值。

stringValue

string

表示 JSON 字符串。

boolValue

boolean

表示 JSON 布尔值(JSON 中的 truefalse 字面量)。

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)
  },
  "disableDtmf": boolean,
  "disableBargeInControl": boolean,
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "noiseSuppressionLevel": string,
  "whatsappConfig": {
    object (WhatsAppConfig)
  },
  "instagramConfig": {
    object (InstagramConfig)
  }
}
字段
profileId

string

可选。频道配置的唯一标识符。

channelType

enum (ChannelType)

可选。频道配置文件的类型。

personaProperty

object (PersonaProperty)

可选。频道个人资料的身份属性。

disableDtmf

boolean

可选。是否停用 DTMF(双音多频)。

disableBargeInControl

boolean

可选。是否在对话中停用用户抢占控制。- true:在代理说话时,系统会停用用户中断。- false:智能体保留对用户何时可以中断的自动控制权。

webWidgetConfig

object (WebWidgetConfig)

可选。Web widget 的配置。

noiseSuppressionLevel

string

可选。渠道配置文件的降噪级别。可用的值为“low”“moderate”“high”“very_high”。

whatsappConfig

object (WhatsAppConfig)

可选。特定于 WhatsApp 部署的配置。

instagramConfig

object (InstagramConfig)

可选。特定于 Instagram 部署的配置。

PersonaProperty

JSON 表示法
{
  "persona": enum (Persona)
}
字段
persona

enum (Persona)

可选。频道的角色。

WebWidgetConfig

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

enum (Modality)

可选。网页 widget 的模态。

theme

enum (Theme)

可选。网络微件的主题。

webWidgetTitle

string

可选。网络 widget 的标题。

securitySettings

object (SecuritySettings)

可选。Web widget 的安全设置。

SecuritySettings

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

boolean

可选。指示是否已启用对 Web widget 的公开访问权限。如果值为 true,则 Web widget 将可公开访问。如果为 false,则必须将 Web widget 与您自己的身份验证和授权系统集成,以返回用于访问 CES 代理的有效凭据。

enableOriginCheck

boolean

可选。指示是否为 Web widget 启用了来源检查。如果值为 true,则 Web widget 将检查加载该 Web widget 的网站的来源,并且仅允许在同一来源或任何允许的来源中加载该 Web widget。

allowedOrigins[]

string

可选。允许托管 Web widget 的来源。来源由 RFC 6454 定义。如果为空,则允许所有来源。最多允许 100 个来源。示例:“https://example.com”

enableRecaptcha

boolean

可选。指示是否已启用 Web widget 的 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 密文版本资源的名称。如果私钥未加密,则应将此字段留空。格式: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 工具。

代理

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)
  }
  // End of list of possible types for union field agent_type.
}
字段
name

string

标识符。代理的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

必需。代理的显示名称。

description

string

可选。代理的人类可读说明。

modelSettings

object (ModelSettings)

可选。LLM 模型的配置。

instruction

string

可选。LLM 模型的指令,用于指导代理的行为。

tools[]

string

可选。代理可用的工具列表。格式:projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

可选。代理树中的子代理列表。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

可选。在调用代理之前要执行的回调。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

afterAgentCallbacks[]

object (Callback)

可选。在调用代理后要执行的回调。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

beforeModelCallbacks[]

object (Callback)

可选。在调用模型之前要执行的回调。如果多次调用模型,则回调将执行多次。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

afterModelCallbacks[]

object (Callback)

可选。在调用模型后要执行的回调。如果多次调用模型,则回调将执行多次。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

beforeToolCallbacks[]

object (Callback)

可选。在调用工具之前要执行的回调。如果存在多次工具调用,则回调将执行多次。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

afterToolCallbacks[]

object (Callback)

可选。在调用工具后要执行的回调。如果存在多次工具调用,则回调将执行多次。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

createTime

string (Timestamp format)

仅限输出。创建代理时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 代理与应用位于不同的项目中,您应向 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 授予 roles/dialogflow.client 权限。

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

回调

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)
  },

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

标识符。工具的资源名称。格式:

  • 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 秒。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

createTime

string (Timestamp format)

仅限输出。工具创建时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

用于确保对象在读取-修改-写入操作期间未发生更改的 ETag。如果 etag 为空,则更新会覆盖任何并发更改。

generatedSummary

string

仅限输出。如果该工具是由 LLM 助理生成的,则此字段包含生成内容的描述性摘要。

toolFakeConfig

object (ToolFakeConfig)

可选。伪造模式下工具行为的配置。

联合字段 tool_type。工具的类型。tool_type 只能是下列其中一项:
clientFunction

object (ClientFunction)

可选。客户端函数。

openApiTool

object (OpenApiTool)

可选。开放式 API 工具。

googleSearchTool

object (GoogleSearchTool)

可选。Google 搜索工具。

connectorTool

object (ConnectorTool)

可选。Integration Connector 工具。

dataStoreTool

object (DataStoreTool)

可选。数据存储区工具。

pythonFunction

object (PythonFunction)

可选。Python 函数工具。

mcpTool

object (McpTool)

可选。MCP 工具。MCP 工具无法直接创建或更新,而是由 MCP 工具集管理。

fileSearchTool

object (FileSearchTool)

可选。文件搜索工具。

systemTool

object (SystemTool)

可选。系统工具。

agentTool

object (AgentTool)

可选。代理工具。

widgetTool

object (WidgetTool)

可选。微件工具。

remoteAgentTool

object (RemoteAgentTool)

可选。远程代理工具。

ClientFunction

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

string

必需。函数名称。

description

string

可选。函数说明。

parameters

object (Schema)

可选。函数参数的架构。

response

object (Schema)

可选。函数响应的架构。

OpenApiTool

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

string

必需。JSON 或 YAML 格式的 OpenAPI 架构。

name

string

可选。工具的名称。如果未提供,工具的名称将从 OpenAPI 架构的 operation.operationId 中派生出来。

description

string

可选。工具的说明。如果未提供,工具的说明将从 OpenAPI 架构(即 operation.descriptionoperation.summary)中派生。

apiAuthentication

object (ApiAuthentication)

可选。API 所需的身份验证信息。

tlsConfig

object (TlsConfig)

可选。TLS 配置。包含客户端将信任的自定义服务器证书。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

可选。Service Directory 配置。

ignoreUnknownFields

boolean

可选。如果为 true,代理将忽略 API 响应中的未知字段。

url

string

可选。Open API 架构的服务器网址。仅当架构包含服务器网址时,此字段才会在导出过程中设置在环境依赖项中的工具中。在导入过程中,如果此网址存在于环境依赖项中,并且架构具有 $env_var 占位符,则该网址将替换架构中的占位符。

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 Secret 版本资源的名称。格式:projects/{project}/secrets/{secret}/versions/{version}

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

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}

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

tokenEndpoint

string

必需。OAuth 提供方中用于换取访问令牌的令牌端点。

scopes[]

string

可选。要授予的 OAuth 范围。

ServiceAccountAuthConfig

JSON 表示法
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
字段
serviceAccount

string

必需。用于身份验证的服务账号的电子邮件地址。CES 使用此服务账号来交换访问令牌,然后在请求的 Authorization 标头中发送该访问令牌。

服务账号必须拥有授予 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/iam.serviceAccountTokenCreator 角色。

scopes[]

string

可选。要授予的 OAuth 范围。如果未指定,则使用默认范围 https://www.googleapis.com/auth/cloud-platform

BearerTokenConfig

JSON 表示法
{
  "token": string
}
字段
token

string

必需。不记名令牌。必须采用 $context.variables.<name_of_variable> 格式。

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 服务器证书使用“subject alt name”进行签名。例如,可以使用以下命令自签名证书:

   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)

可选。在单个特定数据存储区中搜索。

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

必需。数据存储区的完整资源名称。格式: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 规范化(即转换为 UTC 零时区格式并在末尾附加 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

数据源的名称。示例:salesforcejiraconfluencebigquery

EngineSource

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

string

必需。引擎的完整资源名称。格式:projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

可选。用于定位引擎中的特定数据存储区。如果为空,则搜索适用于与 Engine 关联的所有数据存储区。

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

必需。应用了提升配置的数据存储区。数据存储区的完整资源名称,例如 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
}
字段
enableSnippets

boolean

可选。是否启用了摘要。

PythonFunction

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

string

可选。要执行的 Python 函数的名称。必须与 Python 代码中定义的 Python 函数名称匹配。区分大小写。如果未提供名称,系统将使用 Python 代码中定义的第一个函数。

pythonCode

string

可选。要为工具执行的 Python 代码。

description

string

仅限输出。从 Python 代码的文档字符串中解析出的 Python 函数说明。

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 工具的名称替换。如果名称被 Toolset 替换项覆盖,则会填充此字段。

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

必需。widget 工具的显示名称。

description

string

可选。widget 工具的说明。

widgetType

enum (WidgetType)

可选。微件工具的类型。如果未指定,则默认类型为 CUSTOMIZED。

uiConfig

object (Struct format)

可选。用于呈现 widget 的配置。

dataMapping

object (DataMapping)

可选。用于定义如何将来源工具中的数据映射到 widget 的输入参数的映射。

textResponseConfig

object (TextResponseConfig)

可选。始终包含的文本回答的配置。

联合字段 input。widget 工具的输入。input 只能是下列其中一项:
parameters

object (Schema)

可选。widget 工具的输入参数。

DataMapping

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

string

可选。提供 widget 数据的工具(例如搜索工具或自定义函数)的资源名称。格式:projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

可选。widget 输入参数字段与源工具的相应输出字段之间的映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

pythonFunction

object (PythonFunction)

可选。用于将源工具的输出转换为 widget 的输入格式的 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)
  }
}
字段
name

string

必需。工具的名称。

description

string

必需。工具的说明。

agentCard

object (AgentCard)

必需。此工具调用的远程代理的代理卡片。

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

必需。相应网址支持的协议绑定。这是一个开放形式的字符串,可以轻松扩展以用于其他协议绑定。官方支持的核心模型包括 JSONRPCGRPCHTTP+JSON

tenant

string

在调用代理时要在请求中使用的租户 ID。

protocolVersion

string

必需。相应接口公开的 A2A protocol 版本。使用每个主要版本的最新受支持的次要版本。示例:“0.3”“1.0”

AgentSkill

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

string

必需。代理技能的唯一标识符。

name

string

必需。技能的人类可读名称。

description

string

必需。技能的详细说明。

tags[]

string

必需。一组描述技能功能的关键字。

examples[]

string

此技能可处理的提示或场景示例。

inputModes[]

string

相应技能支持的输入媒体类型集,用于替换代理的默认设置。

outputModes[]

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

标识符。示例的唯一标识符。格式: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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

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
}
字段
mimeType

string

必需。来源数据的 IANA 标准 MIME 类型。支持的图片类型包括: * image/png * image/jpeg * image/webp

data

string (bytes format)

必需。图片的原始字节。

使用 base64 编码的字符串。

ToolCall

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

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

可选。工具调用的唯一标识符。如果填充了该字段,客户端应返回执行结果,并在 ToolResponse 中包含匹配 ID。

displayName

string

仅限输出。工具的显示名称。

args

object (Struct format)

可选。以 JSON 对象格式表示的工具的输入参数和值。

联合字段 tool_identifier。要执行的工具的标识符。它可以是持久化工具,也可以是工具集中的工具。tool_identifier 只能是下列其中一项:
tool

string

可选。要执行的工具的名称。格式:projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

可选。要执行的工具集工具。

ToolsetTool

JSON 表示法
{
  "toolset": string,
  "toolId": string
}
字段
toolset

string

必需。相应工具所源自的 Toolset 的资源名称。格式:projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolId

string

可选。用于过滤工具的工具 ID,以检索相应工具的架构。

ToolResponse

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

  // 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”都被视为工具执行结果。

联合字段 tool_identifier。已执行的工具的标识符。它可以是持久化工具,也可以是工具集中的工具。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)
  }
  // End of list of possible types for union field guardrail_type.
}
字段
name

string

标识符。安全屏障的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

必需。安全屏障的显示名称。

description

string

可选。安全屏障的说明。

enabled

boolean

可选。安全护栏是否已启用。

action

object (TriggerAction)

可选。触发安全护栏时要采取的操作。

createTime

string (Timestamp format)

仅限输出。安全屏障的创建时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

用于确保对象在读取-修改-写入操作期间未发生更改的 ETag。如果 etag 为空,则更新会覆盖任何并发更改。

联合字段 guardrail_type。保护措施类型。guardrail_type 只能是下列其中一项:
contentFilter

object (ContentFilter)

可选。禁止在对话中使用某些内容的保护措施。

llmPromptSecurity

object (LlmPromptSecurity)

可选。如果根据 LLM 分类,提示被认为不安全,则会阻止对话的防护栏。

llmPolicy

object (LlmPolicy)

可选。如果 LLM 回答根据 LLM 分类被视为违反政策,则阻止对话的安全屏障。

modelSafety

object (ModelSafety)

可选。如果 LLM 回答根据模型安全设置被视为不安全,则阻止对话的安全屏障。

codeCallback

object (CodeCallback)

可选。根据回调执行结果可能会屏蔽对话的护栏。

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”:说明判决的字符串。“触发”决定可能会停止进一步处理。

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

标识符。工具集的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

可选。工具集的显示名称。在同一应用中必须是唯一的。

description

string

可选。工具集的说明。

timeout

string (Duration format)

可选。工具集执行的超时时间。如果未设置,则 SYNCHRONOUS 工具集的默认超时时间为 30 秒,ASYNCHRONOUS 工具集的默认超时时间为 60 秒。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

createTime

string (Timestamp format)

仅限输出。工具集创建时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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

可选。Open API 架构的服务器网址。只有在导出过程中,如果架构包含服务器网址,此字段才会设置在环境依赖项的工具集中。在导入过程中,如果此网址存在于环境依赖项中,并且架构具有 $env_var 占位符,则该网址将替换架构中的占位符。

ConnectorToolset

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

string

必需。所引用 Integration Connectors 连接的完整资源名称。格式:projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

可选。配置 Integration Connectors 中身份验证的处理方式。默认情况下,管理员身份验证会在 Integration Connectors API 请求中传递。您可以使用其他最终用户身份验证配置来替换它。注意:连接必须启用身份验证替换,才能在此处指定 EUC 配置,否则,工具集创建将失败。请参阅:https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

必需。要为其生成工具的连接器操作/实体操作的列表。

PrebuiltAmbientNoise

预建的环境噪音。

枚举
PREBUILT_AMBIENT_NOISE_UNSPECIFIED 未指定。
RETAIL_STORE 零售店的环境噪声。
CONVENTION_HALL 会议大厅的环境噪音。
OUTDOOR 街道的环境噪音。

ErrorHandlingStrategy

定义错误处理策略。

枚举
ERROR_HANDLING_STRATEGY_UNSPECIFIED 未指定错误处理策略。
NONE 未启用任何特定处理。
FALLBACK_RESPONSE 如果出现系统错误(例如 LLM 错误),系统会向用户返回后备消息。
END_SESSION 如果出现系统错误(例如 LLM 错误),系统会发出 EndSession 信号。

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 类型联合的 null 值。

如果类型为 NullValue 的字段的值不是 0,则视为无效。大多数 ProtoJSON 序列化程序都会发出一个 Value,并将 null_value 设置为 JSON null,无论整数值是多少,因此都会往返于 0 值。

枚举
NULL_VALUE Null 值。

类型

引擎的类型。请参阅以下文档:https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionTypehttps://cloud.google.com/generative-ai-app-builder/docs/create-datastore-ingest

枚举
TYPE_UNSPECIFIED 未指定引擎类型。
ENGINE_TYPE_CHAT Chat 引擎类型。应用的 SOLUTION_TYPE_CHAT 引擎。添加到应用的所有连接器数据存储区都将添加到此引擎。

ChannelType

频道配置文件的类型。

枚举
UNKNOWN 未知渠道类型。
WEB_UI Web 界面渠道。
API API 渠道。
TWILIO Twilio 渠道。
GOOGLE_TELEPHONY_PLATFORM Google 电话平台渠道。
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 未知角色。
CONCISE 智能体给出的回答简明扼要
CHATTY 代理会提供更多背景信息、说明和详细信息

模态

Web widget 的模态。

枚举
MODALITY_UNSPECIFIED 未知模态。
CHAT_AND_VOICE 微件支持聊天和语音输入。
VOICE_ONLY 该 widget 仅支持语音输入。
CHAT_ONLY 该 widget 仅支持聊天输入。
CHAT_VOICE_AND_VIDEO 微件支持聊天、语音和视频输入。

主题

网络微件的主题。

枚举
THEME_UNSPECIFIED 未知主题。
LIGHT 浅色主题。
DARK 深色主题。

方向

转移方向。

枚举
DIRECTION_UNSPECIFIED 未指定方向。
PARENT_TO_CHILD 从父智能体转移到子代理。
CHILD_TO_PARENT 从子智能体转移到父智能体。

RequestLocation

请求中 API 密钥的位置。

枚举
REQUEST_LOCATION_UNSPECIFIED 未指定。不应使用此值。
HEADER 表示 HTTP 标头中的键。
QUERY_STRING 表示查询字符串中的键。

OauthGrantType

OAuth 授权类型。仅支持客户端凭据授权

枚举
OAUTH_GRANT_TYPE_UNSPECIFIED 未指定。默认值为 CLIENT_CREDENTIAL。
CLIENT_CREDENTIAL 表示客户端凭据流

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]]。例如 5D3DT12H30MT24H

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 类型。将来可能会向此枚举添加新值。

枚举
WIDGET_TYPE_UNSPECIFIED 未指定 widget 类型。
CUSTOM 自定义 widget 类型。
PRODUCT_DETAILS 商品详情 widget。
QUICK_ACTIONS “快速操作”widget。
PRODUCT_COMPARISON 商品比较微件。
ADVANCED_PRODUCT_DETAILS 高级商品详情微件。
SHORT_FORM 简短表单 widget。
OVERALL_SATISFACTION 总体满意度 widget。
ORDER_SUMMARY 订单摘要微件。
APPOINTMENT_DETAILS 预约详情 widget。
APPOINTMENT_SCHEDULER 预约安排工具微件。
CONTACT_FORM 联系表单微件。

模式

用于将数据从源工具映射到 widget 的策略。

枚举
MODE_UNSPECIFIED 未指定模式。
FIELD_MAPPING 使用 field_mappings 映射进行数据转换。
PYTHON_SCRIPT 使用 python_script 进行数据转换。

类型

定义如何生成文本回答。

枚举
TYPE_UNSPECIFIED 未指定的类型。
NONE LLM 会根据对话上下文动态决定是否在 widget 旁边生成文本回答。
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 有害类别为露骨色情内容。

HarmBlockThreshold

用于屏蔽的基于概率的阈值级别。

枚举
HARM_BLOCK_THRESHOLD_UNSPECIFIED 未指定的有害屏蔽阈值。
BLOCK_LOW_AND_ABOVE 屏蔽低阈值及以上的内容(即屏蔽较多的内容)。
BLOCK_MEDIUM_AND_ABOVE 屏蔽中等阈值及以上。
BLOCK_ONLY_HIGH 仅屏蔽高阈值内容(即屏蔽较少的内容)。
BLOCK_NONE 全部不屏蔽。
OFF 关闭安全过滤条件。

输出架构

在 Customer Engagement Suite (CES) 中,应用版本是指应用在特定时间点的快照。该名称是不可变的,一经创建便无法修改。

AppVersion

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

string

标识符。应用版本的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/versions/{version}

displayName

string

可选。应用版本的显示名称。

description

string

可选。应用版本的说明。

creator

string

仅限输出。创建应用版本的用户的电子邮件地址。

createTime

string (Timestamp format)

仅限输出。应用版本创建时间的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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)

表示世界协调时间 (UTC) 的秒数(从 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
  ]
}
字段
name

string

标识符。应用的唯一标识符。格式: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)

可选。应用的 TimeZone 设置。

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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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

仅限输出。应用中的错误配置或警告。

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,以改进对多语言输入的处理。当代理收到不受支持的语言的输入时要执行的操作。

可以是预定义的操作,也可以是自定义的工具调用。有效值包括:- 工具的完整资源名称,用于触发特定工具的执行。- 预定义的系统操作,例如“升级”或“退出”,该操作会触发具有相应 metadataEndSession 信号来终止对话。

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)
  }
}
字段
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)

可选。在智能体提示用户重新互动之前,用户处于非活跃状态(无语音或互动)的时长。如果未设置,代理将不会提示用户重新互动。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

ambientSoundConfig

object (AmbientSoundConfig)

可选。配置与合成的代理回答一起播放的环境声音,以增强对话的自然度。

SynthesizeSpeechConfigsEntry

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

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

JSON 表示法
{
  "voice": string,
  "voiceSampleGcsUri": string,
  "speakingRate": number,
  "model": string,
  "instruction": string,
  "consentAudioGcsUri": string
}
字段
voice

string

可选。语音的名称。如果未设置,则该服务将根据其他参数(例如 language_code)选择语音。

如需查看可用语音的列表,请参阅 Cloud Text-to-Speech 的支持的语音和语言

voiceSampleGcsUri

string

可选。用于语音克隆的音频样本的 Cloud Storage URI。音频样本应为单声道、24kHz WAV 文件。

注意:请确保 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 具有对 Cloud Storage 对象的 storage.objects.get 权限。

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

可选。使用生成式模型时用于合成语音的指令。

consentAudioGcsUri

string

可选。用于语音克隆的同意录音的 Cloud Storage URI。

BargeInConfig

JSON 表示法
{
  "disableBargeIn": boolean,
  "bargeInAwareness": boolean
}
字段
disableBargeIn
(deprecated)

boolean

可选。已弃用:disable_barge_in 已弃用,取而代之的是 ChannelProfile 中的 disable_barge_in_control

在代理说话时禁止用户插话。如果为 true,则在代理回答播放期间,系统会忽略用户输入。

bargeInAwareness

boolean

可选。如果启用,代理会根据用户未听到之前代理消息的全部内容这一假设来调整其下一次响应。在以视觉方式显示智能体回答的场景中,不应使用此属性。

时长

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

时间段的带符号秒数。必须介于 -315,576,000,000 到 +315,576,000,000 之间(含边界值)。注意:这些界限是通过以下计算得出的:60 秒/分钟 * 60 分钟/小时 * 24 小时/天 * 365.25 天/年 * 10000 年

nanos

integer

时间跨度的有符号秒数小数部分(以纳秒为单位)。小于 1 秒的时长用 0 seconds 字段和正或负 nanos 字段表示。对于时长为 1 秒或更长时间的视频,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

可选。以单声道 16kHz 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"

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 存储桶。URI 必须以“gs://”开头。

请选择符合数据驻留要求的存储桶位置。

注意:如果 Cloud Storage 存储桶与应用位于不同的项目中,您应向 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 授予 storage.objects.create 权限。

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 数据集与应用不在同一项目中,您应向 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 授予 roles/bigquery.admin 角色。

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 天。

该时长以秒为单位,最多包含九个小数位,以“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,

  // 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 模型。如果未设置,代理将从其父智能体继承模型。

联合字段 _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

可选。指示值是否为 null。

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 数值。不得为 NaNInfinity-Infinity,因为 JSON 不支持这些值。由于 JSON 格式通常不支持其数字类型中的大型 Int64 值,因此这种格式也无法表示大型 Int64 值。

stringValue

string

表示 JSON 字符串。

boolValue

boolean

表示 JSON 布尔值(JSON 中的 truefalse 字面量)。

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)
  },
  "disableDtmf": boolean,
  "disableBargeInControl": boolean,
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "noiseSuppressionLevel": string,
  "whatsappConfig": {
    object (WhatsAppConfig)
  },
  "instagramConfig": {
    object (InstagramConfig)
  }
}
字段
profileId

string

可选。频道配置的唯一标识符。

channelType

enum (ChannelType)

可选。频道配置文件的类型。

personaProperty

object (PersonaProperty)

可选。频道个人资料的身份属性。

disableDtmf

boolean

可选。是否停用 DTMF(双音多频)。

disableBargeInControl

boolean

可选。是否在对话中停用用户抢占控制。- true:在代理说话时,系统会停用用户中断。- false:智能体保留对用户何时可以中断的自动控制权。

webWidgetConfig

object (WebWidgetConfig)

可选。Web widget 的配置。

noiseSuppressionLevel

string

可选。渠道配置文件的降噪级别。可用的值为“low”“moderate”“high”“very_high”。

whatsappConfig

object (WhatsAppConfig)

可选。特定于 WhatsApp 部署的配置。

instagramConfig

object (InstagramConfig)

可选。特定于 Instagram 部署的配置。

PersonaProperty

JSON 表示法
{
  "persona": enum (Persona)
}
字段
persona

enum (Persona)

可选。频道的角色。

WebWidgetConfig

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

enum (Modality)

可选。网页 widget 的模态。

theme

enum (Theme)

可选。网络微件的主题。

webWidgetTitle

string

可选。网络 widget 的标题。

securitySettings

object (SecuritySettings)

可选。Web widget 的安全设置。

SecuritySettings

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

boolean

可选。指示是否已启用对 Web widget 的公开访问权限。如果值为 true,则 Web widget 将可公开访问。如果为 false,则必须将 Web widget 与您自己的身份验证和授权系统集成,以返回用于访问 CES 代理的有效凭据。

enableOriginCheck

boolean

可选。指示是否为 Web widget 启用了来源检查。如果值为 true,则 Web widget 将检查加载该 Web widget 的网站的来源,并且仅允许在同一来源或任何允许的来源中加载该 Web widget。

allowedOrigins[]

string

可选。允许托管 Web widget 的来源。来源由 RFC 6454 定义。如果为空,则允许所有来源。最多允许 100 个来源。示例:“https://example.com”

enableRecaptcha

boolean

可选。指示是否已启用 Web widget 的 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 密文版本资源的名称。如果私钥未加密,则应将此字段留空。格式: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 工具。

代理

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)
  }
  // End of list of possible types for union field agent_type.
}
字段
name

string

标识符。代理的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

必需。代理的显示名称。

description

string

可选。代理的人类可读说明。

modelSettings

object (ModelSettings)

可选。LLM 模型的配置。

instruction

string

可选。LLM 模型的指令,用于指导代理的行为。

tools[]

string

可选。代理可用的工具列表。格式:projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

可选。代理树中的子代理列表。格式:projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

可选。在调用代理之前要执行的回调。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

afterAgentCallbacks[]

object (Callback)

可选。在调用代理后要执行的回调。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

beforeModelCallbacks[]

object (Callback)

可选。在调用模型之前要执行的回调。如果多次调用模型,则回调将执行多次。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

afterModelCallbacks[]

object (Callback)

可选。在调用模型后要执行的回调。如果多次调用模型,则回调将执行多次。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

beforeToolCallbacks[]

object (Callback)

可选。在调用工具之前要执行的回调。如果存在多次工具调用,则回调将执行多次。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

afterToolCallbacks[]

object (Callback)

可选。在调用工具后要执行的回调。如果存在多次工具调用,则回调将执行多次。所提供的回调会按其在列表中的确切顺序依次执行。如果回调返回了替换的响应,则执行会停止,并且会跳过所有剩余的回调。

createTime

string (Timestamp format)

仅限输出。创建代理时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 代理与应用位于不同的项目中,您应向 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com 授予 roles/dialogflow.client 权限。

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

回调

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)
  },

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

标识符。工具的资源名称。格式:

  • 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 秒。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

createTime

string (Timestamp format)

仅限输出。工具创建时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

用于确保对象在读取-修改-写入操作期间未发生更改的 ETag。如果 etag 为空,则更新会覆盖任何并发更改。

generatedSummary

string

仅限输出。如果该工具是由 LLM 助理生成的,则此字段包含生成内容的描述性摘要。

toolFakeConfig

object (ToolFakeConfig)

可选。伪造模式下工具行为的配置。

联合字段 tool_type。工具的类型。tool_type 只能是下列其中一项:
clientFunction

object (ClientFunction)

可选。客户端函数。

openApiTool

object (OpenApiTool)

可选。开放式 API 工具。

googleSearchTool

object (GoogleSearchTool)

可选。Google 搜索工具。

connectorTool

object (ConnectorTool)

可选。Integration Connector 工具。

dataStoreTool

object (DataStoreTool)

可选。数据存储区工具。

pythonFunction

object (PythonFunction)

可选。Python 函数工具。

mcpTool

object (McpTool)

可选。MCP 工具。MCP 工具无法直接创建或更新,而是由 MCP 工具集管理。

fileSearchTool

object (FileSearchTool)

可选。文件搜索工具。

systemTool

object (SystemTool)

可选。系统工具。

agentTool

object (AgentTool)

可选。代理工具。

widgetTool

object (WidgetTool)

可选。微件工具。

remoteAgentTool

object (RemoteAgentTool)

可选。远程代理工具。

ClientFunction

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

string

必需。函数名称。

description

string

可选。函数说明。

parameters

object (Schema)

可选。函数参数的架构。

response

object (Schema)

可选。函数响应的架构。

OpenApiTool

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

string

必需。JSON 或 YAML 格式的 OpenAPI 架构。

name

string

可选。工具的名称。如果未提供,工具的名称将从 OpenAPI 架构的 operation.operationId 中派生出来。

description

string

可选。工具的说明。如果未提供,工具的说明将从 OpenAPI 架构(即 operation.descriptionoperation.summary)中派生。

apiAuthentication

object (ApiAuthentication)

可选。API 所需的身份验证信息。

tlsConfig

object (TlsConfig)

可选。TLS 配置。包含客户端将信任的自定义服务器证书。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

可选。Service Directory 配置。

ignoreUnknownFields

boolean

可选。如果为 true,代理将忽略 API 响应中的未知字段。

url

string

可选。Open API 架构的服务器网址。仅当架构包含服务器网址时,此字段才会在导出过程中设置在环境依赖项中的工具中。在导入过程中,如果此网址存在于环境依赖项中,并且架构具有 $env_var 占位符,则该网址将替换架构中的占位符。

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 Secret 版本资源的名称。格式:projects/{project}/secrets/{secret}/versions/{version}

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

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}

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

tokenEndpoint

string

必需。OAuth 提供方中用于换取访问令牌的令牌端点。

scopes[]

string

可选。要授予的 OAuth 范围。

ServiceAccountAuthConfig

JSON 表示法
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
字段
serviceAccount

string

必需。用于身份验证的服务账号的电子邮件地址。CES 使用此服务账号来交换访问令牌,然后在请求的 Authorization 标头中发送该访问令牌。

服务账号必须拥有授予 CES 服务代理 service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/iam.serviceAccountTokenCreator 角色。

scopes[]

string

可选。要授予的 OAuth 范围。如果未指定,则使用默认范围 https://www.googleapis.com/auth/cloud-platform

BearerTokenConfig

JSON 表示法
{
  "token": string
}
字段
token

string

必需。不记名令牌。必须采用 $context.variables.<name_of_variable> 格式。

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 服务器证书使用“subject alt name”进行签名。例如,可以使用以下命令自签名证书:

   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)

可选。在单个特定数据存储区中搜索。

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

必需。数据存储区的完整资源名称。格式: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 规范化(即转换为 UTC 零时区格式并在末尾附加 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

数据源的名称。示例:salesforcejiraconfluencebigquery

EngineSource

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

string

必需。引擎的完整资源名称。格式:projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

可选。用于定位引擎中的特定数据存储区。如果为空,则搜索适用于与 Engine 关联的所有数据存储区。

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

必需。应用了提升配置的数据存储区。数据存储区的完整资源名称,例如 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
}
字段
enableSnippets

boolean

可选。是否启用了摘要。

PythonFunction

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

string

可选。要执行的 Python 函数的名称。必须与 Python 代码中定义的 Python 函数名称匹配。区分大小写。如果未提供名称,系统将使用 Python 代码中定义的第一个函数。

pythonCode

string

可选。要为工具执行的 Python 代码。

description

string

仅限输出。从 Python 代码的文档字符串中解析出的 Python 函数说明。

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 工具的名称替换。如果名称被 Toolset 替换项覆盖,则会填充此字段。

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

必需。widget 工具的显示名称。

description

string

可选。widget 工具的说明。

widgetType

enum (WidgetType)

可选。微件工具的类型。如果未指定,则默认类型为 CUSTOMIZED。

uiConfig

object (Struct format)

可选。用于呈现 widget 的配置。

dataMapping

object (DataMapping)

可选。用于定义如何将来源工具中的数据映射到 widget 的输入参数的映射。

textResponseConfig

object (TextResponseConfig)

可选。始终包含的文本回答的配置。

联合字段 input。widget 工具的输入。input 只能是下列其中一项:
parameters

object (Schema)

可选。widget 工具的输入参数。

DataMapping

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

string

可选。提供 widget 数据的工具(例如搜索工具或自定义函数)的资源名称。格式:projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

可选。widget 输入参数字段与源工具的相应输出字段之间的映射。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

pythonFunction

object (PythonFunction)

可选。用于将源工具的输出转换为 widget 的输入格式的 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)
  }
}
字段
name

string

必需。工具的名称。

description

string

必需。工具的说明。

agentCard

object (AgentCard)

必需。此工具调用的远程代理的代理卡片。

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

必需。相应网址支持的协议绑定。这是一个开放形式的字符串,可以轻松扩展以用于其他协议绑定。官方支持的核心模型包括 JSONRPCGRPCHTTP+JSON

tenant

string

在调用代理时要在请求中使用的租户 ID。

protocolVersion

string

必需。相应接口公开的 A2A protocol 版本。使用每个主要版本的最新受支持的次要版本。示例:“0.3”“1.0”

AgentSkill

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

string

必需。代理技能的唯一标识符。

name

string

必需。技能的人类可读名称。

description

string

必需。技能的详细说明。

tags[]

string

必需。一组描述技能功能的关键字。

examples[]

string

此技能可处理的提示或场景示例。

inputModes[]

string

相应技能支持的输入媒体类型集,用于替换代理的默认设置。

outputModes[]

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

标识符。示例的唯一标识符。格式: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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

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
}
字段
mimeType

string

必需。来源数据的 IANA 标准 MIME 类型。支持的图片类型包括: * image/png * image/jpeg * image/webp

data

string (bytes format)

必需。图片的原始字节。

使用 base64 编码的字符串。

ToolCall

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

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

可选。工具调用的唯一标识符。如果填充了该字段,客户端应返回执行结果,并在 ToolResponse 中包含匹配 ID。

displayName

string

仅限输出。工具的显示名称。

args

object (Struct format)

可选。以 JSON 对象格式表示的工具的输入参数和值。

联合字段 tool_identifier。要执行的工具的标识符。它可以是持久化工具,也可以是工具集中的工具。tool_identifier 只能是下列其中一项:
tool

string

可选。要执行的工具的名称。格式:projects/{project}/locations/{location}/apps/{app}/tools/{tool}

toolsetTool

object (ToolsetTool)

可选。要执行的工具集工具。

ToolsetTool

JSON 表示法
{
  "toolset": string,
  "toolId": string
}
字段
toolset

string

必需。相应工具所源自的 Toolset 的资源名称。格式:projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolId

string

可选。用于过滤工具的工具 ID,以检索相应工具的架构。

ToolResponse

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

  // 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”都被视为工具执行结果。

联合字段 tool_identifier。已执行的工具的标识符。它可以是持久化工具,也可以是工具集中的工具。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)
  }
  // End of list of possible types for union field guardrail_type.
}
字段
name

string

标识符。安全屏障的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

必需。安全屏障的显示名称。

description

string

可选。安全屏障的说明。

enabled

boolean

可选。安全护栏是否已启用。

action

object (TriggerAction)

可选。触发安全护栏时要采取的操作。

createTime

string (Timestamp format)

仅限输出。安全屏障的创建时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

用于确保对象在读取-修改-写入操作期间未发生更改的 ETag。如果 etag 为空,则更新会覆盖任何并发更改。

联合字段 guardrail_type。保护措施类型。guardrail_type 只能是下列其中一项:
contentFilter

object (ContentFilter)

可选。禁止在对话中使用某些内容的保护措施。

llmPromptSecurity

object (LlmPromptSecurity)

可选。如果根据 LLM 分类,提示被认为不安全,则会阻止对话的防护栏。

llmPolicy

object (LlmPolicy)

可选。如果 LLM 回答根据 LLM 分类被视为违反政策,则阻止对话的安全屏障。

modelSafety

object (ModelSafety)

可选。如果 LLM 回答根据模型安全设置被视为不安全,则阻止对话的安全屏障。

codeCallback

object (CodeCallback)

可选。根据回调执行结果可能会屏蔽对话的护栏。

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”:说明判决的字符串。“触发”决定可能会停止进一步处理。

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

标识符。工具集的唯一标识符。格式:projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

可选。工具集的显示名称。在同一应用中必须是唯一的。

description

string

可选。工具集的说明。

timeout

string (Duration format)

可选。工具集执行的超时时间。如果未设置,则 SYNCHRONOUS 工具集的默认超时时间为 30 秒,ASYNCHRONOUS 工具集的默认超时时间为 60 秒。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

createTime

string (Timestamp format)

仅限输出。工具集创建时的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 规范化(即转换为 UTC 零时区格式并在末尾附加 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

可选。Open API 架构的服务器网址。只有在导出过程中,如果架构包含服务器网址,此字段才会设置在环境依赖项的工具集中。在导入过程中,如果此网址存在于环境依赖项中,并且架构具有 $env_var 占位符,则该网址将替换架构中的占位符。

ConnectorToolset

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

string

必需。所引用 Integration Connectors 连接的完整资源名称。格式:projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

可选。配置 Integration Connectors 中身份验证的处理方式。默认情况下,管理员身份验证会在 Integration Connectors API 请求中传递。您可以使用其他最终用户身份验证配置来替换它。注意:连接必须启用身份验证替换,才能在此处指定 EUC 配置,否则,工具集创建将失败。请参阅:https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

必需。要为其生成工具的连接器操作/实体操作的列表。

PrebuiltAmbientNoise

预建的环境噪音。

枚举
PREBUILT_AMBIENT_NOISE_UNSPECIFIED 未指定。
RETAIL_STORE 零售店的环境噪声。
CONVENTION_HALL 会议大厅的环境噪音。
OUTDOOR 街道的环境噪音。

ErrorHandlingStrategy

定义错误处理策略。

枚举
ERROR_HANDLING_STRATEGY_UNSPECIFIED 未指定错误处理策略。
NONE 未启用任何特定处理。
FALLBACK_RESPONSE 如果出现系统错误(例如 LLM 错误),系统会向用户返回后备消息。
END_SESSION 如果出现系统错误(例如 LLM 错误),系统会发出 EndSession 信号。

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 类型联合的 null 值。

如果类型为 NullValue 的字段的值不是 0,则视为无效。大多数 ProtoJSON 序列化程序都会发出一个 Value,并将 null_value 设置为 JSON null,无论整数值是多少,因此都会往返于 0 值。

枚举
NULL_VALUE Null 值。

类型

引擎的类型。请参阅以下文档:https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/SolutionTypehttps://cloud.google.com/generative-ai-app-builder/docs/create-datastore-ingest

枚举
TYPE_UNSPECIFIED 未指定引擎类型。
ENGINE_TYPE_CHAT Chat 引擎类型。应用的 SOLUTION_TYPE_CHAT 引擎。添加到应用的所有连接器数据存储区都将添加到此引擎。

ChannelType

频道配置文件的类型。

枚举
UNKNOWN 未知渠道类型。
WEB_UI Web 界面渠道。
API API 渠道。
TWILIO Twilio 渠道。
GOOGLE_TELEPHONY_PLATFORM Google 电话平台渠道。
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 未知角色。
CONCISE 智能体给出的回答简明扼要
CHATTY 代理会提供更多背景信息、说明和详细信息

模态

Web widget 的模态。

枚举
MODALITY_UNSPECIFIED 未知模态。
CHAT_AND_VOICE 微件支持聊天和语音输入。
VOICE_ONLY 该 widget 仅支持语音输入。
CHAT_ONLY 该 widget 仅支持聊天输入。
CHAT_VOICE_AND_VIDEO 微件支持聊天、语音和视频输入。

主题

网络微件的主题。

枚举
THEME_UNSPECIFIED 未知主题。
LIGHT 浅色主题。
DARK 深色主题。

方向

转移方向。

枚举
DIRECTION_UNSPECIFIED 未指定方向。
PARENT_TO_CHILD 从父智能体转移到子代理。
CHILD_TO_PARENT 从子智能体转移到父智能体。

RequestLocation

请求中 API 密钥的位置。

枚举
REQUEST_LOCATION_UNSPECIFIED 未指定。不应使用此值。
HEADER 表示 HTTP 标头中的键。
QUERY_STRING 表示查询字符串中的键。

OauthGrantType

OAuth 授权类型。仅支持客户端凭据授权

枚举
OAUTH_GRANT_TYPE_UNSPECIFIED 未指定。默认值为 CLIENT_CREDENTIAL。
CLIENT_CREDENTIAL 表示客户端凭据流

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]]。例如 5D3DT12H30MT24H

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 类型。将来可能会向此枚举添加新值。

枚举
WIDGET_TYPE_UNSPECIFIED 未指定 widget 类型。
CUSTOM 自定义 widget 类型。
PRODUCT_DETAILS 商品详情 widget。
QUICK_ACTIONS “快速操作”widget。
PRODUCT_COMPARISON 商品比较微件。
ADVANCED_PRODUCT_DETAILS 高级商品详情微件。
SHORT_FORM 简短表单 widget。
OVERALL_SATISFACTION 总体满意度 widget。
ORDER_SUMMARY 订单摘要微件。
APPOINTMENT_DETAILS 预约详情 widget。
APPOINTMENT_SCHEDULER 预约安排工具微件。
CONTACT_FORM 联系表单微件。

模式

用于将数据从源工具映射到 widget 的策略。

枚举
MODE_UNSPECIFIED 未指定模式。
FIELD_MAPPING 使用 field_mappings 映射进行数据转换。
PYTHON_SCRIPT 使用 python_script 进行数据转换。

类型

定义如何生成文本回答。

枚举
TYPE_UNSPECIFIED 未指定的类型。
NONE LLM 会根据对话上下文动态决定是否在 widget 旁边生成文本回答。
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 有害类别为露骨色情内容。

HarmBlockThreshold

用于屏蔽的基于概率的阈值级别。

枚举
HARM_BLOCK_THRESHOLD_UNSPECIFIED 未指定的有害屏蔽阈值。
BLOCK_LOW_AND_ABOVE 屏蔽低阈值及以上的内容(即屏蔽较多的内容)。
BLOCK_MEDIUM_AND_ABOVE 屏蔽中等阈值及以上。
BLOCK_ONLY_HIGH 仅屏蔽高阈值内容(即屏蔽较少的内容)。
BLOCK_NONE 全部不屏蔽。
OFF 关闭安全过滤条件。

工具注释

破坏性提示:✅ | 等幂性提示:❌ | 只读提示:❌ | 开放世界提示:❌