Message

Pesan dari interaksi antara pengguna dan sistem.

Representasi 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.
}
Kolom
timestamp

string (Timestamp format)

Hanya output. Untuk pesan pengguna, ini adalah waktu saat sistem menerima pesan. Untuk pesan sistem, ini adalah waktu saat sistem membuat pesan.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

messageId

string

Opsional. ID unik pesan dalam percakapan untuk persistensi.

Jenis pesan. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
userMessage

object (UserMessage)

Pesan dari pengguna yang berinteraksi dengan sistem.

systemMessage

object (SystemMessage)

Pesan dari sistem sebagai respons terhadap pengguna.

Akhir kolom yang saling eksklusif.

UserMessage

Pesan dari pengguna yang berinteraksi dengan sistem.

Representasi 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.
}
Kolom
Jenis konten dalam pesan pengguna. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
text

string

Teks harus menggunakan kolom ini, bukan blob.

Akhir kolom yang saling eksklusif.

SystemMessage

Pesan dari sistem sebagai respons terhadap pengguna. Pesan ini juga dapat berupa pesan dari pengguna sebagai konteks historis untuk percakapan multi-turn dengan sistem.

Representasi 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
}
Kolom
citation

object (Citation)

Hanya output. Informasi kutipan untuk pesan sistem.

Jenis konten dalam pesan sistem. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
text

object (TextMessage)

Respons bahasa alami langsung terhadap pesan pengguna.

schema

object (SchemaMessage)

Pesan yang dihasilkan selama penyelesaian skema.

data

object (DataMessage)

Pesan yang dihasilkan selama pengambilan data.

analysis

object (AnalysisMessage)

Pesan yang dihasilkan selama analisis.

chart

object (ChartMessage)

Pesan yang dihasilkan selama pembuatan diagram.

error

object (ErrorMessage)

Pesan error.

exampleQueries

object (ExampleQueries)

Opsional. Pesan yang berisi contoh kueri.

Akhir kolom yang saling eksklusif.
groupId

integer

Mengidentifikasi grup tempat peristiwa berada. Peristiwa serupa dianggap relevan secara logis satu sama lain dan harus ditampilkan bersama di UI.

TextMessage

Pesan teks multi-bagian.

Representasi JSON
{
  "parts": [
    string
  ],
  "textType": enum (TextType),
  "thoughtSignature": string
}
Kolom
parts[]

string

Opsional. Bagian-bagian pesan.

textType

enum (TextType)

Opsional. Jenis pesan teks.

thoughtSignature

string (bytes format)

Opsional. Tanda tangan non-transparan untuk pemikiran sehingga dapat digunakan kembali dalam permintaan berikutnya.

String berenkode base64.

TextType

Jenis pesan teks.

Enum
TEXT_TYPE_UNSPECIFIED Jenis teks default.
FINAL_RESPONSE Teks adalah respons akhir terhadap pertanyaan pengguna.
THOUGHT Teks adalah pemikiran dari model.
PROGRESS Teks ini adalah pesan informasi tentang progres agen, seperti alat yang dipanggil. Hal ini berbeda dengan proses pemikiran internal agen (THOUGHT) dan jawaban akhir untuk pengguna (FINAL_RESPONSE). Pesan ini memberikan insight tentang tindakan agen.
FOLLOWUP_QUESTIONS Teks ini adalah daftar pertanyaan lanjutan yang disarankan. Setiap item di bagian adalah pertanyaan lanjutan.

SchemaMessage

Pesan yang dihasilkan selama penyelesaian skema.

Representasi 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.
}
Kolom
Apakah pesan ini berisi kueri atau hasil penyelesaian skema. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
query

object (SchemaQuery)

Kueri resolusi skema.

result

object (SchemaResult)

Hasil kueri resolusi skema.

Akhir kolom yang saling eksklusif.

SchemaQuery

Kueri untuk menyelesaikan skema yang relevan dengan pertanyaan yang diajukan.

Representasi JSON
{
  "question": string
}
Kolom
question

string

Opsional. Pertanyaan yang akan dikirim ke sistem untuk penyelesaian skema.

SchemaResult

Hasil resolusi skema.

Representasi JSON
{
  "datasources": [
    {
      object (Datasource)
    }
  ]
}
Kolom
datasources[]

object (Datasource)

Opsional. Sumber data yang digunakan untuk menyelesaikan kueri skema.

Sumber data

