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,
  "multimodalSpec": {
    object (MultiModalSpec)
  },
  "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]。BigQuery 支持所有类型的数据,可在多种云环境上运行,并在统一平台中内置了丰富的机器学习和商业智能功能 [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 采用搜索查询分类来检测越狱查询。如果搜索查询被归类为越狱查询,则不会返回摘要。用户可能会在查询中添加指令,以更改回答的语气、风格、语言、内容,或要求模型扮演其他实体,例如“以竞争对手公司 CEO 的语气回答”。如果此字段设置为 true,我们会跳过为越狱查询生成摘要,而是返回回退消息。

multimodalSpec

object (MultiModalSpec)

可选。多模态规范。

modelPromptSpec

object (ModelPromptSpec)

如果指定,则使用规范来修改提供给 LLM 的提示。

languageCode

string

摘要的语言代码。使用 BCP47 定义的语言标记。注意:这是一项实验性功能。

modelSpec

object (ModelSpec)

如果指定了该参数,则该规范将用于修改提供给 LLM 的模型规范。

useSemanticChunks

boolean

如果为 true,则会根据热门搜索结果中最相关的块生成回答。此功能将有助于提高摘要质量。请注意,启用此功能后,并非所有热门搜索结果都会被引用并包含在参考列表中,因此引用来源索引仅指向参考列表中列出的搜索结果。

MultiModalSpec

多模态规范:将返回指定来源的图片。如果指定了多个来源,则选择是基于质量做出的决定。

JSON 表示法
{
  "imageSource": enum (ImageSource)
}
字段
imageSource

enum (ImageSource)

可选。回答中返回的图片的来源。

ImageSource

指定图片来源。

枚举
IMAGE_SOURCE_UNSPECIFIED 未指定图片来源(多模态功能默认处于停用状态)。
ALL_AVAILABLE_SOURCES 当服务从所有可用来源中选择内容时的行为。
CORPUS_IMAGE_ONLY 在回答中包含语料库中的图片。
FIGURE_GENERATION_ONLY 触发回答中的图表生成。

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 最多返回 5 个答案。

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。如果未指定,则不会返回任何后续块。