Method: projects.locations.collections.engines.assistants.streamAssist

以串流方式協助使用者查詢。

HTTP 要求

POST https://discoveryengine.googleapis.com/v1/{name=projects/*/locations/*/collections/*/engines/*/assistants/*}:streamAssist

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

路徑參數

參數
name

string

這是必要旗標,Assistant 的資源名稱。格式:projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}

要求主體

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

JSON 表示法
{
  "query": {
    object (Query)
  },
  "session": string,
  "userMetadata": {
    object (AssistUserMetadata)
  },
  "agentsSpec": {
    object (AgentsSpec)
  },
  "toolsSpec": {
    object (ToolsSpec)
  },
  "generationSpec": {
    object (GenerationSpec)
  }
}
欄位
query

object (Query)

(選用步驟) 目前的使用者查詢。

只有在提供 fileIds 時,系統才支援空白查詢。在這種情況下,系統會根據這些情境檔案生成答案。

session

string

(選用步驟) 要求使用的工作階段。如果指定,助理就能存取工作階段記錄,並將查詢和答案儲存在該處。

如果將 - 指定為工作階段 ID,或將其留空,系統就會建立新的工作階段,並自動產生 ID。

格式:projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}

userMetadata

object (AssistUserMetadata)

(選用步驟) 啟動查詢的使用者相關資訊。

agentsSpec

object (AgentsSpec)

(選用步驟) 用於處理要求的代理程式規格。

toolsSpec

object (ToolsSpec)

(選用步驟) 用於處理要求的工具規格。

generationSpec

object (GenerationSpec)

(選用步驟) 要求的生成設定規格。

回應主體

AssistantService.StreamAssist 方法的回應。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "answer": {
    object (AssistAnswer)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "assistToken": string
}
欄位
answer

object (AssistAnswer)

assistants.assist 答案資源物件,內含 AI 助理對使用者查詢的最終回覆部分內容。

如果目前的回應未在先前傳送的 AssistAnswer.replies 中新增任何內容,則不會顯示這項資訊。

觀察 AssistAnswer.state,看看是否會出現更多部分。當狀態為 IN_PROGRESS 時,每個回應中的 AssistAnswer.replies 欄位都會包含回覆 (回覆片段),這些回覆會附加至先前回應中收到的回覆。AssistAnswer.name不會填寫。

如果狀態為 SUCCEEDEDFAILEDSKIPPED,回應會是最後一個回應,且 AssistAnswer.name 會包含值。

sessionInfo

object (SessionInfo)

工作階段資訊。只會包含在回應串流的最終 StreamAssistResponse 中。

assistToken

string

全域不重複 ID,用於識別目前的要求和回應串流配對。用於意見回饋和支援服務。

授權範圍

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

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.assist.readwrite

詳情請參閱Authentication Overview

IAM 權限

需要 name 資源的下列 IAM 權限:

  • discoveryengine.assistants.assist

詳情請參閱 IAM 說明文件

AgentsSpec

用於處理要求的代理程式規格。

JSON 表示法
{
  "agentSpecs": [
    {
      object (AgentSpec)
    }
  ]
}
欄位
agentSpecs[]

object (AgentSpec)

(選用步驟) 用於處理要求的代理程式規格。

AgentSpec

代理程式規格。

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

string

必要。用於識別處理要求的代理程式資源。

這個欄位必須符合 RFC-1034,長度上限為 63 個字元。

ToolsSpec

用於處理要求的工具規格。

JSON 表示法
{
  "vertexAiSearchSpec": {
    object (VertexAiSearchSpec)
  },
  "webGroundingSpec": {
    object (WebGroundingSpec)
  },
  "imageGenerationSpec": {
    object (ImageGenerationSpec)
  },
  "videoGenerationSpec": {
    object (VideoGenerationSpec)
  }
}
欄位
vertexAiSearchSpec

object (VertexAiSearchSpec)

(選用步驟) Vertex AI Search 工具的規格。

webGroundingSpec

object (WebGroundingSpec)

(選用步驟) 網頁基準工具的規格。如有這個欄位,系統會啟用網頁搜尋功能,以建立回覆基準。只有在 Assistant.web_grounding_type 為 [WEB_GROUNDING_TYPE_GOOGLE_SEARCH][] 或 [WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH][] 時,這項功能才會運作。

imageGenerationSpec

object (ImageGenerationSpec)

(選用步驟) 圖像生成工具的規格。

videoGenerationSpec

object (VideoGenerationSpec)

(選用步驟) 影片生成工具的規格。

VertexAiSearchSpec

Vertex AI Search 工具的規格。

JSON 表示法
{
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string
}
欄位
dataStoreSpecs[]

object (DataStoreSpec)

(選用步驟) 定義 DataStore 的規格,可在搜尋呼叫中進行篩選,以及這些資料儲存庫的設定。只有在Engine有多個資料儲存庫時,系統才會考量這項因素。

filter

string

(選用步驟) 篩選器語法包含運算式語言,可從要篩選的文件的一或多個欄位建構述詞。篩選運算式會區分大小寫。

如果無法辨識這個欄位,系統會傳回 INVALID_ARGUMENT

如要在 Vertex AI Search 中進行篩選,請將左側的篩選鍵對應至 Vertex AI Search 後端定義的鍵屬性,這項對應是由客戶在結構定義中定義。舉例來說,媒體客戶的結構定義中可能會有「name」欄位。在本例中,篩選器會如下所示:filter --> name:'ANY("king kong")'

如要進一步瞭解篩選功能,包括語法和篩選運算子,請參閱「篩選

WebGroundingSpec

這個類型沒有任何欄位。

網頁基準工具的規格。

ImageGenerationSpec

這個類型沒有任何欄位。

圖像生成工具的規格。

VideoGenerationSpec

這個類型沒有任何欄位。

影片生成工具的規格。

GenerationSpec

要求的 Google 助理生成規格。這項功能可讓您在引擎層級覆寫預設生成設定。

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

string

(選用步驟) 用於生成模型的 Vertex AI modelId。如未設定,系統會使用預設的 Google 助理模型。

SessionInfo

工作階段相關資訊。

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

string

新生成或繼續的工作階段名稱。

格式:projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}