Message

用户与系统之间的交互所生成的消息。

JSON 表示法
{
  "timestamp": string,
  "messageId": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userMessage": {
    object (UserMessage)
  },
  "systemMessage": {
    object (SystemMessage)
  }
  // End of mutually exclusive fields.
}
字段
timestamp

string (Timestamp format)

仅限输出。对于用户消息,这是系统收到消息的时间。对于系统消息,这是系统生成消息的时间。

采用 RFC 3339 标准,生成的输出将始终标准化为 Z (UTC),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

messageId

string

可选。对话中消息的唯一 ID,用于实现持久性。

消息的种类。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
userMessage

object (UserMessage)

与系统进行交互的用户发出的消息。

systemMessage

object (SystemMessage)

系统为响应用户而发出的消息。

互斥字段的结束。

UserMessage

与系统进行交互的用户发出的消息。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "text": string
  // End of mutually exclusive fields.
}
字段
用户消息中的内容的种类。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
text

string

文本应使用此字段,而不是 blob。

互斥字段的结束。

SystemMessage

系统为响应用户而发出的消息。此消息也可以是用户发出的消息,作为与系统进行多轮对话的历史上下文。

JSON 表示法
{
  "citation": {
    object (Citation)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "text": {
    object (TextMessage)
  },
  "schema": {
    object (SchemaMessage)
  },
  "data": {
    object (DataMessage)
  },
  "analysis": {
    object (AnalysisMessage)
  },
  "chart": {
    object (ChartMessage)
  },
  "error": {
    object (ErrorMessage)
  },
  "exampleQueries": {
    object (ExampleQueries)
  }
  // End of mutually exclusive fields.
  "groupId": integer
}
字段
citation

object (Citation)

仅限输出。系统消息的引用信息。

系统消息中的内容的种类。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
text

object (TextMessage)

对用户消息的直接自然语言响应。

schema

object (SchemaMessage)

在架构解析期间生成的消息。

data

object (DataMessage)

在数据检索期间生成的消息。

analysis

object (AnalysisMessage)

在分析期间生成的消息。

chart

object (ChartMessage)

在图表生成期间生成的消息。

error

object (ErrorMessage)

错误消息。

exampleQueries

object (ExampleQueries)

可选。包含示例查询的消息。

互斥字段的结束。
groupId

integer

标识事件所属的群组。相似事件在逻辑上被视为彼此相关,应在界面中一起显示。

TextMessage

多部分文本消息。

JSON 表示法
{
  "parts": [
    string
  ],
  "textType": enum (TextType),
  "thoughtSignature": string
}
字段
parts[]

string

可选。消息的各个部分。

textType

enum (TextType)

可选。短信的类型。

thoughtSignature

string (bytes format)

可选。一种用于想法的不透明签名,以便在后续请求中重复使用。

使用 base64 编码的字符串。

TextType

短信的类型。

枚举
TEXT_TYPE_UNSPECIFIED 默认文本类型。
FINAL_RESPONSE 该文本是对用户问题的最终回答。
THOUGHT 该文本是模型给出的想法。
PROGRESS 该文本是有关智能体进度的信息性消息,例如正在调用的工具。这与智能体的内部思考过程 (THOUGHT) 和给用户的最终回答 (FINAL_RESPONSE) 不同。这些消息可让您了解智能体的行动。
FOLLOWUP_QUESTIONS 该文本是建议的后续问题列表。parts 中的每个项都是一个后续问题。

SchemaMessage

在架构解析期间生成的消息。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "query": {
    object (SchemaQuery)
  },
  "result": {
    object (SchemaResult)
  }
  // End of mutually exclusive fields.
}
字段
此消息是包含架构解析的查询还是其结果。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
query

object (SchemaQuery)

架构解析查询。

result

object (SchemaResult)

架构解析查询的结果。

互斥字段的结束。

SchemaQuery

用于解析与所提问题相关的架构的查询。

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

string

可选。要发送给系统进行架构解析的问题。

SchemaResult

架构解析的结果。

