Message

Mensagem de uma interação entre o usuário e o sistema.

Representação 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.
}
Campos
timestamp

string (Timestamp format)

Apenas saída. Para mensagens do usuário, é o momento em que o sistema recebeu a mensagem. Para mensagens do sistema, é o horário em que o sistema gerou a mensagem.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

messageId

string

Opcional. ID exclusivo da mensagem na conversa para persistência.

O tipo de mensagem. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
userMessage

object (UserMessage)

Mensagem do usuário que está interagindo com o sistema.

systemMessage

object (SystemMessage)

Mensagem do sistema em resposta ao usuário.

Fim dos campos mutuamente exclusivos.

UserMessage

Mensagem do usuário que está interagindo com o sistema.

Representação 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.
}
Campos
O tipo de conteúdo na mensagem do usuário. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
text

string

O texto precisa usar esse campo em vez de blob.

Fim dos campos mutuamente exclusivos.

SystemMessage

Mensagem do sistema em resposta ao usuário. Essa mensagem também pode ser do usuário como contexto histórico para conversas multiturno com o sistema.

Representação 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
}
Campos
citation

object (Citation)

Apenas saída. Informações de citação para a mensagem do sistema.

O tipo de conteúdo na mensagem do sistema. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
text

object (TextMessage)

Uma resposta direta em linguagem natural à mensagem do usuário.

schema

object (SchemaMessage)

Uma mensagem produzida durante a resolução do esquema.

data

object (DataMessage)

Uma mensagem produzida durante a recuperação de dados.

analysis

object (AnalysisMessage)

Uma mensagem gerada durante a análise.

chart

object (ChartMessage)

Uma mensagem produzida durante a geração de gráficos.

error

object (ErrorMessage)

Uma mensagem de erro.

exampleQueries

object (ExampleQueries)

Opcional. Uma mensagem com exemplos de consultas.

Fim dos campos mutuamente exclusivos.
groupId

integer

Identifica o grupo a que o evento pertence. Eventos semelhantes são considerados logicamente relevantes entre si e devem ser mostrados juntos na interface.

TextMessage

Uma mensagem de texto de várias partes.

Representação JSON
{
  "parts": [
    string
  ],
  "textType": enum (TextType),
  "thoughtSignature": string
}
Campos
parts[]

string

Opcional. As partes da mensagem.

textType

enum (TextType)

Opcional. O tipo da mensagem de texto.

thoughtSignature

string (bytes format)

Opcional. Uma assinatura opaca para um pensamento, para que ele possa ser reutilizado em solicitações subsequentes.

Uma string codificada em base64.

TextType

O tipo da mensagem de texto.

Tipos enumerados
TEXT_TYPE_UNSPECIFIED O tipo de texto padrão.
FINAL_RESPONSE O texto é uma resposta final à pergunta do usuário.
THOUGHT O texto é uma ideia do modelo.
PROGRESS O texto é uma mensagem informativa sobre o progresso do agente, como uma ferramenta sendo invocada. Isso é diferente do processo de raciocínio interno do agente (THOUGHT) e da resposta final ao usuário (FINAL_RESPONSE). Essas mensagens fornecem insights sobre as ações do agente.
FOLLOWUP_QUESTIONS O texto é uma lista de perguntas complementares sugeridas. Cada item em "parts" é uma pergunta complementar.

SchemaMessage

Uma mensagem produzida durante a resolução do esquema.

Representação 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.
}
Campos
Se esta mensagem contém a consulta ou o resultado da resolução do esquema. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
query

object (SchemaQuery)

Uma consulta de resolução do esquema.

result

object (SchemaResult)

O resultado de uma consulta de resolução do esquema.

Fim dos campos mutuamente exclusivos.

SchemaQuery

Uma consulta para resolver o esquema relevante para a pergunta feita.

Representação JSON
{
  "question": string
}
Campos
question

string

Opcional. A pergunta a ser enviada ao sistema para resolução do esquema.

SchemaResult

O resultado da resolução do esquema.

Representação JSON
{
  "datasources": [
    {
      object (Datasource)
    }
  ]
}
Campos
datasources[]

object (Datasource)

