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,则返回摘要。如果无法生成摘要,我们将返回“此页面没有可用摘要”。系统还会返回包含 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]。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,我们会跳过为越狱查询生成摘要的过程,而是返回回退消息。

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 最多返回 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。如果未指定,则不返回之后的块。