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 名称。

查询示例:(year >= 2020 OR year < 2010) AND (类型 = 戏剧 OR 类型 = 行动)

MetadataFilter 对象列表:metadataFilters = [ {key = "chunk.custom_metadata.year" conditions = [{int_value = 2020, actions = GREATER_EQUAL}, {int_value = 2010, actions = LESS}}, {key = "QUAL"Estring= chunk= actions = ] [

数值范围的查询示例:(year > 2015 AND year <= 2020)

MetadataFilter 对象列表:metadataFilters = [ {key = "chunk.custom_metadata.year" conditions = [{int_value = 2015, actions = GREATER}]}, {key = "chunk.custom_metadata.year" conditions = [{int_value = 2020, operation = LESS]EQUAL}]

注意:只有数值支持对同一键使用“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

如需了解详情,请参阅身份验证概览