检索知识库数据
功能介绍
检索知识库数据,根据用户提供的检索信息,返回命中的信息数据。
调用方法
请参见如何调用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 |
服务器内部错误或三方服务器内部错误。 |
错误码
请参见错误码。