检索知识库数据
功能介绍
检索知识库数据,根据用户提供的检索信息,返回命中的信息数据。
调用方法
请参见如何调用API。
URI
POST https://aiae.appstage.myhuaweicloud.com/v1/knowledge-bases/{knowledge_base_id}/embed-datas
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
knowledge_base_id |
是 |
String |
参数解释: 知识库id。获取方式: 1.可从创建知识库接口返回获取; 2.进入AI原生应用引擎,在左侧导航栏选择“知识中心 > 知识库”,可从页面知识库ID栏获取。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字以及“-”组成,且长度为36个字符。 默认取值: 不涉及。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Authorization |
是 |
String |
参数解释: 鉴权信息。获取平台API Key,并为API Key添加前缀Bearer,得到标准鉴权信息,例如Bearer sk-74e4157***。API Key获取方法请参见创建API Key。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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之间。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
group_type |
否 |
String |
参数解释: 过滤条件运算符。 约束限制: 只有一个expression时,不需要group_type,group_type可以为null。 取值范围: 可以为null,如果不为null,枚举值AND和OR。 默认取值: 不涉及。 |
expressions |
是 |
Array of Expression objects |
参数解释: 过滤条件。 约束限制: 不涉及。 取值范围: 非空,条件数量介于1到10之间。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
order_items |
是 |
Array of OrderItem objects |
参数解释: 排序规则。 约束限制: 不涉及。 取值范围: 非空,数量介于1到10之间。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
field |
是 |
String |
参数解释: 排序字段。 约束限制: 不涉及。 取值范围: 非空,字符串长度介于1到100之间。 默认取值: 不涉及。 |
field_type |
否 |
String |
参数解释: 排序字段类型。 约束限制: 不涉及。 取值范围: 可以为null,如果不为null,枚举值:INT、FLOAT、BOOLEAN和STRING。 默认取值: STRING。 |
order_type |
是 |
String |
参数解释: 排序类型。 约束限制: 不涉及。 取值范围: 不为null,枚举值:ASC(升序)和DESC(降序)。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
data_set_id |
否 |
String |
参数解释: 知识数据集id,获取方式: 1.创建知识数据集接口返回值即为知识数据集id。 2.进入AI原生应用引擎,在左侧导航栏选择“知识中心 > 知识库”,选择页面右上角的“... > 知识数据集”,在数据集列表中,单击数据集名称,进入详情页即可获取数据集ID。 约束限制: 不涉及。 取值范围: 只能由英文字母、数字以及“-”组成,且长度为36个字符。 默认取值: 不涉及。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
data |
Array of ChunkData objects |
参数解释: 知识库检索响应数据。 取值范围: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
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。 |
参数 |
参数类型 |
描述 |
---|---|---|
order |
Integer |
参数解释: 切片序号。 取值范围: 不涉及。 |
file_name |
String |
参数解释: 文件名称。 取值范围: 不涉及。 |
path |
String |
参数解释: 文件相对路径。 取值范围: 不涉及。 |
状态码:500
参数 |
参数类型 |
描述 |
---|---|---|
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 |
服务器内部错误或三方服务器内部错误。 |
错误码
请参见错误码。