更新时间:2025-05-19 GMT+08:00
分享

检索知识库数据

功能介绍

检索知识库数据,根据用户提供的检索信息,返回命中的信息数据。

调用方法

请参见如何调用API

URI

POST https://aiae.appstage.myhuaweicloud.com/v1/knowledge-bases/{knowledge_base_id}/embed-datas

表1 路径参数

参数

是否必选

参数类型

描述

knowledge_base_id

String

参数解释:

知识库id。获取方式:

1.可从创建知识库接口返回获取;

2.进入AI原生应用引擎,在左侧导航栏选择“知识中心 > 知识库”,可从页面知识库ID栏获取。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字以及“-”组成,且长度为36个字符。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Authorization

String

参数解释:

鉴权信息。获取平台API Key,并为API Key添加前缀Bearer,得到标准鉴权信息,例如Bearer sk-74e4157***。API Key获取方法请参见创建API Key

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

keyword

String

参数解释:

搜索关键字,用于检索匹配结果。

约束限制:

不涉及。

取值范围:

可以为null,如果不为null,字符串长度介于0到2048之间。

默认取值:

不涉及。

similarity_min

Float

参数解释:

相似度最小值,数值越大表示相似度越高。

约束限制:

不涉及。

取值范围:

可以为null,如果不为null,取值[0, 1]。

默认取值:

不涉及。

limit

Integer

参数解释:

检索返回切片限制数量。

约束限制:

不涉及。

取值范围:

非空,取值[1, 100],默认上限100。

默认取值:

不涉及。

filter

Object

参数解释:

过滤条件。

约束限制:

不涉及。

取值范围:

可以为null,如果不为null,则为SearchSqlFilter类对象。

默认取值:

不涉及。

order_by

Object

参数解释:

排序规则。

约束限制:

不涉及。

取值范围:

可以为null,如果不为null,则为SqlOrder对象。

默认取值:

不涉及。

data_sets

Array of DataSetSearchInfo objects

参数解释:

检索的数据集信息,用于指定检索知识库中部分数据集。

约束限制:

不涉及。

取值范围:

可以为null,如果不为null,则为DataSetSearchInfo对象列表,且数量介于1到10之间。

默认取值:

不涉及。

表4 SearchSqlFilter

参数

是否必选

参数类型

描述

group_type

String

参数解释:

过滤条件运算符。

约束限制:

只有一个expression时,不需要group_type,group_type可以为null。

取值范围:

可以为null,如果不为null,枚举值AND和OR。

默认取值:

不涉及。

expressions

Array of Expression objects

参数解释:

过滤条件。

约束限制:

不涉及。

取值范围:

非空,条件数量介于1到10之间。

默认取值:

不涉及。

表5 Expression

参数

是否必选

参数类型

描述

field

String

参数解释:

过滤字段。

约束限制:

需以“metadata.”开头,后续可接上path、order、file_name以及索引配置时配置的文本过滤字段,如metadata.path、metadata.answer(假设answer为配置的文本过滤字段)。

取值范围:

非空,字段名称长度介于1到100之间。

默认取值:

不涉及。

field_type

String

参数解释:

过滤字段类型。

约束限制:

不涉及。

取值范围:

非空,枚举值:INT、FLOAT、BOOLEAN和STRING,取值视field的类型而定。

默认取值:

不涉及。

operator

String

参数解释:

过滤操作符。

约束限制:

不涉及。

取值范围:

非空,枚举值:EQUAL(等于)、NOT_EQUAL(不等于)、GREAT_THAN(大于)、GREAT_EQUAL(大于等于)、LESS_THAN(小于)、LESS_EQUAL(小于等于)、IN(在xxx之间)、NOTIN(不在xxx之间)和STARTS_WITH(以xxx开头)。

默认取值:

不涉及。

values

Array of strings

参数解释:

过滤值。

约束限制:

当operator参数的值为EQUAL(等于)、NOT_EQUAL(不等于)、GREAT_THAN(大于)、GREAT_EQUAL(大于等于)、LESS_THAN(小于)、LESS_EQUAL(小于等于)和STARTS_WITH(以xxx开头)时,数量限制为1。

取值范围:

非空,数量介于1到100之间,每个字符串长度最大不超过2000。

默认取值:

不涉及。

表6 SqlOrder

参数

是否必选

参数类型

描述

order_items

Array of OrderItem objects

参数解释:

排序规则。

约束限制:

不涉及。

取值范围:

非空,数量介于1到10之间。

默认取值:

不涉及。

表7 OrderItem

参数

是否必选

参数类型

描述

field

String

参数解释:

排序字段。

约束限制:

不涉及。

取值范围:

非空,字符串长度介于1到100之间。

默认取值:

不涉及。

field_type

String

参数解释:

排序字段类型。

