Retrieve - 检索知识索引

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

接口说明

  • RAM 用户(子账号)需要首先获取百炼的数据权限(需要AliyunBailianDataFullAccess,已包括 sfm:Retrieve 权限点),然后才能调用本接口,详见为 RAM 用户授予数据权限。阿里云账号(主账号)可直接调用无须授权。建议您通过最新版百炼 SDK来调用本接口。
  • 调用本接口前,请确保您的知识库已经创建完成且未被删除(即知识库 IDIndexId有效)。
  • 由于接口调用包含复杂的检索和匹配,响应时间可能较长,建议您合理设置请求的超时与重试策略。
  • 本接口具有幂等性。

限流说明: 本接口频繁调用会被限流,频率请勿超过 20 次/秒。如遇限流,请稍后重试。

调试

您可以在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

检索条件。

百炼

返回参数

名称类型描述示例值
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 入参发生变更查看变更详情