Sumber data yang dapat digunakan untuk menjawab pertanyaan.

Representasi 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.
}
Kolom
schema

object (Schema)

Opsional. Skema sumber data.

structSchema

object (Struct format)

Opsional. Representasi struct dari skema. Kolom ini diisi untuk sumber data dengan skema yang tidak dapat sepenuhnya diwakili oleh kolom schema yang berjenis data kuat.

Untuk sumber data Looker, ini dipetakan ke jenis LookmlModelExplore: https://cloud.google.com/looker/docs/reference/looker-api/latest/types/LookmlModelExplore

Referensi ke sumber data. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
bigqueryTableReference

object (BigQueryTableReference)

Referensi ke tabel BigQuery.

studioDatasourceId

string

Referensi ke sumber data Looker Studio.

lookerExploreReference

object (LookerExploreReference)

Referensi ke penjelajahan Looker.

bigqueryPropertyGraphReference

object (BigQueryPropertyGraphReference)

Referensi ke grafik properti BigQuery.

Akhir kolom yang saling eksklusif.

DataMessage

Pesan yang dihasilkan selama pengambilan data.

Representasi 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.
}
Kolom
Apakah pesan ini berisi kueri, hasil, atau SQL yang dihasilkan untuk pengambilan data. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
query

object (DataQuery)

Kueri pengambilan data.

generatedSql

string

SQL yang dihasilkan oleh sistem untuk mengambil data.

result

object (DataResult)

Data yang diambil.

bigQueryJob

object (BigQueryJob)

Tugas BigQuery yang dijalankan oleh sistem untuk mengambil data.

matchedQuery

object (MatchedQuery)

Kueri yang sudah ada sebelumnya dan dicocokkan untuk mengambil data.

Akhir kolom yang saling eksklusif.

DataQuery

Kueri untuk mengambil data.

Representasi 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.
}
Kolom
question

string

Opsional. Pertanyaan dalam bahasa alami yang harus dijawab.

name

string

Opsional. Nama snake_case untuk kueri yang mencerminkan maksudnya. Digunakan untuk memberi nama hasil data yang sesuai, sehingga dapat dirujuk pada langkah-langkah berikutnya.

  • Contoh: "total_sales_by_product"
  • Contoh: "sales_for_product_12345"
datasources[]

object (Datasource)

Opsional. Sumber data yang tersedia untuk menjawab pertanyaan.

Jenis kueri yang akan dijalankan. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
looker

object (LookerQuery)

Opsional. Kueri untuk mengambil data dari eksplorasi Looker.

Akhir kolom yang saling eksklusif.

DataResult

Data yang diambil.

Representasi JSON
{
  "name": string,
  "schema": {
    object (Schema)
  },
  "data": [
    {
      object
    }
  ],
  "formattedData": [
    {
      object
    }
  ]
}
Kolom
name

string

Opsional. Nama snake_case untuk hasil data yang mencerminkan isinya. Nama ini digunakan untuk meneruskan hasil berdasarkan referensi, dan berfungsi sebagai sinyal tentang artinya.

  • Contoh: "total_sales_by_product"
  • Contoh: "sales_for_product_12345"
schema

object (Schema)

Opsional. Skema data.

data[]

object (Struct format)

Opsional. Konten data. Setiap baris adalah struct yang cocok dengan skema. Nilai sederhana direpresentasikan sebagai string, sedangkan struktur bertingkat direpresentasikan sebagai daftar atau struct.

formattedData[]

object (Struct format)

Opsional. Representasi data yang diformat, jika ada. Setiap baris adalah struct yang secara langsung sesuai dengan baris pada indeks yang sama dalam kolom data. Nilainya adalah representasi string dari data asli, yang diformat sesuai dengan spesifikasi sumber data (misalnya, "$1.234,56" untuk mata uang). Kolom tanpa format akan ditampilkan sebagai representasi nilai mentahnya secara default. Jika tidak ada kolom yang memiliki aturan pemformatan, kolom ini akan kosong.

BigQueryJob

Tugas BigQuery yang dieksekusi oleh sistem.

Representasi JSON
{
  "projectId": string,
  "jobId": string,
  "location": string,
  "destinationTable": {
    object (BigQueryTableReference)
  },
  "schema": {
    object (Schema)
  }
}
Kolom
projectId

string

Wajib. Project tempat tugas berada.

Lihat JobReference.

jobId

string

Wajib. ID tugas.

Lihat JobReference.

location

string