Opcional. As fontes de dados usadas para resolver a consulta do esquema.

Datasource

Fonte de dados que pode ser usada para responder a perguntas.

Representação 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.
}
Campos
schema

object (Schema)

Opcional. É o esquema da fonte de dados.

structSchema

object (Struct format)

Opcional. Uma representação de struct do esquema. É preenchido para fontes de dados com esquemas que não podem ser totalmente representados pelo campo schema fortemente tipado.

Para fontes de dados do Looker, isso é mapeado para o tipo LookmlModelExplore: https://cloud.google.com/looker/docs/reference/looker-api/latest/types/LookmlModelExplore

A referência à fonte de dados. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
bigqueryTableReference

object (BigQueryTableReference)

Referência a uma tabela do BigQuery.

studioDatasourceId

string

Referência a uma fonte de dados do Looker Studio.

lookerExploreReference

object (LookerExploreReference)

Referência a uma Análise do Looker.

bigqueryPropertyGraphReference

object (BigQueryPropertyGraphReference)

Uma referência a um grafo de propriedades do BigQuery.

Fim dos campos mutuamente exclusivos.

DataMessage

Uma mensagem produzida durante a recuperação de dados.

Representação 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.
}
Campos
Se esta mensagem contém a consulta, o resultado ou o SQL gerado para a recuperação de dados. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
query

object (DataQuery)

Uma consulta de recuperação de dados.

generatedSql

string

SQL gerado pelo sistema para recuperar dados.

result

object (DataResult)

Dados recuperados.

bigQueryJob

object (BigQueryJob)

Um job do BigQuery executado pelo sistema para recuperar dados.

matchedQuery

object (MatchedQuery)

Uma consulta preexistente que foi correspondida para recuperar dados.

Fim dos campos mutuamente exclusivos.

DataQuery

Uma consulta para recuperar dados.

Representação 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.
}
Campos
question

string

Opcional. Uma pergunta em linguagem natural para responder.

name

string

Opcional. Um nome em formato snake case para a consulta que reflete a intenção dela. É usado para nomear o resultado de dados correspondente e, assim, ser referenciado nas etapas posteriores.

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

object (Datasource)

Opcional. As fontes de dados disponíveis para responder a pergunta.

O tipo de consulta a ser executada. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
looker

object (LookerQuery)

Opcional. Uma consulta para recuperar dados de uma Análise do Looker.

Fim dos campos mutuamente exclusivos.

DataResult

Dados recuperados.

Representação JSON
{
  "name": string,
  "schema": {
    object (Schema)
  },
  "data": [
    {
      object
    }
  ],
  "formattedData": [
    {
      object
    }
  ]
}
Campos
name

string

Opcional. Um nome em formato snake case para o resultado de dados que reflete o conteúdo dele. O nome é usado para transmitir o resultado por referência e serve como um indicador do significado dele.

  • Exemplo: "total_sales_by_product"
  • Exemplo: "sales_for_product_12345"
schema

object (Schema)

Opcional. O esquema dos dados.

data[]

object (Struct format)

Opcional. O conteúdo dos dados. Cada linha é um struct que corresponde ao esquema. Valores simples são representados como strings, enquanto estruturas aninhadas são representadas como listas ou structs.

formattedData[]

object (Struct format)

Opcional. Representação formatada dos dados, quando aplicável. Cada linha é uma struct que corresponde diretamente à linha no mesmo índice dentro do campo data. Os valores são representações de string dos dados originais, formatados de acordo com as especificações da fonte de dados (por exemplo, "R$ 1.234,56" para moeda). As colunas sem formatação vão usar a representação do valor bruto. Se nenhuma coluna tiver regras de formatação, esse campo vai ficar vazio.

BigQueryJob

Um job do BigQuery executado pelo sistema.

Representação JSON
{
  "projectId": string,
  "jobId": string,
  "location": string,
  "destinationTable": {
    object (BigQueryTableReference)
  },
  "schema": {
    object (Schema)
  }
}
Campos
projectId

string

Obrigatório. O projeto a que o job pertence.

Consulte JobReference.

jobId

string

Obrigatório. O ID do job.

Consulte JobReference.

location

string

Opcional. O local do job.

