Message

使用者與系統互動時傳送的訊息。

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

  // Union field kind can be only one of the following:
  "userMessage": {
    object (UserMessage)
  },
  "systemMessage": {
    object (SystemMessage)
  }
  // End of list of possible types for union field kind.
}
欄位
timestamp

string (Timestamp format)

僅供輸出。如果是使用者訊息,這是指系統收到訊息的時間。如果是系統訊息,則為系統產生訊息的時間。

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

messageId

string

選用。對話中訊息的專屬 ID,用於保留訊息。

聯集欄位 kind。訊息類型。kind 只能是下列其中一個設定:
userMessage

object (UserMessage)

與系統互動的使用者傳送的訊息。

systemMessage

object (SystemMessage)

系統回覆使用者的訊息。

UserMessage

與系統互動的使用者傳送的訊息。

JSON 表示法
{

  // Union field kind can be only one of the following:
  "text": string
  // End of list of possible types for union field kind.
}
欄位
聯集欄位 kind。使用者訊息中的內容類型。kind 只能是下列其中一個設定:
text

string

文字應使用這個欄位,而非 Blob。

SystemMessage

系統回覆使用者的訊息。這則訊息也可以是使用者傳送的訊息,做為系統多輪對話的歷史脈絡。

JSON 表示法
{

  // Union field kind can be only one of the following:
  "text": {
    object (TextMessage)
  },
  "schema": {
    object (SchemaMessage)
  },
  "data": {
    object (DataMessage)
  },
  "analysis": {
    object (AnalysisMessage)
  },
  "chart": {
    object (ChartMessage)
  },
  "error": {
    object (ErrorMessage)
  },
  "exampleQueries": {
    object (ExampleQueries)
  },
  "clarification": {
    object (ClarificationMessage)
  }
  // End of list of possible types for union field kind.
  "groupId": integer
}
欄位
聯集欄位 kind。系統訊息中的內容類型。kind 只能是下列其中一個設定:
text

object (TextMessage)

直接以自然語言回覆使用者訊息。

schema

object (SchemaMessage)

結構定義解析期間產生的訊息。

data

object (DataMessage)

在資料擷取期間產生的訊息。

analysis

object (AnalysisMessage)

分析期間產生的訊息。

chart

object (ChartMessage)

圖表生成期間產生的訊息。

error

object (ErrorMessage)

錯誤訊息。

exampleQueries

object (ExampleQueries)

選用。包含查詢範例的訊息。

clarification
(deprecated)

object (ClarificationMessage)

選用。已淘汰:請改用 TextMessage,並將 TextType 設為 FINAL_RESPONSE。包含釐清問題的訊息。

groupId

integer

用於識別事件所屬的群組。類似事件在邏輯上互有關聯,應在 UI 中一併顯示。

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) 不同。這些訊息可深入瞭解代理的動作。

SchemaMessage

結構定義解析期間產生的訊息。

JSON 表示法
{

  // Union field kind can be only one of the following:
  "query": {
    object (SchemaQuery)
  },
  "result": {
    object (SchemaResult)
  }
  // End of list of possible types for union field kind.
}
欄位
聯集欄位 kind。這則訊息是否包含查詢或結構定義解析結果。kind 只能是下列其中一個設定:
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
  },

  // Union field reference can be only one of the following:
  "bigqueryTableReference": {
    object (BigQueryTableReference)
  },
  "studioDatasourceId": string,
  "lookerExploreReference": {
    object (LookerExploreReference)
  },
  "alloyDbReference": {
    object (AlloyDbReference)
  },
  "spannerReference": {
    object (SpannerReference)
  },
  "cloudSqlReference": {
    object (CloudSqlReference)
  }
  // End of list of possible types for union field reference.
}
欄位
schema

object (Schema)

選用。資料來源的結構定義。

structSchema

object (Struct format)

選用。結構定義的結構體表示法。如果資料來源的結構定義無法完全以強型別的 schema 欄位表示,系統就會填入這個欄位。

如果是 Looker 資料來源,這會對應至 LookmlModelExplore 型別:https://cloud.google.com/looker/docs/reference/looker-api/latest/types/LookmlModelExplore

聯集欄位 reference。資料來源的參照。reference 只能是下列其中一個設定:
bigqueryTableReference

object (BigQueryTableReference)

BigQuery 資料表的參照。

studioDatasourceId

string

Looker Studio 資料來源的參照。

lookerExploreReference

object (LookerExploreReference)

Looker 探索的參照。

alloyDbReference

object (AlloyDbReference)

AlloyDB 資料庫的參照。

spannerReference

object (SpannerReference)

Spanner 資料庫的參照。

cloudSqlReference

object (CloudSqlReference)

Cloud SQL 資料庫的參照。

DataMessage

在資料擷取期間產生的訊息。

JSON 表示法
{

  // Union field kind can be only one of the following:
  "query": {
    object (DataQuery)
  },
  "generatedSql": string,
  "result": {
    object (DataResult)
  },
  "generatedLookerQuery": {
    object (LookerQuery)
  },
  "bigQueryJob": {
    object (BigQueryJob)
  }
  // End of list of possible types for union field kind.
}
欄位
聯集欄位 kind。這則訊息是否包含查詢、結果,或是擷取資料時產生的 SQL。kind 只能是下列其中一個設定:
query

object (DataQuery)

資料擷取查詢。

generatedSql

string

