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.」。也會傳回 SUCCESSNO_SNIPPET_AVAILABLEsnippetStatus

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 blueWho is the best soccer player in the world? 是尋找摘要的查詢,但 SFO airportworld 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_REQUIREDDataStore.solution_typesSOLUTION_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。如未指定,則不會傳回後續區塊。