Method: projects.locations.chat

產生 Message 物件串流,回答資料問題。

HTTP 要求

POST https://geminidataanalytics.googleapis.com/v1/{parent=projects/*/locations/*}:chat

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
parent

string

這是必要旗標,對話要求的父項值。圖案:projects/{project}/locations/{location}

要求主體

要求主體包含下列結構的資料:

JSON 表示法
{
  "messages": [
    {
      object (Message)
    }
  ],
  "credentials": {
    object (Credentials)
  },
  "thinkingMode": enum (ThinkingMode),
  "model": enum (Model),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "inlineContext": {
    object (Context)
  },
  "conversationReference": {
    object (ConversationReference)
  },
  "dataAgentContext": {
    object (DataAgentContext)
  },
  "clientManagedResourceContext": {
    object (ClientManagedResourceContext)
  }
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "lookerSettings": {
    object (LookerSettings)
  }
  // End of mutually exclusive fields.
}
欄位
messages[]

object (Message)

這是必要旗標,目前對話的內容。

credentials

object (Credentials)

選用。呼叫內容中指定的資料來源時,要使用的憑證。

這個欄位可用於提供各種資料來源的憑證。舉例來說,連線至 Looker 時,目前支援 OAuth 權杖和 API 金鑰型憑證,如「使用 SDK 進行驗證」一文所述。

thinkingMode

enum (ThinkingMode)

選用。代理迴圈要使用的思考模式。如未指定,則預設為 THINKING_MODE_UNSPECIFIED。

model

enum (Model)

選用。處理要求時,代理迴圈要使用的模型。只有在未設定 context.options.model 時,這項設定才會生效。

聊天要求的脈絡供應者。可以是 inline_context (在要求中內嵌提供的脈絡)、data_agent (資料代理資源的參照),或 conversation_reference (使用 conversation_id 和 agent_id 參照的永久對話和脈絡)。以下是互斥欄位清單。回應中最多會設定一個欄位:
inlineContext

object (Context)

選用。Chat 要求的內嵌內容。使用這項功能,即可透過內嵌方式傳遞所有情境資訊,進行無狀態對話 (不含受管理對話持續性和代理)。

conversationReference

object (ConversationReference)

選用。參照持續進行的對話和代理程式情境。您可以使用這項功能,透過受管理對話持續性與代理進行即時通訊。

dataAgentContext

object (DataAgentContext)

選用。即時通訊要求的背景資訊。您可以使用這項功能與 Agent 無狀態地對話,不必管理對話的持續性。

clientManagedResourceContext

object (ClientManagedResourceContext)

選用。用戶端管理資源的背景資訊。部分客戶可能不會使用 GDA 管理的資源 (包括對話和代理程式),而是自行建立及管理對話和代理程式資源。

互斥欄位結束。
可自訂要求行為的選用設定,適用於目標資料來源。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
lookerSettings

object (LookerSettings)

選用。Looker 專屬設定。

互斥欄位的結尾。

回應主體

如果成功,回應主體會包含 Message 執行個體串流。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/geminidataanalytics

詳情請參閱Authentication Overview。

ConversationReference

參照持續對話和代理情境。

JSON 表示法
{
  "conversation": string,
  "dataAgentContext": {
    object (DataAgentContext)
  }
}
欄位
conversation

string

這是必要旗標,對話資源名稱。格式:projects/{project}/locations/{location}/conversations/{conversationId}

dataAgentContext

object (DataAgentContext)

這是必要旗標,使用資料代理的對話要求背景資訊。

DataAgentContext

使用資料代理程式的即時通訊要求脈絡。

JSON 表示法
{
  "dataAgent": string,
  "contextVersion": enum (ContextVersion)
}
欄位
dataAgent

string

這是必要旗標,資料代理資源的名稱。

contextVersion

enum (ContextVersion)

選用。DCS 要使用的內容版本 (例如 STAGING、PUBLISHED)

ContextVersion

DCS 支援的情境版本清單。情境有兩個版本。這是為了維護資料代理程式的版本管理。

列舉
CONTEXT_VERSION_UNSPECIFIED 未指定或無法辨識。
STAGING 如果使用這個版本,DCS 會將最新的測試環境背景資訊用於資料代理。
PUBLISHED 如果使用這個版本,DCS 會採用資料代理最新發布的情境。

ClientManagedResourceContext

用戶端代管資源的背景資訊。部分用戶端可能不會使用 GDA 代管的資源 (包括對話和代理),而是自行建立及管理對話和代理資源。

JSON 表示法
{
  "inlineContext": {
    object (Context)
  },
  "conversationId": string,
  "agentId": string
}
欄位
inlineContext

object (Context)

這是必要旗標,即時通訊要求的背景資訊。使用這項功能時,請在內嵌傳遞所有情境,不必透過 GDA API 管理對話和代理持續性,即可進行對話。

conversationId

string

選用。用戶端管理的對話 ID。

agentId

string

選用。用戶端管理的代理程式 ID。

LookerSettings

用於保留 Looker 專屬自訂設定的訊息。

JSON 表示法
{
  "enableDevMode": boolean
}
欄位
enableDevMode

boolean

選用。是否要在 Looker 的開發模式中運作。如果設為 true,API 工作階段會切換至「dev」工作區,允許與使用者開發分支版本中的 LookML 變更互動。如果設為 False 或未設定,工作階段會維持預設狀態 (正式環境模式)。請參閱 https://cloud.google.com/looker/docs/dev-mode-prod-mode。

憑證

代表不同形式的憑證規格。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "oauth": {
    object (OAuthCredentials)
  }
  // End of mutually exclusive fields.
}
欄位
憑證類型。以下是互斥欄位清單。回應中最多會設定一個欄位:
oauth

object (OAuthCredentials)

OAuth 憑證。

互斥欄位結束。

OAuthCredentials

代表 OAuth 憑證。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "secret": {
    object (SecretBased)
  },
  "token": {
    object (TokenBased)
  }
  // End of mutually exclusive fields.
}
欄位
OAuth 憑證類型。以下是互斥欄位清單。回應中最多會設定一個欄位:
secret

object (SecretBased)

以 Secret 為基礎的 OAuth 憑證。

token

object (TokenBased)

以權杖為基礎的 OAuth 憑證。

互斥欄位的結尾。

SecretBased

包含存取權杖的密鑰名稱。代表以密鑰為基礎的 OAuth 憑證。

JSON 表示法
{
  "clientId": string,
  "clientSecret": string
}
欄位
clientId

string

這是必要旗標,OAuth 用戶端 ID。

clientSecret

string

這是必要旗標,OAuth 用戶端密鑰。

TokenBased

如要進一步瞭解 Looker 存取權杖,請前往:https://developers.looker.com/api/advanced-usage/looker-api-oauth

JSON 表示法
{
  "accessToken": string
}
欄位
accessToken

string

這是必要旗標,包含存取權杖的密鑰名稱。

ThinkingMode

代理的思考模式。

列舉
THINKING_MODE_UNSPECIFIED 預設值。如果是 BigQuery 和 Looker 資料來源,代理會使用 FAST。如果是其他資料來源,代理程式會使用 THINKING。
FAST 快速模式,迅速回答。
THINKING 思考模式,解決複雜問題。

模型

BigQuery 使用者代理的模型選項。

列舉
MODEL_UNSPECIFIED 未指定模型。預覽版或非預覽版模型皆可使用。
LATEST_GA_MODEL 使用最新非預先發布版模型。這可能會限制特定要求層級設定。