ContentSearchSpec

用於設定內容搜尋行為的規格。

JSON 表示法
{
  "snippetSpec": {
    object (SnippetSpec)
  },
  "summarySpec": {
    object (SummarySpec)
  },
  "extractiveContentSpec": {
    object (ExtractiveContentSpec)
  },
  "searchResultMode": enum (SearchResultMode),
  "chunkSpec": {
    object (ChunkSpec)
  }
}
欄位
snippetSpec

object (SnippetSpec)

如果未指定 snippetSpec,搜尋回應就不會包含摘要。

summarySpec

object (SummarySpec)

如果未指定 summarySpec,搜尋回應就不會包含摘要。

extractiveContentSpec

object (ExtractiveContentSpec)

如果未提供 extractiveContentSpec,搜尋回應中就不會有擷取式答案。

searchResultMode

enum (SearchResultMode)

指定搜尋結果模式。如未指定,搜尋結果模式預設為 DOCUMENTS。

chunkSpec

object (ChunkSpec)

指定要從搜尋回應傳回的區塊規格。只有在 SearchRequest.ContentSearchSpec.search_result_mode 設為 CHUNKS 時,才能使用這個屬性。

SnippetSpec

用於設定搜尋回應中摘要的規格。

JSON 表示法
{
  "maxSnippetCount": integer,
  "referenceOnly": boolean,
  "returnSnippet": boolean
}
欄位
maxSnippetCount
(deprecated)

integer

[已淘汰] 這個欄位已淘汰,如要控制程式碼片段的回傳,請使用 returnSnippet 欄位。為確保回溯相容性,如果 maxSnippetCount > 0,我們會傳回程式碼片段。

referenceOnly
(deprecated)

boolean

[已淘汰] 這個欄位已淘汰,不會影響程式碼片段。

returnSnippet

boolean

如果是 true,則傳回摘要。如果無法產生摘要,則傳回「No snippet is available for this page.」。也會傳回 SUCCESS 和 NO_SNIPPET_AVAILABLE。snippetStatus

SummarySpec

用於設定搜尋回應中傳回摘要的規格。

JSON 表示法
{
  "summaryResultCount": integer,
  "includeCitations": boolean,
  "ignoreAdversarialQuery": boolean,
  "ignoreNonSummarySeekingQuery": boolean,
  "ignoreLowRelevantContent": boolean,
  "ignoreJailBreakingQuery": boolean,
  "modelPromptSpec": {
    object (ModelPromptSpec)
  },
  "languageCode": string,
  "modelSpec": {
    object (ModelSpec)
  },
  "useSemanticChunks": boolean
}
欄位
summaryResultCount

integer

要產生摘要的最相關結果數量。如果傳回的結果數量少於 summaryResultCount,系統會根據所有結果產生摘要。

最多可使用 10 個文件模式結果或 50 個區塊模式結果來生成摘要。如果 SearchRequest.ContentSearchSpec.search_result_mode 設為 CHUNKS,系統會使用區塊模式。

includeCitations

boolean

指定是否要在摘要中加入引文。預設值為 false。

如果這個欄位設為 true,摘要會包含內文引用編號。

包含引文的摘要範例:

BigQuery 是 Google Cloud 的全代管無伺服器企業資料倉儲 [1]。這個整合式平台支援所有資料類型、可跨雲端運作,且內建機器學習和商業智慧功能 [2, 3]。

引文編號是指傳回的搜尋結果,並以 1 為索引。舉例來說,[1] 表示該句子歸因於第一個搜尋結果。[2, 3] 表示該句子歸因於第二和第三個搜尋結果。

ignoreAdversarialQuery

boolean

指定是否要篩除對抗查詢。預設值為 false。

Google 會採用搜尋查詢分類技術,偵測對手查詢。如果搜尋查詢歸類為對抗性查詢,系統就不會傳回摘要。舉例來說,使用者可能會詢問有關公司負面評論的問題,或提交旨在生成不安全或違反政策內容的查詢。如果這個欄位設為 true,我們會略過產生對抗性查詢的摘要,改為傳回備用訊息。

ignoreNonSummarySeekingQuery

boolean

指定是否要篩除並非尋找摘要的查詢。預設值為 false。

Google 會採用搜尋查詢分類技術,偵測尋找摘要的查詢。如果搜尋查詢歸類為非摘要查詢,系統就不會傳回摘要。舉例來說,why is the sky blue 和 Who is the best soccer player in the world? 是尋找摘要的查詢,但 SFO airport 和 world cup 2026 不是。這類查詢最有可能屬於導覽查詢。如果這個欄位設為 true,系統會略過非摘要搜尋查詢的摘要生成作業,改為傳回備用訊息。