Opsional. Lokasi tugas.

Lihat JobReference.

destinationTable

object (BigQueryTableReference)

Opsional. Referensi ke tabel tujuan hasil kueri tugas.

Lihat JobConfigurationQuery.

schema

object (Schema)

Opsional. Skema hasil kueri tugas.

Lihat JobStatistics2.

MatchedQuery

Pesan kueri yang cocok menunjukkan bahwa agen telah mencocokkan salah satu contoh kueri yang diberikan dalam konteks sebagai yang berlaku untuk pertanyaan saat ini. ID ini juga akan berisi info tambahan selama proses pencocokan.

Representasi JSON
{
  "exampleQuery": {
    object (ExampleQuery)
  },
  "queryParameterValues": [
    {
      object (QueryParameterValues)
    }
  ]
}
Kolom
exampleQuery

object (ExampleQuery)

Kueri yang cocok berdasarkan contoh kueri.

queryParameterValues[]

object (QueryParameterValues)

Nilai yang diekstrak untuk parameter kueri.

QueryParameterValues

Pesan nilai parameter kueri menampilkan nilai untuk parameter kueri yang diekstrak dari pertanyaan pengguna oleh LLM, berdasarkan contoh kueri.

Representasi JSON
{
  "name": string,
  "value": string
}
Kolom
name

string

Wajib. Nama parameter.

value

string

Wajib. Nilai parameter.

AnalysisMessage

Pesan yang dihasilkan selama analisis.

Representasi 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.
}
Kolom
Apakah pesan ini berisi kueri atau salah satu peristiwa dari analisis. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
query

object (AnalysisQuery)

Kueri analisis.

progressEvent

object (AnalysisEvent)

Peristiwa yang menunjukkan progres analisis.

Akhir kolom yang saling eksklusif.

AnalysisQuery

Kueri untuk melakukan analisis.

Representasi JSON
{
  "question": string,
  "dataResultNames": [
    string
  ]
}
Kolom
question

string

Opsional. Pertanyaan analisis untuk membantu menjawab pertanyaan asli pengguna.

dataResultNames[]

string

Opsional. Nama hasil data yang sebelumnya diambil untuk dianalisis.

AnalysisEvent

Peristiwa yang menunjukkan progres analisis.

Representasi 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.
}
Kolom
Jenis peristiwa yang terjadi selama analisis. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
plannerReasoning

string

Penalaran perencana codegen Python.

coderInstruction

string

Petunjuk yang dikeluarkan untuk pembuatan kode.

code

string

Kode yang dihasilkan.

executionOutput

string

Output dari eksekusi kode.

executionError

string

Error dari eksekusi kode.

resultVegaChartJson

string

Hasil sebagai string JSON diagram Vega.

resultNaturalLanguage

string

Hasil sebagai string NL.

resultCsvData

string

Hasil sebagai string CSV.

resultReferenceData

string

Hasil sebagai referensi ke sumber data.

error

string

Pesan error umum.

Akhir kolom yang saling eksklusif.

ChartMessage

Pesan yang dihasilkan selama pembuatan diagram.

Representasi 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.
}
Kolom
Apakah pesan ini berisi kueri atau hasil pembuatan diagram. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
query

object (ChartQuery)

Kueri untuk membuat diagram.

result

object (ChartResult)

Hasil kueri pembuatan diagram.

Akhir kolom yang saling eksklusif.

ChartQuery

Kueri untuk membuat diagram.

Representasi JSON
{
  "instructions": string,
  "dataResultName": string
}
Kolom
instructions

string

Opsional. Petunjuk bahasa alami untuk membuat diagram.

dataResultName

string

Opsional. Nama hasil data yang sebelumnya diambil untuk digunakan dalam diagram.

ChartResult

Hasil kueri pembuatan diagram.

Representasi JSON
{
  "vegaConfig": {
    object
  },
  "image": {
    object (Blob)
  }
}
Kolom
vegaConfig

object (Struct format)

Opsional. Konfigurasi diagram Vega yang dibuat. Lihat https://vega.github.io/vega/docs/config/

image

object (Blob)

Opsional. Rendering diagram jika ini diminta dalam konteks.

Blob

Blob data dengan jenis MIME.

Representasi JSON
{
  "mimeType": string,
  "data": string
}
Kolom
mimeType

string

Wajib. Jenis MIME standar IANA dari data pesan.

data

string (bytes format)

Wajib. Data yang direpresentasikan sebagai byte.