JSON 表示法
{
  "datasources": [
    {
      object (Datasource)
    }
  ]
}
字段
datasources[]

object (Datasource)

可选。用于解析架构查询的数据源。

数据源

可用于回答问题的数据源。

JSON 表示法
{
  "schema": {
    object (Schema)
  },
  "structSchema": {
    object
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "bigqueryTableReference": {
    object (BigQueryTableReference)
  },
  "studioDatasourceId": string,
  "lookerExploreReference": {
    object (LookerExploreReference)
  },
  "bigqueryPropertyGraphReference": {
    object (BigQueryPropertyGraphReference)
  }
  // End of mutually exclusive fields.
}
字段
schema

object (Schema)

可选。数据源的架构。

structSchema

object (Struct format)

可选。架构的结构体表示形式。对于无法通过强类型 schema 字段完全表示的架构的数据源,此字段会填充相应数据。

对于 Looker 数据源,此属性会映射到 LookmlModelExplore 类型:https://cloud.google.com/looker/docs/reference/looker-api/latest/types/LookmlModelExplore

对数据源的引用。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
bigqueryTableReference

object (BigQueryTableReference)

对 BigQuery 表的引用。

studioDatasourceId

string

对 Looker Studio 数据源的引用。

lookerExploreReference

object (LookerExploreReference)

对 Looker 探索的引用。

bigqueryPropertyGraphReference

object (BigQueryPropertyGraphReference)

对 BigQuery 属性图的引用。

互斥字段的结束。

DataMessage

在数据检索期间生成的消息。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "query": {
    object (DataQuery)
  },
  "generatedSql": string,
  "result": {
    object (DataResult)
  },
  "bigQueryJob": {
    object (BigQueryJob)
  },
  "matchedQuery": {
    object (MatchedQuery)
  }
  // End of mutually exclusive fields.
}
字段
此消息是包含数据检索的查询、结果还是生成的 SQL。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
query

object (DataQuery)

数据检索查询。

generatedSql

string

系统为检索数据而生成的 SQL。

result

object (DataResult)

检索到的数据。

bigQueryJob

object (BigQueryJob)

系统为检索数据而执行的 BigQuery 作业。

matchedQuery

object (MatchedQuery)

匹配的用于检索数据的预先存在的查询。

互斥字段的结束。

DataQuery

用于检索数据的查询。

JSON 表示法
{
  "question": string,
  "name": string,
  "datasources": [
    {
      object (Datasource)
    }
  ],

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "looker": {
    object (LookerQuery)
  }
  // End of mutually exclusive fields.
}
字段
question

string

可选。要回答的自然语言问题。

name

string

可选。反映查询意图的蛇形命名法查询名称。它用于为对应的数据结果命名,以便可以在后续步骤中引用。

  • 示例:“total_sales_by_product”
  • 示例:“sales_for_product_12345”
datasources[]

object (Datasource)

可选。可用于回答问题的数据源。

要执行的查询的类型。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
looker

object (LookerQuery)

可选。用于从 Looker 探索中检索数据的查询。

互斥字段的结束。

DataResult

检索到的数据。

JSON 表示法
{
  "name": string,
  "schema": {
    object (Schema)
  },
  "data": [
    {
      object
    }
  ],
  "formattedData": [
    {
      object
    }
  ]
}
字段
name

string

可选。反映数据结果内容的蛇形命名法数据结果名称。该名称用于通过引用传递结果,并用作表示其含义的信号。

  • 示例:“total_sales_by_product”
  • 示例:“sales_for_product_12345”
schema

object (Schema)

可选。数据的架构。

data[]

object (Struct format)

可选。数据的内容。每行都是一个与架构匹配的结构体。简单值以字符串表示,而嵌套结构以列表或结构体表示。

formattedData[]

object (Struct format)

可选。数据的格式化表示形式(如果适用)。每行都是一个结构体,直接对应于 data 字段中相同索引处的行。其值是原始数据的字符串表示形式,根据数据源规范进行格式设置(例如,货币为“$1,234.56”)。未设置格式的列将默认为其原始值表示形式。如果没有任何列具有格式设置规则,此字段将为空。

