知识库检索
纯检索接口,支持多种检索策略和过滤条件
权限说明
调用本文API,需使用API Key鉴权方式。使用API Key鉴权调用API流程,具体调用流程,请查看认证鉴权。
请求参数
检索查询语句,用于在知识库中进行检索的文本内容。
知识库ID列表,指定要检索的知识库的唯一标识符数组。
显示子属性
隐藏子属性
元数据过滤配置,用于对检索结果进行多维度过滤。
显示子属性
隐藏子属性
元数据过滤器列表,用于精确筛选检索结果。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
过滤操作符。
可选值:==:等于in:包含于not_in:不包含于
过滤字段名,指定要过滤的元数据字段。
过滤字段值,用于匹配的具体值。
标签过滤器列表,用于基于标签筛选检索结果。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
标签过滤操作符。
可选值:==:等于in:包含于not_in:不包含于
标签字段名,指定要过滤的标签字段。
标签字段值,用于匹配的具体标签值。
过滤条件组合方式。
可选值:or:满足任一条件即可and:需同时满足所有条件
召回配置,定义检索的召回策略和参数。
显示子属性
隐藏子属性
召回类型,指定检索策略。
可选值:fulltext:全文检索semantic:语义检索hybrid:混合检索
召回数量,返回最相关的前K个结果。
向量权重,在混合检索中语义检索的权重,取值范围为0-1。
值越大,语义检索权重越高;值越小,全文检索权重越高。
重排序配置,用于优化检索结果的相关性排序。
显示子属性
隐藏子属性
是否启用重排序,对召回结果进行二次排序以提高相关性。
可选值:true:启用重排序false:不启用重排序
重排序后返回的结果数量,从召回结果中选取最相关的前N个。
是否启用图谱检索,利用知识图谱关系增强检索效果。
可选值:true:启用图谱检索false:不启用图谱检索
是否启用查询扩展,通过同义词、相关词等扩展查询内容。
可选值:true:启用查询扩展false:不启用查询扩展
最终返回的结果数量,指定最终返回给用户的检索结果数。
分数阈值,过滤掉低于该分数的检索结果,取值范围为0-1。
分数越高表示相关性越强。
POST /v2/knowledgebases/search HTTP/1.1
HOST: qianfan.baidubce.com
Authorization: Bearer <API Key>
Content-Type: application/json
{
"query": "今天上海天气",
"knowledgebase_ids": [
"de811394-a1f5-4.......-fdaa3cfd84e6"
],
"metadata_filters": {
"filters": [
{
"operator": "==",
"field": "field_name",
"value": "field_value"
}
],
"tag_filters": [
{
"operator": "in",
"field": "tag_field",
"value": "tag_value"
}
],
"condition": "and"
},
"recall": {
"type": "hybrid",
"top_k": 10,
"vec_weight": 0.75
},
"rerank": {
"enable": true,
"top_n": 8
},
"enable_graph": false,
"enable_expansion": false,
"top_k": 6,
"score_threshold": 0.4
}
示例代码
curl -X POST "https://qianfan.baidubce.com/v2/knowledgebases/search" \
-H "Authorization: Bearer bce-v3/ALTAK-******ZftZDTn7/125eeb1c5e9ddc8cf3edf18ef6d03f1517ec9408" \
-H "Content-Type: application/json" \
-d '{
"query": "今天上海天气",
"knowledgebase_ids": [
"de811394-a1f5-4.......-fdaa3cfd84e6"
],
"recall": {
"type": "hybrid",
"vec_weight": 0.75
},
"rerank": {
"enable": true,
"top_n": 8
},
"enable_graph": false,
"enable_expansion": false,
"top_k": 6,
"score_threshold": 0.4
}'
返回响应
请求的唯一标识,用于追踪和定位本次检索请求。
创建时间,记录检索请求的创建时间戳,格式为ISO8601,时区为UTC。
结果总数,返回符合条件的检索结果总数量。
检索结果分块列表,包含所有符合条件的知识库文本片段及其详细信息。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
分块的唯一标识,用于标识知识库中的具体文本片段。
重排序得分信息,包含重排序后的分数和位置。
显示子属性
隐藏子属性
重排序分数,表示该分块经过重排序后的相关性得分。
重排序位置,表示该分块在重排序结果中的排名位置。
召回得分信息,包含召回阶段的分数和位置。
显示子属性
隐藏子属性
召回分数,表示该分块在召回阶段的相关性得分。
召回位置,表示该分块在召回结果中的排名位置。
内容列表,包含分块的具体内容,支持多种格式。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
内容类型,标识内容的格式类型。
可选值:text:纯文本json:JSON格式table:表格格式
文本内容,当类型为text时的具体文本内容。
JSON内容,当类型为json时的具体JSON格式内容。
标题,内容的标题信息。
描述,内容的详细描述信息。
URL地址,内容关联的链接地址。
表头列表,当类型为table时的表格表头数组。
显示子属性
隐藏子属性
行数据列表,当类型为table时的表格行数据数组。
显示子属性
隐藏子属性
元数据信息,包含分块的元数据和所属文档信息。
显示子属性
隐藏子属性
分块类型,标识分块的内容类型,如text、table等。
Token数量,该分块包含的token总数。
字数统计,该分块包含的字符或词语总数。
更新时间,该分块最后更新的时间戳,格式为ISO8601,时区为UTC。
文档信息,包含分块所属文档的详细信息。
显示子属性
隐藏子属性
文档的唯一标识,用于标识分块所属的文档。
文档名称,分块所属文档的名称。
创建时间,文档的创建时间戳(Unix时间戳)。
文档类型,标识文档的格式类型,如pdf、docx等。
邻近分块列表,包含与当前分块相邻的文本片段信息,用于提供上下文。
显示子属性
隐藏子属性
显示子属性
隐藏子属性
邻近分块的唯一标识,用于标识相邻的文本片段。
邻近位置,标识邻近分块的相对位置关系。
邻近内容,相邻分块的具体内容数组。
显示子属性
隐藏子属性
{
"id": "request-123456",
"created_at": "2024-01-08T22:49:32.327000",
"total_count": 1,
"chunks": [
{
"chunk_id": "1f073ffe-3186-4df1-8020-934501892c5a",
"rerank_score": {
"score": 0.7578274865456178
},
"recall_score": {
"score": 0.7578274865456178
},
"content": [
{
"type": "text",
"text": "Sample text content from the vector store."
}
],
"meta": {
"chunk_type": "text",
"tokens": 452,
"word_count": 588,
"update_time": "2025-01-08T22:49:32.327000",
"doc_info": {
"doc_id": "_sys_auto_gen_doc_id-13411829101044883689",
"doc_name": "2404.08817v2.pdf",
"create_time": 1727333117,
"doc_type": "pdf"
}
},
"neighbors": [
{
"left": "1f073ffe-3186-4df1-8020-934501892c5a",
"content": [
{
"type": "text",
"text": "Sample text content from the vector store."
}
]
},
{
"right": "1f073ffe-3186-4df1-8020-934501892c5a",
"content": [
{
"type": "text",
"text": "Sample text content from the vector store."
}
]
}
]
}
]
}
