QueryContent - 查询文档内容

用自然语句从指定文档库检索向量和元数据。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
gpdb:QueryContentcreate
  • Document
    acs:gpdb:{#regionId}:{#accountId}:document/{#DBInstanceId}

请求参数

名称类型必填描述示例值
DBInstanceIdstring

实例 ID。

说明 您可以调用 DescribeDBInstances 接口查看目标地域下所有的 AnalyticDB PostgreSQL 实例的详情,包括实例 ID。
gp-xxxxxxxxx
Namespacestring

命名空间,默认为 public。

说明 您可以通过 CreateNamespace 接口创建,通过 ListNamespaces 接口查看列表。
mynamespace
Collectionstring

文档库名称。

说明 CreateDocumentCollection 接口创建。您可以调用 ListDocumentCollections 接口查看已经创建的文档库。
document
RegionIdstring

实例所在的地域 ID。

cn-hangzhou
NamespacePasswordstring

命名空间对应的密码。

说明 本值为 CreateNamespace 接口指定。
testpassword
Contentstring

用于检索的文本内容。

ADBPG是什么?
Filterstring

要查询的数据的过滤条件,格式为 SQL 的 WHERE 格式。是一个返回布尔值(真或假)的表达式,条件可以是简单的比较运算符,如等于(=)、不等于(<>或!=)、大于(>), 小于(<)、大于等于(>=)、小于等于(<=),也可以是逻辑运算符(AND, OR, NOT)组合的更复杂的表达式,以及使用 IN、BETWEEN、LIKE 等关键字的条件。

说明
  • 详细语法可参考:https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-where/
  • title = 'test' AND name like 'test%'
    RecallWindowarray

    召回窗口。当该值不为空时,增加返回检索结果的上下文。格式为 2 个元素的数组:List<A, B>,其中-10<=A<=0,0<=B<=10。

    说明
  • 推荐当文档切分过碎、检索可能会丢失上下文信息时使用该参数。
  • 重排优先窗口化,即先 rerank,再窗口化处理。
  • integer

    召回窗口大小。

    [-5, 5]
    TopKinteger

    设置返回 top 结果数量。

    10
    RerankFactordouble

    重排因子。当该值不为空时,会对向量检索结果再做一次重排。取值范围:1<RerankFactor<=5。

    说明
  • 当文档切分稀疏时,重排效率慢。
  • 建议重排个数(TopK*Factor(向上取整))不超过 50。
  • 2
    UseFullTextRetrievalboolean

    是否使用全文检索(双路召回)。默认为 false,仅采用向量检索。

    true
    Metricsstring

    检索时的相似度算法。此值为空时则采用创建知识库时指定的算法,建议如无特殊需求不需设置。

    说明 取值说明:
  • l2:欧氏距离。
  • ip:点积(内积)距离。
  • cosine:余弦相似度。
  • cosine
    FileNamestring

    以图搜图场景中,待搜索的图片源文件名。

    说明 图片文件必须带有文件后缀,当前支持的图片后缀:bmp、jpg、jpeg、png、 tiff。
    test.jpg
    FileUrlstring

    以图搜图场景中,公网可访问的图片文件 URL 地址。

    说明 图片文件必须带有文件后缀,当前支持的图片后缀:bmp、jpg、jpeg、png、tiff。
    https://xx/myImage.jpg
    IncludeVectorboolean

    是否返回向量。默认为 false。

    说明
  • false:不返回向量。
  • true:返回向量。
  • true
    HybridSearchstring

    双路召回算法,默认为空(即直接将向量和全文的分数比较并排序)。

    可选值:

    • RRF:倒数排序融合(Reciprocal rank fusion),有一个参数 k 控制融合效果,详见 HybridSearchArgs 配置;
    • Weight:比重排序,采用一个参数 alpha 控制向量和全文的分数比重,然后再排序,参数详见 HybridSearchArgs 配置;
    • Cascaded:先全文检索再在其基础上进行向量检索;
    RRF
    HybridSearchArgsobject

    双路召回的算法参数。目前支持 RRF 和 Weight 两种:

    • RRF:指定计算分数的算法的1/(k+rank_i)中的 k 常数,范围大于 1 的正整数,格式为:
    { 
       "RRF": {
        "k": 60
       }
    }
    
    • Weight: 计算公式alpha * vector_score + (1-alpha) * text_score,参数 alpha 表示向量和全文的检索分数比重,范围为 0~1,其中 0 表示只全文,1 表示只向量:
    { 
       "Weight": {
        "alpha": 0.5
       }
    }
    
    object

    双路召回的参数名。

    any

    参数值。

    { "RRF": { "k": 60 } }
    IncludeMetadataFieldsstring

    默认为空,表示要返回的 metadata 字段,多个字段用逗号分隔。

    title,page
    IncludeFileUrlboolean

    是否同步返回文档的链接地址,默认不返回。

    false

    返回参数

    名称类型描述示例值
    object
    RequestIdstring

    请求 ID。

    ABB39CC3-4488-4857-905D-2E4A051D0521
    Messagestring

    返回信息。

    success
    Statusstring

    状态,取值如下:

    • success:成功。
    • fail:失败。
    success
    Matchesarray<object>

    匹配到的列表。

    MatchListobject

    单条记录。

    Idstring

    向量数据的唯一 Id。

    doca-1234
    Contentstring

    文本内容。

    云原生数据仓库AnalyticDB PostgreSQL版提供简单、快速、经济高效的PB级云端数据仓库解决方案。
    Metadataobject

    元数据 Map。

    string

    元数据。

    {"title":"test"}
    Vectorarray

    向量数据 List。

    VectorListdouble

    向量数据。

    [1.2123,-0.12314,...]
    FileNamestring

    文件名。

    my_doc.txt
    Scoredouble

    此条数据的相似度分数,其分数算法和创建索引时指定的算法(l2/ip/cosine)相关。

    0.12345
    RetrievalSourceinteger

    检索结果的来源。1 表示向量检索,2 表示全文检索,3 表示双路召回。

    1
    LoaderMetadatastring

    文档加载器加载时的元信息。

    {"page_pos": 1}
    FileURLstring

    查询结果图片的公网 URL 地址,有效时长 2 小时。

    https://xxx-cn-beijing.aliyuncs.com/image/test.png
    RerankScoredouble

    重排分数。

    6.2345
    WindowMatchesarray<object>

    窗口化匹配到的列表。

    windowMatchesobject
    WindowMatcharray<object>

    单个 top 窗口化匹配到的列表。

    windowMatchobject
    Idstring

    向量数据的唯一 ID。

    doca-2345
    Contentstring

    文本内容。

    云原生数据仓库AnalyticDB PostgreSQL版是一种大规模并行处理(MPP)数据仓库服务,可提供海量数据在线分析服务。
    Metadataobject

    元数据 Map。

    string

    元数据。

    {"title":"test"}
    FileNamestring

    文件名。

    my_doc.txt
    LoaderMetadatastring

    文档加载器加载时的元信息。

    {"page_pos": 2}
    EmbeddingTokensstring

    向量化时使用的 token 数。

    说明 token 是指将输入的文本分割成的最小单位;token 可以是一个单词、一个词组、一个标点符号、一个字符等。
    100
    Usageobject

    本次查询的资源使用量

    EmbeddingTokensstring

    向量化时使用的 token 数。

    说明 token 是指将输入的文本分割成的最小单位;token 可以是一个单词、一个词组、一个标点符号、一个字符等。
    100
    EmbeddingEntriesstring

    向量化时使用的条目数。

    说明 条目是指对文字、图片做向量化处理时的处理数目,如对文字做一次处理,条目数是 1,对图片做一次处理是 2。
    10

    示例

    正常返回示例

    JSON格式

    {
      "RequestId": "ABB39CC3-4488-4857-905D-2E4A051D0521",
      "Message": "success",
      "Status": "success",
      "Matches": {
        "MatchList": [
          {
            "Id": "doca-1234",
            "Content": "云原生数据仓库AnalyticDB PostgreSQL版提供简单、快速、经济高效的PB级云端数据仓库解决方案。",
            "Metadata": {
              "key": "{\"title\":\"test\"}"
            },
            "Vector": {
              "VectorList": [
                0
              ]
            },
            "FileName": "my_doc.txt",
            "Score": 0.12345,
            "RetrievalSource": 1,
            "LoaderMetadata": "{\"page_pos\": 1}",
            "FileURL": "https://xxx-cn-beijing.aliyuncs.com/image/test.png",
            "RerankScore": 6.2345
          }
        ]
      },
      "WindowMatches": {
        "windowMatches": [
          {
            "WindowMatch": {
              "windowMatch": [
                {
                  "Id": "doca-2345",
                  "Content": "云原生数据仓库AnalyticDB PostgreSQL版是一种大规模并行处理(MPP)数据仓库服务,可提供海量数据在线分析服务。",
                  "Metadata": {
                    "key": "{\"title\":\"test\"}"
                  },
                  "FileName": "my_doc.txt",
                  "LoaderMetadata": "{\"page_pos\": 2}"
                }
              ]
            }
          }
        ]
      },
      "EmbeddingTokens": "100",
      "Usage": {
        "EmbeddingTokens": "100",
        "EmbeddingEntries": "10"
      }
    }

    错误码

    访问错误中心查看更多错误码。

    变更历史

    变更时间变更内容概要操作
    2024-07-18OpenAPI 入参发生变更查看变更详情
    2024-04-29OpenAPI 入参发生变更查看变更详情
    2024-04-22OpenAPI 入参发生变更查看变更详情
    2024-02-19OpenAPI 入参发生变更、OpenAPI 返回结构发生变更查看变更详情
    2024-01-17OpenAPI 入参发生变更、OpenAPI 返回结构发生变更查看变更详情