BigQueryJob

系统执行的 BigQuery 作业。

JSON 表示法
{
  "projectId": string,
  "jobId": string,
  "location": string,
  "destinationTable": {
    object (BigQueryTableReference)
  },
  "schema": {
    object (Schema)
  }
}
字段
projectId

string

必需。作业所属的项目。

请参阅 JobReference。

jobId

string

必需。作业的 ID。

请参阅 JobReference。

location

string

可选。作业的位置。

请参阅 JobReference。

destinationTable

object (BigQueryTableReference)

可选。对作业查询结果的目标表的引用。

请参阅 JobConfigurationQuery。

schema

object (Schema)

可选。作业查询结果的架构。

请参阅 JobStatistics2。

MatchedQuery

匹配的查询消息表示代理已将上下文中的某个示例查询匹配为适用于当前问题。在匹配过程中,它还会包含其他信息。

JSON 表示法
{
  "exampleQuery": {
    object (ExampleQuery)
  },
  "queryParameterValues": [
    {
      object (QueryParameterValues)
    }
  ]
}
字段
exampleQuery

object (ExampleQuery)

根据示例查询匹配的查询。

queryParameterValues[]

object (QueryParameterValues)

查询参数的提取值。

QueryParameterValues

查询参数值消息表示 LLM 根据示例查询从用户问题中提取的查询参数值。

JSON 表示法
{
  "name": string,
  "value": string
}
字段
name

string

必需。参数的名称。

value

string

必需。参数值。

AnalysisMessage

在分析期间生成的消息。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "query": {
    object (AnalysisQuery)
  },
  "progressEvent": {
    object (AnalysisEvent)
  }
  // End of mutually exclusive fields.
}
字段
此消息是包含分析查询还是分析中的某个事件。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
query

object (AnalysisQuery)

分析查询。

progressEvent

object (AnalysisEvent)

表示分析进度的事件。

互斥字段的结束。

AnalysisQuery

用于执行分析的查询。

JSON 表示法
{
  "question": string,
  "dataResultNames": [
    string
  ]
}
字段
question

string

可选。可帮助回答用户的原始问题的分析问题。

dataResultNames[]

string

可选。要分析的之前检索到的数据结果的名称。

AnalysisEvent

表示分析进度的事件。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "plannerReasoning": string,
  "coderInstruction": string,
  "code": string,
  "executionOutput": string,
  "executionError": string,
  "resultVegaChartJson": string,
  "resultNaturalLanguage": string,
  "resultCsvData": string,
  "resultReferenceData": string,
  "error": string
  // End of mutually exclusive fields.
}
字段
分析期间发生的事件的种类。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
plannerReasoning

string

Python 代码生成规划工具的推理。

coderInstruction

string

为进行代码生成而发出的指令。

code

string

生成的代码。

executionOutput

string

代码执行的输出。

executionError

string

代码执行产生的错误。

resultVegaChartJson

string

采用 Vega 图表 JSON 字符串形式的结果。

resultNaturalLanguage

string

采用 NL 字符串形式的结果。

resultCsvData

string

采用 CSV 字符串形式的结果。

resultReferenceData

string

采用对数据源的引用形式的结果。

error

string

一般错误消息。

互斥字段的结束。

ChartMessage

在图表生成期间生成的消息。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "query": {
    object (ChartQuery)
  },
  "result": {
    object (ChartResult)
  }
  // End of mutually exclusive fields.
}
字段
此消息是包含图表生成查询还是其结果。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
query

object (ChartQuery)

用于生成图表的查询。

result

object (ChartResult)

图表生成查询的结果。

互斥字段的结束。

ChartQuery

用于生成图表的查询。

JSON 表示法
{
  "instructions": string,
  "dataResultName": string
}
字段
instructions

string

可选。用于生成图表的自然语言指令。

dataResultName

string

可选。要在图表中使用的之前检索到的数据结果的名称。

ChartResult

图表生成查询的结果。

