Message

对话中的消息。

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 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "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 mutually exclusive fields.
}
字段
数据块数据。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
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

表示对话中的 blob 输入或输出。

JSON 表示法
{
  "mimeType": string,
  "data": string
}
字段
mimeType

string

必需。来源数据的 IANA 标准 MIME 类型。

data

string (bytes format)

必需。Blob 的原始字节。

使用 base64 编码的字符串。

映像

表示对话中的图片输入或输出。

JSON 表示法
{
  "mimeType": string,
  "data": string,
  "altText": string
}
字段
mimeType

string

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

data

string (bytes format)

必需。图片的原始字节。

使用 base64 编码的字符串。

altText

string

可选。图片的替代文本。

ToolCall

请求客户端或代理执行指定工具。

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of mutually exclusive fields.
}
字段
id

string

可选。工具调用的唯一标识符。如果已填充,客户端应在 ToolResponse 中返回具有匹配 ID 的执行结果。

displayName

string

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

args

object (Struct format)

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

parentToolCallId

string

仅限输出。导致此工具调用的工具调用的 ID(如果此工具调用是由代表父级调用工作的子智能体发出的)。对于顶级调用,此字段为空。让客户端能够将子智能体的工作归入启动该工作的调用下,而不是将每个步骤都呈现为同级。

agentName

string

仅限输出。发出此调用的智能体的人类可读名称,例如“Contract Architect”。如果由根代理发出,则为空。

targetApp

string

仅限输出。此调用所针对的应用,由助理根据调用的资源实参推导得出:应用资源名称、PROJECT(对于位置级工具)或空(对于会话本地工具)。仅在项目级范围的助理会话中设置。

要执行的工具的标识符。它可以是持久化工具,也可以是工具集中的工具。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
tool

string

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

toolsetTool

object (ToolsetTool)

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

互斥字段结束。

ToolsetTool

通过工具集创建的工具。

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

string

必需。此工具派生自的工具集的资源名称。格式:projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolId

string

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

ToolResponse

客户端或智能体中特定工具的执行结果。

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "tool": string,
  "toolsetTool": {
    object (ToolsetTool)
  }
  // End of mutually exclusive fields.
}
字段
id

string

可选。回复所针对的 tool call 的匹配 ID。

displayName

string

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

response

object (Struct format)

必需。以 JSON 对象格式表示的工具执行结果。使用“output”键指定工具响应,使用“error”键指定错误详情(如有)。如果未指定“output”和“error”键,则整个“response”都会被视为工具执行结果。

parentToolCallId

string

仅限输出。导致此工具调用的工具调用的 ID(如果此工具调用是由代表父级调用工作的子智能体发出的)。对于顶级调用,此字段为空。让客户端能够将子智能体的工作归入启动该工作的调用下,而不是将每个步骤都呈现为同级。

agentName

string

仅限输出。发出此调用的智能体的人类可读名称,例如“Contract Architect”。如果由根代理发出,则为空。

targetApp

string

仅限输出。执行的工具所针对的应用;镜像 ToolCall.target_app。

已执行工具的标识符。它可以是持久化工具,也可以是工具集中的工具。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
tool

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

仅限输出。代理的显示名称。