约束限制:

不涉及。

取值范围:

可以为null,如果不为null,枚举值:INT、FLOAT、BOOLEAN和STRING。

默认取值:

STRING。

order_type

String

参数解释:

排序类型。

约束限制:

不涉及。

取值范围:

不为null,枚举值:ASC(升序)和DESC(降序)。

默认取值:

不涉及。

表8 DataSetSearchInfo

参数

是否必选

参数类型

描述

data_set_id

String

参数解释:

知识数据集id,获取方式:

1.创建知识数据集接口返回值即为知识数据集id。

2.进入AI原生应用引擎,在左侧导航栏选择“知识中心 > 知识库”,选择页面右上角的“... > 知识数据集”,在数据集列表中,单击数据集名称,进入详情页即可获取数据集ID。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字以及“-”组成,且长度为36个字符。

默认取值:

不涉及。

响应参数

状态码:200

表9 响应Body参数

参数

参数类型

描述

data

Array of ChunkData objects

参数解释:

知识库检索响应数据。

取值范围:

不涉及。

表10 ChunkData

参数

参数类型

描述

id

String

参数解释:

切片id。

取值范围:

由数字、字母和中划线组成,长度36。

document

String

参数解释:

向量化内容。

取值范围:

不涉及。

chunk

String

参数解释:

完整切片内容。若用户在创建索引时配置了chunk作为检索附加字段,则检索时在此返回。

取值范围:

不涉及。

chunk_fragments

Map<String,String>

参数解释:

附加返回字段及内容(map类型,key为附加返回字段名称,value为附加返回字段内容),若用户在创建索引时配置了除chunk之外的附加返回字段,则字段名称及内容检索时在此返回。

取值范围:

不涉及。

similarity

Float

参数解释:

向量化内容(document)和检索关键字(keyword)的向量相似度门槛,只有相似度大于等于similarity才会返回。

取值范围:

大小为[0,1]。

metadata

metadata object

参数解释:

切片元数据信息,若用户在创建索引时选择文本过滤字段,则该字段及其内容会作为元数据一部分返回。

取值范围:

不涉及。

download_addresses

Map<String,String>

参数解释:

图片或视频临时下载地址(map类型,key为文件路径,value为下载地址)。

取值范围:

不涉及。

download_address

String

参数解释:

废弃字段,请使用download_addresses。

取值范围:

不涉及。

data_set_id

String

参数解释:

切片所属知识数据集id。

取值范围:

由数字、字母和中划线组成,长度36。

表11 metadata

参数

参数类型

描述

order

Integer

参数解释:

切片序号。

取值范围:

不涉及。

file_name

String

参数解释:

文件名称。

取值范围:

不涉及。

path

String

参数解释:

文件相对路径。

取值范围:

不涉及。

状态码:500

表12 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

异常错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

异常错误信息。

取值范围:

不涉及。

请求示例

{
  "keyword" : "户外",
  "similarity_min" : "0.78",
  "limit" : 10,
  "filter" : {
    "group_type" : "AND",
    "expressions" : [ {
      "field" : "metadata.answer",
      "field_type" : "STRING",
      "operator" : "EQUAL",
      "values" : [ "我是xxx。" ]
    } ]
  },
  "order_by" : {
    "order_items" : [ {
      "field" : "metadata.order",
      "field_type" : "INT",
      "order_type" : "DESC"
    } ]
  },
  "data_sets" : [ {
    "data_set_id" : "a31ed909-xxxx-xxxx-xxxx-10958c90b3f7"
  } ]
}

响应示例

状态码:200

OK。

{
  "data" : [ {
    "id" : "812857ef-xxxx-xxxx-xxxx-24ba9fd5e95c",
    "document" : "问题:你是谁。回答:我是xxx。回答用户id:000。",
    "chunk" : "问题:你是谁。回答:我是xxx。回答用户id:000。",
    "chunk_fragments" : {
      "question" : "你是谁。",
      "answer" : "我是xxx。"
    },
    "similarity" : 0.87,
    "metadata" : {
      "order" : 10,
      "file_name" : "户外运动热度大大带动各相关产业发展.docx",
      "path" : "户外运动热度大大带动各相关产业发展.docx",
      "question" : "你是谁。",
      "answer" : "我是xxx。"
    },
    "download_addresses" : {
      "xxx.png" : "https://xxxx"
    },
    "download_address" : null,
    "data_set_id" : "3967c49d-xxxx-xxxx-xxxx-5eda056a1f1b"
  } ]
}

状态码:500

服务器内部错误或三方服务器内部错误。

{
  "error_code" : "AIAE.00001500",
  "error_msg" : "系统内部错误。"
}

状态码

状态码

描述

200

OK。

500

服务器内部错误或三方服务器内部错误。

错误码

请参见错误码

相关文档