JSON 表示法
{
  "vegaConfig": {
    object
  },
  "image": {
    object (Blob)
  }
}
字段
vegaConfig

object (Struct format)

可选。生成的 Vega 图表配置。请参阅 https://vega.github.io/vega/docs/config/

image

object (Blob)

可选。图表的渲染(如果在上下文中请求获得此内容)。

Blob

具有 MIME 类型的数据 blob。

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

string

必需。消息数据的 IANA 标准 MIME 类型。

data

string (bytes format)

必需。以字节表示的数据。

使用 base64 编码的字符串。

ErrorMessage

工具调用的错误消息。此消息用于表示智能体尝试使用工具时发生的错误。请务必注意,并非所有错误都是致命的。许多错误都是可消除的,代理可以使用此错误消息中的信息自行更正并重试工具调用,或尝试其他方法。

例如,如果数据查询失败,智能体可能会收到 ErrorMessage,对其进行分析,然后生成更正后的查询。

客户端在解读此消息时应谨慎,不应将其视为明确的失败。它可以是智能体完成任务的正常迭代过程的一部分。在没有上下文的情况下直接向最终用户显示这些错误(例如,作为“严重失败”)可能会产生误导。

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

string

仅限输出。错误的文本。

ExampleQueries

包含派生查询和人工撰写的示例查询的消息。

JSON 表示法
{
  "exampleQueries": [
    {
      object (ExampleQuery)
    }
  ]
}
字段
exampleQueries[]

object (ExampleQuery)

可选。派生和撰写的示例查询列表,可提供相关的常用 SQL 查询示例及其相应的自然语言查询(可选)。目前仅用于 BigQuery 数据源。

引用

内容来源归因。

JSON 表示法
{
  "sources": [
    {
      object (CitationSource)
    }
  ],
  "anchors": [
    {
      object (CitationAnchor)
    }
  ]
}
字段
sources[]

object (CitationSource)

仅限输出。被引用的来源列表。

anchors[]

object (CitationAnchor)

仅限输出。引用锚点的列表。

CitationSource

引文的来源。

JSON 表示法
{
  "id": string,
  "title": string,

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

string

仅限输出。来源的唯一标识符。此 ID 由服务生成,在单个 Citation 消息的范围内是唯一的。

title

string

仅限输出。来源的标题。

引用来源,可以是受支持的类型之一。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
uri

string

仅限输出。用作来源的 URI,例如 Web 接地网址。

exampleQuery

object (ExampleQuery)

仅限输出。用作来源的示例查询。

glossaryTerm

object (GlossaryTerm)

仅限输出。用作来源的词汇表术语。

互斥字段的结束。

CitationAnchor

引用的锚点。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "textMessageAnchor": {
    object (TextMessageCitationAnchor)
  }
  // End of mutually exclusive fields.
}
字段
引用的锚点,可以是支持的类型之一。以下是互斥字段的列表。在响应中,最多只能设置以下字段之一:
textMessageAnchor

object (TextMessageCitationAnchor)

仅限输出。仅当引用对象为 TextMessage 时设置。

互斥字段的结束。

TextMessageCitationAnchor

TextMessage 中的引用锚点。

JSON 表示法
{
  "partIndex": integer,
  "startOffsetBytes": integer,
  "endOffsetBytes": integer,
  "sourceIds": [
    string
  ]
}
字段
partIndex

integer

仅限输出。TextMessage.parts 字段中相应部分的从 0 开始的索引。

startOffsetBytes

integer

仅限输出。引用在部分字符串中的起始位置(含),以 UTF-8 字节为单位。示例:对于引用了“world”的文本“Hello, world”,起始偏移字节(含)为 7,结束偏移字节(不含)为 12。

endOffsetBytes

integer

仅限输出。引用在部分字符串中结束的位置(不含边界值),以 UTF-8 字节为单位。示例:对于引用了“world”的文本“Hello, world”,起始偏移字节(含)为 7,结束偏移字节(不含)为 12。

sourceIds[]

string

仅限输出。被引用的来源的 ID。