Consulte JobReference.

destinationTable

object (BigQueryTableReference)

Opcional. Uma referência à tabela de destino dos resultados da consulta do job.

Consulte JobConfigurationQuery.

schema

object (Schema)

Opcional. O esquema dos resultados da consulta do job.

Consulte JobStatistics2.

MatchedQuery

Uma mensagem de consulta correspondente representa o agente que correspondeu a uma das consultas de exemplo fornecidas no contexto como aplicável à pergunta atual. Ele também vai conter mais informações durante o processo de correspondência.

Representação JSON
{
  "exampleQuery": {
    object (ExampleQuery)
  },
  "queryParameterValues": [
    {
      object (QueryParameterValues)
    }
  ]
}
Campos
exampleQuery

object (ExampleQuery)

A consulta que foi correspondida com base em uma consulta de exemplo.

queryParameterValues[]

object (QueryParameterValues)

Os valores extraídos para os parâmetros de consulta.

QueryParameterValues

Uma mensagem de valores de parâmetro de consulta representa os valores dos parâmetros de consulta extraídos da pergunta do usuário pelo LLM, com base na consulta de exemplo.

Representação JSON
{
  "name": string,
  "value": string
}
Campos
name

string

Obrigatório. O nome do parâmetro.

value

string

Obrigatório. O valor do parâmetro.

AnalysisMessage

Uma mensagem gerada durante a análise.

Representação 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.
}
Campos
Se esta mensagem contém a consulta ou um dos eventos da análise. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
query

object (AnalysisQuery)

Uma consulta de análise.

progressEvent

object (AnalysisEvent)

Um evento que indica o progresso da análise.

Fim dos campos mutuamente exclusivos.

AnalysisQuery

Consulta para realizar uma análise.

Representação JSON
{
  "question": string,
  "dataResultNames": [
    string
  ]
}
Campos
question

string

Opcional. Uma pergunta de análise para ajudar a responder a pergunta original do usuário.

dataResultNames[]

string

Opcional. Os nomes dos resultados de dados recuperados anteriormente para análise.

AnalysisEvent

Evento que indica o progresso de uma análise.

Representação 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.
}
Campos
O tipo de evento que ocorreu durante a análise. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
plannerReasoning

string

Raciocínio do planejador de codegen do Python.

coderInstruction

string

Instruções para geração de código.

code

string

Código gerado.

executionOutput

string

Saída da execução do código.

executionError

string

Um erro da execução de código.

resultVegaChartJson

string

Resultado como uma string JSON de gráfico Vega.

resultNaturalLanguage

string

Resultado como string em linguagem natural.

resultCsvData

string

Resultado como string CSV.

resultReferenceData

string

Resultado como uma referência a uma fonte de dados.

error

string

Uma mensagem de erro genérica.

Fim dos campos mutuamente exclusivos.

ChartMessage

Uma mensagem produzida durante a geração de gráficos.

Representação 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.
}
Campos
Se esta mensagem contém a consulta ou o resultado da geração do gráfico. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
query

object (ChartQuery)

Consulta para gerar um gráfico.

result

object (ChartResult)

O resultado de uma consulta de geração de gráficos.

Fim dos campos mutuamente exclusivos.

ChartQuery

Consulta para gerar um gráfico.

Representação JSON
{
  "instructions": string,
  "dataResultName": string
}
Campos
instructions

string

Opcional. Instruções em linguagem natural para gerar o gráfico.

dataResultName

string

Opcional. O nome de um resultado de dados recuperado anteriormente para usar no gráfico.

ChartResult

O resultado de uma consulta de geração de gráficos.

Representação JSON
{
  "vegaConfig": {
    object
  },
  "image": {
    object (Blob)
  }
}
Campos
vegaConfig

object (Struct format)

Opcional. Uma configuração de gráfico Vega gerada. Consulte https://vega.github.io/vega/docs/config/

image

object (Blob)

Opcional. Uma renderização do gráfico, se isso foi solicitado no contexto.

Blob

Um blob de dados com um tipo MIME.

Representação JSON
{
  "mimeType": string,
  "data": string
}
Campos
mimeType

string

