Method: corpora.documents.query

Document 執行語意搜尋。

HTTP 要求

POST https://generativelanguage.googleapis.com/v1beta/{name=corpora/*/documents/*}:query

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

路徑參數

參數
name

string

必要欄位。要查詢的 Document 名稱。範例:corpora/my-corpus-123/documents/the-doc-abc

要求主體

要求主體的資料會採用以下結構:

JSON 表示法
{
  "query": string,
  "resultsCount": integer,
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ]
}
欄位
query

string

必要欄位。要執行語意搜尋的查詢字串。

resultsCount

integer

選用設定。要傳回的 Chunk 數量上限。服務傳回的 Chunk 可能會減少。

如未指定,最多會傳回 10 個 Chunk。指定的結果數量上限為 100 個。

metadataFilters[]

object (MetadataFilter)

選用設定。篩選「Chunk」中繼資料。每個 MetadataFilter 物件都必須對應至一組專屬鍵。多個 MetadataFilter 物件會以邏輯「AND」連接。

注意:由於已指定 Document 名稱,因此這項要求不支援Document層級的篩選功能。

查詢範例:(年 >= 2020 OR 年份 < 2010) AND (類型 = 戲劇 OR 類型 = 動作)

MetadataFilter 物件清單:metadataFilters = [ {key = "chunk.custom_metadata.year"condition = [{int_value = 2020, Operations = GREATER_EQUAL}, {int_value = 2010, Operations = LESS}}, {key = "dr.custom_metadata." conditions = [{string "dr.custom_metadata."condition]

查詢以下數值範圍的查詢範例:(年份 > 2015 AND 年份 <= 2020)

MetadataFilter 物件清單:metadataFilters = [ {key = "chunk.custom_metadata.year" conditions = [{int_value = 2015, Operations = GREATER}]}, {key = "chunk.custom_metadata.year" conditions = [{int_value = 2020, opera = LESS_EQ}]]

注意:只有數字值可以使用「AND」這個鍵。字串值僅支援相同鍵的「OR」。

回應主體

documents.query 的回應,其中包含相關區塊的清單。

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

JSON 表示法
{
  "relevantChunks": [
    {
      object (RelevantChunk)
    }
  ]
}
欄位
relevantChunks[]

object (RelevantChunk)

傳回的相關區塊。

授權範圍

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

  • https://www.googleapis.com/auth/generative-language.retriever
  • https://www.googleapis.com/auth/generative-language.retriever.readonly

詳情請參閱驗證總覽