系統生成的 SQL,用於擷取資料。

result

object (DataResult)

已擷取的資料。

generatedLookerQuery
(deprecated)

object (LookerQuery)

系統生成的 Looker 查詢,用於擷取資料。已淘汰:產生的 Looker 查詢現在位於 DataQuery.looker 下方。

bigQueryJob

object (BigQueryJob)

系統執行的 BigQuery 工作,用於擷取資料。

DataQuery

用於擷取資料的查詢。

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

  // Union field query_type can be only one of the following:
  "looker": {
    object (LookerQuery)
  }
  // End of list of possible types for union field query_type.
}
欄位
question

string

選用。要回答的自然語言問題。

name

string

選用。查詢的蛇形命名法名稱,可反映查詢意圖。用於命名對應的資料結果,以便在後續步驟中參照。

  • 例如:「total_sales_by_product」
  • 例如:「sales_for_product_12345」
datasources[]

object (Datasource)

選用。可用於回答問題的資料來源。

聯集欄位 query_type。要執行的查詢類型。query_type 只能是下列其中一個設定:
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

AnalysisMessage

分析期間產生的訊息。

JSON 表示法
{

  // Union field kind can be only one of the following:
  "query": {
    object (AnalysisQuery)
  },
  "progressEvent": {
    object (AnalysisEvent)
  }
  // End of list of possible types for union field kind.
}
欄位
聯集欄位 kind。這封郵件是否包含查詢或分析中的其中一個事件。kind 只能是下列其中一個設定:
query

object (AnalysisQuery)

分析查詢。

progressEvent

object (AnalysisEvent)

表示分析進度的事件。

AnalysisQuery

用於執行分析的查詢。

JSON 表示法
{
  "question": string,
  "dataResultNames": [
    string
  ]
}
欄位
question

string

選用。分析問題,協助回答使用者的原始問題。

dataResultNames[]

string

選用。要分析的先前擷取資料結果名稱。

AnalysisEvent

表示分析進度的事件。

JSON 表示法
{

  // Union field kind can be only one of the following:
  "plannerReasoning": string,
  "coderInstruction": string,
  "code": string,
  "executionOutput": string,
  "executionError": string,
  "resultVegaChartJson": string,
  "resultNaturalLanguage": string,
  "resultCsvData": string,
  "resultReferenceData": string,
  "error": string
  // End of list of possible types for union field kind.
}
欄位
聯集欄位 kind。分析期間發生的事件類型。kind 只能是下列其中一個設定:
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 表示法
{

  // Union field kind can be only one of the following:
  "query": {
    object (ChartQuery)
  },
  "result": {
    object (ChartResult)
  }
  // End of list of possible types for union field kind.
}
欄位
聯集欄位 kind。這則訊息是否包含查詢或圖表生成結果。kind 只能是下列其中一個設定:
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 資料來源。

ClarificationMessage

已淘汰:請改用 TextMessage,並將 TextType 設為 FINAL_RESPONSE。一組問題訊息,可協助釐清使用者的查詢內容。如果系統無法有把握地回答使用者的問題,就會傳回這項結果。

JSON 表示法
{
  "questions": [
    {
      object (ClarificationQuestion)
    }
  ]
}
欄位
questions[]
(deprecated)

object (ClarificationQuestion)

這是必要旗標,已淘汰:上層訊息已淘汰。要向使用者提出的一組釐清問題。

ClarificationQuestion

已淘汰:請改用 TextMessage,並將 TextType 設為 FINAL_RESPONSE。代表向使用者提出的單一問題,有助於釐清查詢內容。

JSON 表示法
{
  "question": string,
  "selectionMode": enum (SelectionMode),
  "options": [
    string
  ],
  "clarificationQuestionType": enum (ClarificationQuestionType)
}
欄位
question
(deprecated)

string

這是必要旗標,已淘汰:上層訊息已淘汰。要向使用者提出的自然語言問題。

selectionMode
(deprecated)

enum (SelectionMode)

這是必要旗標,已淘汰:上層訊息已淘汰。這個問題的選取模式。

options[]
(deprecated)

string

這是必要旗標,已淘汰:上層訊息已淘汰。使用者可從中選擇的選項清單。選項數量上限為 5 個。

clarificationQuestionType
(deprecated)

enum (ClarificationQuestionType)

選用。已淘汰:上層訊息已淘汰。釐清問題的類型。

SelectionMode

已淘汰:上層訊息已淘汰。釐清問題的選取模式。

列舉
SELECTION_MODE_UNSPECIFIED

已淘汰:上層訊息已淘汰。未指定選取模式。

SINGLE_SELECT

已淘汰:上層訊息已淘汰。使用者只能選取一個選項。

MULTI_SELECT

已淘汰:上層訊息已淘汰。使用者可以選取多個選項。

ClarificationQuestionType

已淘汰:上層訊息已淘汰。釐清問題的類型。這個列舉可能會在日後擴充新值。

列舉
CLARIFICATION_QUESTION_TYPE_UNSPECIFIED

已淘汰:上層訊息已淘汰。未指定釐清問題類型。

FILTER_VALUES

已淘汰:上層訊息已淘汰。釐清問題是針對篩選條件值。

FIELDS

已淘汰:上層訊息已淘汰。釐清問題是針對資料欄位。這是泛稱,涵蓋 SQL 資料欄、Looker 欄位 (維度/測量指標) 或巢狀資料結構屬性。