Obrigatório. O tipo MIME padrão da IANA dos dados da mensagem.

data

string (bytes format)

Obrigatório. Os dados representados como bytes.

Uma string codificada em base64.

ErrorMessage

Uma mensagem de erro de uma chamada de ferramenta. Essa mensagem é usada para representar um erro que ocorreu enquanto um agente tentava usar uma ferramenta. É importante observar que nem todos os erros são fatais. Muitos são recuperáveis, e o agente pode usar as informações dessa mensagem de erro para se autocorrigir e tentar novamente a chamada de ferramenta ou usar uma abordagem diferente.

Por exemplo, se uma consulta de dados falhar, o agente poderá receber um ErrorMessage, analisá-lo e gerar uma consulta corrigida.

Os clientes precisam ter cuidado ao interpretar essa mensagem como uma falha definitiva. Ele pode fazer parte do processo normal e iterativo do agente para concluir uma tarefa. Mostrar esses erros diretamente aos usuários finais sem contexto (por exemplo, como uma "falha grave") pode ser enganoso.

Representação JSON
{
  "text": string
}
Campos
text

string

Apenas saída. O texto do erro.

ExampleQueries

Uma mensagem que contém exemplos de consultas derivadas e criadas.

Representação JSON
{
  "exampleQueries": [
    {
      object (ExampleQuery)
    }
  ]
}
Campos
exampleQueries[]

object (ExampleQuery)

Opcional. Uma lista de exemplos de consultas derivadas e criadas, com exemplos de consultas SQL relevantes e usadas com frequência e as consultas correspondentes em linguagem natural, se disponíveis. No momento, usado apenas para fontes de dados do BigQuery.

Citação

Atribuições de origem para conteúdo.

Representação JSON
{
  "sources": [
    {
      object (CitationSource)
    }
  ],
  "anchors": [
    {
      object (CitationAnchor)
    }
  ]
}
Campos
sources[]

object (CitationSource)

Apenas saída. Lista das fontes citadas.

anchors[]

object (CitationAnchor)

Apenas saída. Lista das âncoras das citações.

CitationSource

A origem da citação.

Representação 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.
}
Campos
id

string

Apenas saída. Identificador exclusivo da origem. Esse ID é gerado pelo serviço e é exclusivo no escopo de uma única mensagem Citation.

title

string

Apenas saída. O título da fonte.

A fonte da citação, que pode ser um dos tipos compatíveis. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
uri

string

Apenas saída. O URI usado como fonte, como um URL de embasamento da Web.

exampleQuery

object (ExampleQuery)

Apenas saída. A consulta de exemplo usada como fonte.

glossaryTerm

object (GlossaryTerm)

Apenas saída. O termo do glossário usado como origem.

Fim dos campos mutuamente exclusivos.

CitationAnchor

A âncora da citação.

Representação 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.
}
Campos
A âncora da citação, que pode ser um dos tipos compatíveis. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
textMessageAnchor

object (TextMessageCitationAnchor)

Apenas saída. Definido apenas se a citação for de uma TextMessage.

Fim dos campos mutuamente exclusivos.

TextMessageCitationAnchor

Âncora de citação em uma TextMessage.

Representação JSON
{
  "partIndex": integer,
  "startOffsetBytes": integer,
  "endOffsetBytes": integer,
  "sourceIds": [
    string
  ]
}
Campos
partIndex

integer

Apenas saída. O índice baseado em zero da parte no campo TextMessage.parts.

startOffsetBytes

integer

Apenas saída. O deslocamento, medido em bytes UTF-8, na string da parte em que a citação começa (inclusive). Exemplo: para o texto "Hello, world", em que "world" é citado, os bytes de deslocamento inicial (inclusivo) são 7 e os bytes de deslocamento final (exclusivo) são 12.

endOffsetBytes

integer

Apenas saída. O deslocamento, medido em bytes UTF-8, na string da parte em que a citação termina (exclusivo). Exemplo: para o texto "Hello, world", em que "world" é citado, os bytes de deslocamento inicial (inclusivo) são 7 e os bytes de deslocamento final (exclusivo) são 12.

sourceIds[]

string

Apenas saída. Os IDs das fontes citadas.