String berenkode base64.

ErrorMessage

Pesan error dari panggilan alat. Pesan ini digunakan untuk menunjukkan error yang terjadi saat agen mencoba menggunakan alat. Penting untuk diperhatikan bahwa tidak semua error bersifat fatal. Banyak yang dapat dipulihkan, dan agen dapat menggunakan informasi dari pesan error ini untuk mengoreksi diri sendiri dan mencoba lagi panggilan alat atau mencoba pendekatan yang berbeda.

Misalnya, jika kueri data gagal, agen dapat menerima ErrorMessage, menganalisisnya, lalu membuat kueri yang telah diperbaiki.

Klien harus berhati-hati dalam menafsirkan pesan ini sebagai kegagalan yang pasti. Hal ini dapat menjadi bagian dari proses iteratif normal agen dalam menyelesaikan tugas. Menampilkan error ini langsung kepada pengguna akhir tanpa konteks (misalnya, sebagai "kegagalan berat") dapat menyesatkan.

Representasi JSON
{
  "text": string
}
Kolom
text

string

Hanya output. Teks error.

ExampleQueries

Pesan yang berisi contoh kueri turunan dan buatan pengguna.

Representasi JSON
{
  "exampleQueries": [
    {
      object (ExampleQuery)
    }
  ]
}
Kolom
exampleQueries[]

object (ExampleQuery)

Opsional. Daftar kueri contoh yang dibuat dan berasal dari pengguna, yang memberikan contoh kueri SQL yang relevan dan umum digunakan serta kueri bahasa alaminya yang sesuai, jika ada. Saat ini hanya digunakan untuk sumber data BigQuery.

Pengutipan

Atribusi sumber untuk konten.

Representasi JSON
{
  "sources": [
    {
      object (CitationSource)
    }
  ],
  "anchors": [
    {
      object (CitationAnchor)
    }
  ]
}
Kolom
sources[]

object (CitationSource)

Hanya output. Daftar sumber yang dikutip.

anchors[]

object (CitationAnchor)

Hanya output. Daftar penanda kutipan.

CitationSource

Sumber kutipan.

Representasi 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.
}
Kolom
id

string

Hanya output. ID unik sumber. ID ini dibuat oleh layanan dan bersifat unik dalam cakupan satu pesan Citation.

title

string

Hanya output. Judul sumber.

Sumber kutipan, yang dapat berupa salah satu jenis yang didukung. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
uri

string

Hanya output. URI yang digunakan sebagai sumber, seperti URL perujukan web.

exampleQuery

object (ExampleQuery)

Hanya output. Contoh kueri yang digunakan sebagai sumber.

glossaryTerm

object (GlossaryTerm)

Hanya output. Istilah glosarium yang digunakan sebagai sumber.

Akhir kolom yang saling eksklusif.

CitationAnchor

Anchor kutipan.

Representasi 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.
}
Kolom
Anchor kutipan, yang dapat berupa salah satu jenis yang didukung. Berikut adalah daftar kolom yang bersifat eksklusif satu sama lain. Maksimal satu kolom akan ditetapkan dalam respons:
textMessageAnchor

object (TextMessageCitationAnchor)

Hanya output. Hanya disetel jika kutipan adalah untuk TextMessage.

Akhir kolom yang saling eksklusif.

TextMessageCitationAnchor

Link kutipan dalam TextMessage.

Representasi JSON
{
  "partIndex": integer,
  "startOffsetBytes": integer,
  "endOffsetBytes": integer,
  "sourceIds": [
    string
  ]
}
Kolom
partIndex

integer

Hanya output. Indeks berbasis 0 dari bagian dalam kolom TextMessage.parts.

startOffsetBytes

integer

Hanya output. Offset, yang diukur dalam byte UTF-8, dalam string bagian tempat kutipan dimulai (inklusif). Contoh: Untuk teks "Hello, world" dengan "world" yang dikutip, byte offset awal (inklusif) adalah 7 dan byte offset akhir (eksklusif) adalah 12.

endOffsetBytes

integer

Hanya output. Offset, yang diukur dalam byte UTF-8, dalam string bagian tempat kutipan berakhir (eksklusif). Contoh: Untuk teks "Hello, world" dengan "world" yang dikutip, byte offset awal (inklusif) adalah 7 dan byte offset akhir (eksklusif) adalah 12.

sourceIds[]

string

Hanya output. ID sumber yang dikutip.