Retrieve - 检索知识索引

在指定的知识库中检索信息。

接口说明

  • 调用本接口前,请确保您的知识库已经创建完成且未被删除(即知识库 IDIndexId有效)。
  • 由于接口调用包含复杂的检索和匹配,响应时间可能较长,建议您合理设置请求的超时与重试策略。
  • 本接口具有幂等性。

调试

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

授权信息

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

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

请求语法

POST /{WorkspaceId}/index/retrieve HTTP/1.1

请求参数

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

输入文本(原始输入 prompt)。Query 的长度和字符没有限制。

百炼平台介绍
DenseSimilarityTopKinteger

向量检索 Top K,通过生成输入文本的向量并在知识库中检索与其向量表示最相似的 K 个文本切片。K 的取值范围[0-100]。 DenseSimilarityTopKSparseSimilarityTopK二者之和小于等于 200。

默认值为 100。

100
EnableRerankingboolean

是否开启 Rerank 重排序。更多信息,请参见知识库。取值范围:

  • true:开启。
  • false:不开启。

默认值为 true。

true
EnableRewriteboolean

是否开启多轮会话改写。更多信息,请参见知识库。 取值范围:

  • true:开启。
  • false:不开启。

默认值为 false。

false
Rerankarray<object>

Rank 配置。

object

Rank 配置对象。

ModelNamestring

Rank 模型名称。更多信息,请参见知识库。取值范围:

  • gte-rerank-hybrid:官方推荐。
  • gte-rerank:GTE 排序模型。
gte-rerank-hybrid
RerankMinScorefloat

相似度阈值。该阈值表示允许召回的文本切片的最低相似度分数,用于筛选 Rank 模型返回的文本切片,即只有分数超过此数值的文本切片才会被召回。更多信息,请参见知识库。取值范围[0.01-1.00]。此参数的优先级大于知识库相似度阈值配置。

默认值为空,此时以知识库的相似度阈值为准。

0.20
RerankTopNinteger

Rerank 后的 Top N 返回数据。取值范围[1-20],默认值为 5。

5
Rewritearray<object>

会话改写配置。

object

会话改写配置对象。

ModelNamestring

会话改写模型名称。它会基于会话上下文自动调整原始输入 prompt(用户问题)以提升检索效果。取值范围:

  • conv-rewrite-qwen-1.8b:conv-rewrite-qwen-1.8b 模型(目前只支持该模型)

默认值为空,采用 conv-rewrite-qwen-1.8b 模型。

conv-rewrite-qwen-1.8b
SparseSimilarityTopKinteger

关键词检索 TopK,即在知识库中查找与输入文本的关键词精确匹配的切片。它可以帮助您过滤掉无关的文本切片,提供更准确的结果。 取值范围[0-100]。 DenseSimilarityTopKSparseSimilarityTopK二者之和小于等于 200。

默认值为:100。

100
WorkspaceIdstring

知识库所属的业务空间 ID。在百炼的控制台首页,单击页面左上角业务空间详情图标获取。

llm-3shx2gu255oqxxxx
IndexIdstring

知识库 ID,即 CreateIndex 接口返回的Data.Id

5pwe0mxxxx
SaveRetrieverHistoryboolean

是否保存历史文本切片召回测试数据。取值范围:

  • true:保存。
  • false:不保存。

默认值为:false。

false
SearchFiltersarray<object>

支持通过 SearchFilter 自定义复杂 Query 检索条件。SearchFilters 语法参见下方的请求参数补充说明。

object

检索条件对象。

string

检索条件。

百炼

SearchFilters 语法

  • 检索条件支持子分组,子分组之间默认是 AND 语义,且不可更改。
    • 子分组内字段支持 _operator = AND/OR 逻辑运算符,默认是 AND 语义(大小写不敏感)。
    • 子分组内字段支持 _conditions =[]嵌套子条件,子条件间逻辑关系默认继承于父分组的 _operator 逻辑运算符,也可通过 _conditions_operator = AND/OR 自定义。
  • 子分组内过检索件字段支持singleQuery单值、multiQuery多值及rangeQuery范围查询。
    • 单值查询:数值、字符串。
    • 多值查询:数值、字符串组成的数组。
    • 范围查询:支持 eqneqlike 属性,一个字段不可配置多个(大小写不敏感)区间:支持 gtgteltlte 属性,其值建议为数值类型(大小写不敏感)。
