知识库RAG搜索
POST /studio/rag/data/v1/search:searchKnowledge
请求头(Request Header)
Authorization
可以使用如下两种Header
- 动态生成 Authorization Header, 参考认证(authentication)
-H "X-Date: $xdate" \
-H "Authorization: $auth"
- 直接提供完整的 Authorization Header,可以通过浏览器的开发者工具DevTools查看并复制接口调用的完整信息
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6InB...'
请求参数(Request Parameters)
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
config | object | 是 | 搜索配置. |
page_size | int32 | 否 | 每页大小. |
page_token | string | 否 | 分页令牌;如果从头开始,不要传递. |
keyword | string | 是 | 要检索的文本. |
其中,config
的参数如下
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
dataset_list | array[object] | 是 | 要搜索的知识库列表. |
top_k | int32 | 否 | 返回结果的Top K值. |
confidence | float | 否 | 置信度. |
weight | float | 否 | 权重:表示两种方法之间的比例. |
open_window | bool | 否 | 是否在提示中包含检索段的前后片段. |
其中,config.dataset_list
的参数如下
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
id | string | 是 | 知识库ID. |
display_name | string | 否 | 知识库显示名称. |
请求示例(Request Example)
curl 'https://aidmp.cn-sh-01.sensecoreapi.cn/studio/rag/data/v1/search:searchKnowledge' \
-H "X-Date: $xdate" \
-H "Authorization: $auth" \
-X POST \
--data-raw '{
"keyword":"银行",
"config":{
"dataset_list":[
{
"id":"rag_709be04165094a78b12d60df29817b54",
"display_name":"uploadurl"},
{"id":"d3e045538a124300a050864a95c7bd30",
"display_name":"r14t4641"
},
{
"id":"rag_feca3cbcc636484ca14195716d8aa588",
"display_name":"testklz01"
}
],
"top_k":3,
"confidence":0
}
}'
响应(Response)
名称 | 类型 | 描述 |
---|---|---|
docs | array[object] | 知识结果列表. |
next_page_token | string | 用于分页的next_page_token字段. |
其中,docs
的参数如下
名称 | 类型 | 描述 |
---|---|---|
page_content | string | 页面内容. |
document | object | 相关知识文档. |
confidence | float | 结果置信度. |
token_count | int64 | 内容的token数量. |
segment_number | int32 | 段落数量. |
words | int32 | 段落的字数. |
type | integer($enum) | 段落类型. |
display_type | integer($enum) | 显示类型. |
table_content | string | 表格内容. |
image_uri | string | 图片URI. |
image_key | string | 图片键. |
image_keys | array[string] | 图片键集合. |
display_content | string | 显示内容. |
其中,docs.document
的参数如下
名称 | 类型 | 描述 |
---|---|---|
document_id | string | 知识文档的ID. |
display_name | string | 知识文档的名称. |
type | integer($enum) | 知识文档的类型. |
document_size | int64 | 知识文档的大小. |
token_count | int64 | 知识文档的令牌计数. |
segment_count | int64 | 知识文档的段落计数. |
dataset_id | string | 知识文档所属知识库的ID. |
dataset_display | string | 知识文档所属知识库的显示名称. |
p_id | string | 父知识文档的ID. |
data_source_type | integer($enum) | 知识文档的数据源类型. |
creator | string | 知识文档的创建者. |
create_time | string($date-time) | 知识文档的创建时间. |
update_time | string($date-time) | 知识文档的更新时间. |
segments | array[object] | 知识文档的段落详细信息列表. |
uri | string | 知识文档在OSS中的预签名URI. |
其中,document.type
有如下情况
枚举值 | 数值 | 含义 |
---|---|---|
DOCUMENT_TYPE_UNSPECIFIED | 0 | 未指定 |
WEBPAGE | 1 | 网页 |
FOLDER | 2 | 文件夹 |
TXT | 3 | 文本文件 |
4 | PDF文件 | |
HTML | 5 | HTML文件 |
XLSX | 6 | XLSX文件 |
XLS | 7 | XLS文件 |
DOCX | 8 | DOCX文件 |
CSV | 9 | CSV文件 |
PPTX | 10 | PPTX文件 |
PPT | 11 | PPT文件,暂不支持 |
XML | 12 | XML文件 |
MARKDOWN | 13 | Markdown文件 |
MD | 14 | MD文件 |
JSON | 15 | Json文件 |
其中,document.data_source_type
有如下情况
枚举值 | 数值 | 含义 |
---|---|---|
DATA_SOURCE_TYPE_UNSPECIFIED | 0 | 开始,默认 |
LOCAL_FILE | 1 | 本地知识 |
WEB | 2 | 网络知识 |
NOTION | 3 | Notion知识 |
其中,document.segments
的参数如下
名称 | 类型 | 描述 |
---|---|---|
segment_id | string | 段ID. |
dataset_id | string | 知识库ID |
document_id | string | 文档ID |
content | string | 段落内容 |
token_count | int32 | 词元数量 |
number | int32 | 段落编号 |
metadata | object | 元数据 |
words | int32 | 单词数量 |
segment_type | integer($enum) | 段落类型 |
table_content | string | 表格内容 |
image_key | string | 图片键值 |
image_uri | string | 图片URI |
display_type | integer($enum) | 显示类型 |
image_keys | array[string] | 图片键值列表 |
display_content | string | 展示内容 |
其中,segments.metadata
的参数如下
名称 | 类型 | 描述 |
---|---|---|
key_words | array[string] | 关键词 |
image_name_value | string | 图片名称 |
image_size | int32 | 图片大小 |
table_name_value | string | 表格名称 |
table_rows | int32 | 表格行数 |
table_columns | array[string] | 表格列 |
score | float | 分数 |
其中,docs.type
和segments.segment_type
有如下情况
枚举值 | 数值 | 含义 |
---|---|---|
SEGMENT_TYPE_UNSPECIFIED | 0 | 未指定状态 |
SEGMENT_TYPE_TEXT | 1 | 文字 |
SEGMENT_TYPE_IMAGE | 2 | 图片 |
SEGMENT_TYPE_TABLE | 3 | 表格 |
SEGMENT_TYPE_WEB_IMAGE | 4 | 网页图片 |
其中,docs.display_type
和segments.display_type
有如下情况
枚举值 | 数值 | 含义 |
---|---|---|
DISPLAY_TYPE_UNSPECIFIED | 0 | 未指定状态 |
DISPLAY_TYPE_TEXT | 1 | 文字 |
DISPLAY_TYPE_MARKDOWN | 2 | Markdown |
响应示例(Response Example)
{
"docs": [
{
"page_content": "********",
"document": {
"name": "",
"document_id": "1b41913407d64de895b481efa61dddda",
"display_name": "newke.com/pract",
"type": 0,
"document_size": "6477",
"token_count": "231",
"segment_count": "6",
"dataset_id": "rag_feca3cbcc636484ca14195716d8aa588",
"dataset_display": "test01",
"p_id": "",
"data_source_type": 2,
"creator": "7e1d3847-d467-44b6-a3f9-acf019ae9cc3",
"create_time": "2024-07-11T10:10:09.414562Z",
"update_time": "2024-07-18T09:22:30.807009Z",
"segments": [],
"uri": ""
},
"confidence": 0.008333334,
"token_count": "40",
"segment_number": 5,
"words": 0
}
],
"next_page_token": ""
}