ignoreLowRelevantContent

boolean

指定是否要篩除相關性偏低的查詢。預設值為 false。

如果將這個欄位設為 false,系統會使用所有搜尋結果 (無論是否相關) 生成答案。如果設為 true,只有查詢結果關聯性高的查詢才會產生答案。

ignoreJailBreakingQuery

boolean

選用。指定是否要篩除越獄查詢。預設值為 false。

Google 會採用搜尋查詢分類技術,偵測越獄查詢。如果搜尋查詢歸類為越獄查詢,系統不會傳回摘要。使用者可能會在查詢中加入指令,變更回覆的語氣、風格、語言、內容,或要求模型扮演不同實體,例如「以競爭對手公司執行長的語氣回覆」。如果這個欄位設為 true,我們會略過生成越獄查詢的摘要,改為傳回備用訊息。

modelPromptSpec

object (ModelPromptSpec)

如果指定,系統會使用規格修改提供給 LLM 的提示。

languageCode

string

摘要的語言代碼。請使用 BCP47 定義的語言標記。注意:這項功能仍在實驗階段。

modelSpec

object (ModelSpec)

如果指定規格,系統會使用該規格修改提供給 LLM 的模型規格。

useSemanticChunks

boolean

如果為 true,系統會根據熱門搜尋結果中最相關的區塊生成答案,藉此提升摘要品質。請注意,啟用這項功能後,系統不會參照所有熱門搜尋結果,也不會將這些結果納入參照清單,因此引文來源索引只會指向參照清單中列出的搜尋結果。

ModelPromptSpec

要搭配模型使用的提示規格。

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

string

提示開頭的文字,用於指示助理。使用者指南提供相關範例。

ModelSpec

模型規格。

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

string

用於生成摘要的模型版本。

支援的值如下:

ExtractiveContentSpec

用於設定搜尋回應中擷取內容的規格。

JSON 表示法
{
  "maxExtractiveAnswerCount": integer,
  "maxExtractiveSegmentCount": integer,
  "returnExtractiveSegmentScore": boolean,
  "numPreviousSegments": integer,
  "numNextSegments": integer
}
欄位
maxExtractiveAnswerCount

integer

每個搜尋結果中傳回的擷取式答案數量上限。

擷取式答案是從原始文件中擷取的逐字答案,可針對搜尋查詢提供準確且相關的答案。

如果相符答案的數量少於 maxExtractiveAnswerCount,則傳回所有答案。否則,請傳回 maxExtractiveAnswerCount。

每個 SearchResult 最多會傳回五個答案。

maxExtractiveSegmentCount

integer

每個搜尋結果傳回的擷取片段數量上限。只有在 DataStore 設為 DataStore.ContentConfig.CONTENT_REQUIRED 或 DataStore.solution_types 為 SOLUTION_TYPE_CHAT 時,才會套用這項設定。

擷取片段是從原始文件中擷取的文字片段,與搜尋查詢相關,且通常比擷取答案更詳細。這個片段隨後可用於 LLM,生成摘要和答案。

如果相符的區隔數量少於 maxExtractiveSegmentCount,則傳回所有區隔。否則,請傳回 maxExtractiveSegmentCount。

returnExtractiveSegmentScore

boolean

指定是否要從每個搜尋結果的擷取區隔傳回信賴度分數。這項功能僅適用於新的或已加入許可清單的資料儲存庫。如要將資料存放區列入許可清單,請與客戶工程師聯絡。預設值為 false。

numPreviousSegments

integer

指定是否也要納入每個所選區隔的相鄰區隔。每個所選區隔最多可傳回 numPreviousSegments 個區隔。

numNextSegments

integer

在每個選取的區隔後,最多傳回 numNextSegments 個區隔。

SearchResultMode

指定搜尋結果模式。如未指定,搜尋結果模式預設為 DOCUMENTS。

列舉
SEARCH_RESULT_MODE_UNSPECIFIED 預設值。
DOCUMENTS 傳回搜尋結果中的文件。
CHUNKS 傳回搜尋結果中的區塊。只有在指定 DocumentProcessingConfig.chunking_config 時才適用。

ChunkSpec

指定要從搜尋回應傳回的區塊規格。只有在 SearchRequest.ContentSearchSpec.search_result_mode 設為 CHUNKS 時,才能使用這個屬性。

JSON 表示法
{
  "numPreviousChunks": integer,
  "numNextChunks": integer
}
欄位
numPreviousChunks

integer

要傳回目前區塊的前幾個區塊數量。允許的最大值為 3。如未指定,系統不會傳回先前的區塊。

numNextChunks

integer

要從目前區塊傳回的後續區塊數量。允許的最大值為 3。如未指定,則不會傳回後續區塊。