示例:

{
  "search_filters": [
    {
      "singleQuery": "stringValue",  // 单值查询
      "multiQuery": [                // 多值查询
        "stringValue1",
        "stringValue2"
      ],
      "logicQuery": {                // 逻辑查询
        "like": "prefix"
      },
      "rangeQuery": {                // 范围查询
        "gte": intValue,
        "lte": intValue
      },
      "_conditions": [                // 嵌套子查询条件
        {
          "singleQuery": intValue
        }
      ]
    },
    {
      "_operator": "OR",                // 多条件查询
      "singleQuery": "stringValue"
    }
  ]
}

返回参数

名称类型描述示例值
object
Codestring

错误状态码。

Index.InvalidParameter
Dataobject

接口业务数据字段。

Nodesarray<object>

命中的文本切片列表。

nodesobject

文本切片对象。

Metadataany

文本切片的元数据 Map。

{ "parent": "", "file_path": "https://***", "image_url": [ "http://***" ], "nid": "***", "title": "阿里云百炼文档", "doc_id": "doc_***", "content": "阿里云百炼是基于通义大模型、行业大模型以及三方大模型的一站式大模型开发平台。面向企业客户和个人开发者,提供完整的模型服务工具和全链路应用开发套件,预置丰富的能力插件,提供APISDK等便捷的集成方式,高效完成大模型应用构建", "workspace_id": "ws_***", "hier_title": "阿里云百炼文档", "doc_name": "阿里云百炼文档介绍.pdpf", "pipeline_id": "rhd***", "_id": "ws_***" }
Scoredouble

文本切片的相似度得分,可能值范围:[0-1]。

0.3
Textstring

文本切片内容。

阿里云百炼是基于通义大模型、行业大模型以及三方大模型的一站式大模型开发平台。面向企业客户和个人开发者,提供完整的模型服务工具和全链路应用开发套件,预置丰富的能力插件,提供APISDK等便捷的集成方式,高效完成大模型应用构建。
Messagestring

错误信息。

Required parameter(%s) missing or invalid, please check the request parameters.
RequestIdstring

请求 ID。

17204B98-7734-4F9A-8464-2446A84821CA
Statusstring

接口返回的状态码。

200
Successboolean

接口调用是否成功,可能值为:

  • true:成功。
  • false:失败。
true

示例

正常返回示例

JSON格式

{
  "Code": "Index.InvalidParameter",
  "Data": {
    "Nodes": [
      {
        "Metadata": "{\n\t\"parent\": \"\",\n\t\"file_path\": \"https://***\",\n\t\"image_url\": [\n\t  \"http://***\"\n\t],\n\t\"nid\": \"***\",\n\t\t\"title\": \"阿里云百炼文档\",\n\t\"doc_id\": \"doc_***\",\n\t\"content\": \"阿里云百炼是基于通义大模型、行业大模型以及三方大模型的一站式大模型开发平台。面向企业客户和个人开发者,提供完整的模型服务工具和全链路应用开发套件,预置丰富的能力插件,提供APISDK等便捷的集成方式,高效完成大模型应用构建\",\n\t\"workspace_id\": \"ws_***\",\n\t\"hier_title\": \"阿里云百炼文档\",\n\t\"doc_name\": \"阿里云百炼文档介绍.pdpf\",\n\t\"pipeline_id\": \"rhd***\",\n\t\"_id\": \"ws_***\"\n\t}",
        "Score": 0.3,
        "Text": "阿里云百炼是基于通义大模型、行业大模型以及三方大模型的一站式大模型开发平台。面向企业客户和个人开发者,提供完整的模型服务工具和全链路应用开发套件,预置丰富的能力插件,提供APISDK等便捷的集成方式,高效完成大模型应用构建。"
      }
    ]
  },
  "Message": "Required parameter(%s) missing or invalid, please check the request parameters.",
  "RequestId": "17204B98-7734-4F9A-8464-2446A84821CA",
  "Status": "200",
  "Success": true
}

错误码

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

变更历史

变更时间变更内容概要操作
2024-07-23OpenAPI 入参发生变更查看变更详情