获取知识库列表
功能介绍
获取当前账号下所有知识库列表。包括知识库ID、知识库名称、知识库状态、创建人、创建时间、更新时间等。
URI
GET /v1/koosearch/repos
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
否 |
String |
知识库名称。 |
status |
否 |
String |
状态:(open-开启,close-关闭)。 |
page_num |
否 |
Integer |
请求页码。 |
page_size |
是 |
Integer |
请求限定响应结果的分页大小,例如5条/页,10条/页。 |
tag |
否 |
String |
tag信息,由英文冒号连接key和value构成,如:key1:value1。 |
lod |
否 |
String |
level of detail, 返回结果详细程度:simple:简单。 detail:详细。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释: 接口鉴权使用的Token,Token获取方式参考:获取IAM用户Token 约束限制: 不涉及。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
data_list |
Array of KnowledgeRepoListInfo objects |
知识库列表。 |
total |
Integer |
知识库总数。 |
region_ocr_enabled |
Boolean |
OCR开关:是否开启OCR解析服务。 |
region_rac_enabled |
Boolean |
RAC开关:是否开启RAC服务。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
知识库ID。 |
name |
String |
知识库名称。 |
detail |
String |
描述。 |
status |
String |
状态。 |
create_user |
String |
用户。 |
create_time |
String |
创建时间。 |
update_time |
String |
更新时间。 |
top_k |
Integer |
topK数量。 |
prompt |
String |
prompt。 |
common_prompt |
String |
通用prompt。 |
rerank_enabled |
Boolean |
rerank开关。 |
moderate_enabled |
Boolean |
内容审核开关。 |
search_plan_enabled |
Boolean |
搜索规划开关。 |
query_rewrite_enabled |
Boolean |
改写开关。 |
reference_count |
Integer |
参考文档数量。参考文档指最终和query一起输入给NLP模型,用于生成最终答案的文档。 |
fields |
Array of KnowledgeRepoFieldSchema objects |
字段描述。 |
search_threshold |
Float |
搜索接口过滤的阈值,精排关闭时,阈值为0-200,精排打开时,阈值为0-1。 |
chat_ref_threshold |
Float |
参考文档过滤的阈值,精排关闭时,阈值为0-200,精排打开时,阈值为0-1。 |
faq_threshold |
Float |
FAQ直出阈值:超过阈值的FAQ会作为答案直接输出,不需要经过大模型总结。 注意事项: 1.参数值小于等于0时,表示FAQ不直出 2.旧版本query2doc,精排关闭时,阈值为0-200,精排打开时,阈值为0-1 3.新版本query2query,阈值为0-1 |
embedding_model |
String |
embedding模型名称。 |
rerank_model |
String |
rerank模型名称。 |
nlp_model |
String |
nlp模型名称。 |
file_extract |
FileExtract object |
文档解析详情。 |
search_plan_category_ids |
Array of strings |
搜索规划category类型配置: default.category.list[0].id=talk default.category.list[0].category=闲聊类 default.category.list[0].locale=zh default.category.list[1].id=language_task default.category.list[1].category=语言任务类 default.category.list[1].locale=zh default.category.list[2].id=human default.category.list[2].category=人设类 default.category.list[2].locale=zh default.category.list[3].id=common default.category.list[3].category=通用知识类 default.category.list[3].locale=zh default.category.list[4].id=special_knowledge default.category.list[4].category=行业知识类 default.category.list[4].locale=zh |
language_id |
String |
知识库语言ID。 |
cache_enabled |
Boolean |
是否开启缓存。 |
session_config |
SessionConfig object |
缓存策略。 |
answer_reference_enabled |
Boolean |
是否开启引用。 |
answer_image_reference_enabled |
Boolean |
是否开启图文并茂。 |
extend_config |
KnowledgeRepoExtendConfig object |
知识库扩展配置。 |
refs |
String |
引用知识库标识列表,以逗号分隔。 |
prompt_info |
KnowledgeRepoPromptInfo object |
关联的提示词信息。 |
version |
String |
知识库版本。 |
pangu_nlp_model |
String |
nlp模型名称。 |
search_plan_model |
String |
搜索规划模型名称。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
字段名。 |
field_type |
String |
字段类型。 |
name_zh |
String |
字段中文名。 |
参数 |
参数类型 |
描述 |
---|---|---|
parse_conf |
ParseConf object |
文档解析配置,包含是否使用OCR增强、是否解析图片、解析图片是否需要提取文字、是否解析页眉页脚、是否解析目录页 |
split_conf |
SplitConf object |
拆分配置,包括分段方式设置、层级解析模式设置、标题层级深度设置、标题保存方式设置、分段长度配置、标题匹配pattern配置等 |
id |
String |
文档解析规则ID |
参数 |
参数类型 |
描述 |
---|---|---|
ocr_enabled |
Boolean |
参数解释: 当前知识库是否使用OCR增强。
约束限制: 不涉及。 默认取值: false |
image_enabled |
Boolean |
参数解释: 当前知识库是否需要解析图片。 true:在文档中遇到图片默认跳过,不处理图片。 false:解析图片。具体解析方式在image_conf中配置。 约束限制: 不涉及。 默认取值: false |
header_footer_enabled |
Boolean |
参数解释: 当前知识库中的文件,是否需要解析页眉页脚。 true: 解析结果中包含页眉页脚。 false: 解析结果中不包含页眉页脚。(当页眉页脚中没有关键文本信息时,建议为false,避免干扰。) 约束限制: 不涉及 默认取值: false |
catalog_enabled |
Boolean |
参数解释: 当前知识库中的文件,是否需要解析目录页。 false:解析结果中不包含目录页。(当目录页中没有特别需要保留的信息时,建议默认为false。通常目录页中含有大量关键词,会干扰检索结果。) true:解析结果中包含目录页。 约束限制: 不涉及。 默认取值: false |
image_conf |
String |
参数解释: 图片解析开启(image_enable为True)时,使用的图片解析方式。
约束限制: 当需要使用图文并茂返回答案时,必须使用IMAGE模式,保留原图。 默认取值: TEXT |
参数 |
参数类型 |
描述 |
---|---|---|
split_mode |
String |
参数解释: 文档切分的模式选择。 取值范围: 有四种模式可选:
约束限制: 不涉及 默认取值: AUTO |
separator_ids |
Array of strings |
参数解释: 自动分段和长度分段模式下的,分段标识符ID列表。 分段标识符:用于决定分片切片时的结束符。 取值范围: 具体取值映射: "period_zh":中文句号。 "period_en":英文句号. "exclamation_mark_zh":中文叹号! "exclamation_mark_en":英文叹号! "question_mark_zh":中文问号? "question_mark_en":英文问号? "comma_zh":中文逗号, "comma_en":英文逗号, "space_en":空格 约束限制: 不涉及。 默认取值: ["period_zh", "period_en", "exclamation_mark_zh", "exclamation_mark_en", "question_mark_zh", "question_mark_en"] |
rule_regex_id |
String |
参数解释: 选择的用户自定义解析规则ID。 约束限制: 不涉及。 |
chunk_size |
Integer |
参数解释: 文档分段切片的最大长度。文档切片时根据该最大长度进行切片。 约束限制: 不涉及。 默认取值: 500 |
title_level |
Integer |
参数解释: 分片保留的标题层级深度。例如: 深度为3时:当前段落为1.1.3,父标题1.1 和 父标题1 均会保留。 深度为2时:当前段落为1.1.3,父标题1.1 保留,父标题1 舍弃。 约束限制: 不涉及。 默认取值: 3 |
combine_title |
Boolean |
参数解释: 是否保留层级标题组合。 取值说明: false:仅保留最后一级标题。 true:保存多层标题组合,从第一级到最后一级。例如:1 说明 1.1 使用说明 1.1.1 如何打开冰箱 约束限制: 不涉及。 默认取值: false |
merge_titles |
Boolean |
参数解释: 是否跨标题合并。 取值说明: true:不同标题的段落,单个段落文字较少时,自动合并到指定的分段长度,有助于生成更全面的结果。例如:相邻的两个子段落都不足200字,预期分段长度为500,此时会将两段内容合并为一段内容。 false:不同标题的段落,不做合并。 约束限制: 不涉及。 默认取值: true |
参数 |
参数类型 |
描述 |
---|---|---|
similarity_threshold |
Float |
参数解释: 命中缓存问题的query2query相似度阈值。 取值范围: 0.1 ~ 1.0,阈值设置的越高,query和缓存问题的相似程度要求就越高。 约束限制: 不涉及。 |
answer_select_policy |
String |
参数解释: 缓存命中选择策略。 取值范围: FIRST:在匹配到的结果中选择分数最高的作为答案。 RANDOM:在匹配到的结果中随机选择一个作为答案。 约束限制: 不涉及。 |
eviction |
Eviction object |
缓存过期策略。 |
model_name |
String |
参数解释: 缓存命中时,使用的query2query模型名称,用于计算新query和缓存query的相似度。 约束限制: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
policy |
String |
参数解释: 声明缓存使用哪种过期策略。 取值范围: LRU:(Least Recently Used) now - accessTime > ttl,清除。 FIFO:(First In First Out) now - createTime > ttl,清除。 LFU:(Least Frequency Used)hit_count < 阈值,清除。 约束限制: 不涉及。 |
ttl |
Long |
参数解释: 缓存过期时间,当缓存超过设定时间时清理缓存。单位: 毫秒。 约束限制: 不涉及。 |
hit_count_threshold |
Long |
参数解释: 缓存命中次数阈值,当命中次数达到阈值时,不使用缓存结果。 约束限制: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
extend_context |
Boolean |
参数解释: 是否对参考分片进行长上下文扩展。提供更广泛的上下文,以提供给模型生成完整回答。 约束限制: 不涉及。 |
effective_input_length |
Integer |
参数解释: 扩展上下文打开时,控制选取的上下文的长度。 与模型相关,确保输入令牌的有效长度以保证最佳输出。 约束限制: 考虑到多轮对话,建议控制在模型上下文长度的60%(向上取整)。 取值范围: 2 ~ 128,单位:k。 |
top_p |
Float |
参数解释: 一种替代温度采样的方法,称为nucleus sampling,通过限制词汇的选择范围来控制生成文本的多样性。top_p值越高,候选单词越多,文本多样性越高。 约束限制: 通常建议更改top_p或temperature来调整生成文本的倾向性,但不要同时更改这两个参数。 取值范围: 0.1 ~ 1 默认取值: 0.1 |
max_tokens |
Integer |
参数解释: 模型生成最大新词数。 约束限制: 和模型最长支持的上下文长度有关,max_tokens小于<模型支持的最大上下文长度 - 输入给模型的token长度>。 取值范围: 1 ~ 131072 默认取值: 131072 |
chat_temperature |
Float |
参数解释: 非搜索增强场景下,用于控制模型生成文本的多样性和创造力。 取值接近0表示最低的随机性,1表示最高的随机性。一般来说,temperature越低,适合完成确定性的任务。temperature越高,例如0.9,适合完成创造性的任务。 约束限制: 不涉及。 取值范围: 0 ~ 1。 |
search_temperature |
Float |
参数解释: 搜索增强场景下,控制模型生成文本的多样性和创造力。 取值接近0表示最低的随机性,1表示最高的随机性。一般来说,temperature越低,适合完成确定性的任务。temperature越高,例如0.9,适合完成创造性的任务。 约束限制: 不涉及。 取值范围: 0 ~ 1,盘古NLP模型一般设置为0.2/0.3。 默认取值: 0.3 |
presence_penalty |
Float |
参数解释: 控制生成的文本中重复内容的程度。presence_penalty的目的是减少模型在生成文本时重复使用相同或类似的内容,以提高生成文本的多样性。即如果一个Token已经在之前的文本中出现过,那么模型在生成这个Token时会受到一定的惩罚。 presence_penalty越小,模型考虑之前生成的Token越少,可能导致文本中出现重复内容。 presence_penalty越大,模型会更倾向于生成新的、未出现过的Token,生成的文本会更加多样化。 取值范围: -2 ~ 2,具体的取值需要权衡,盘古NLP模型一般情况下可以取1.1。 默认取值: 0 |
use_system_prompt |
Boolean |
参数解释: 是否使用系统prompt,与盘古NLP模型的RAG场景中prompt标准拼接方案保持一致。 约束限制: 当NLP模型选用盘古NLP模型时,通用场景中,可以考虑使用系统prompt。 默认取值: false |
system_prompt |
String |
参数解释: 系统prompt。 约束限制: 1.当 use_system_prompt为true时必填。 2.不需要拼接query。 |
embedding_search_enable |
Boolean |
参数解释: 在检索相关文档时,是否打开向量检索。 约束限制: 不涉及。 默认取值: true |
keyword_search_enable |
Boolean |
参数解释: 在检索相关文档时,是否打开关键词检索。 约束限制: 不涉及。 默认取值: false |
keyword_top_k |
Integer |
参数解释: 使用关键词检索时返回的top多少的结果。 约束限制: 不涉及。 取值范围: 0 ~ 100 默认取值: 10 |
refuse_enable |
Boolean |
参数解释: 如果未找到相关参考文档内容,是否选择不触发模型调用,直接让平台拒绝回答。 约束限制: 不涉及。 默认取值: false |
refuse_answer |
String |
参数解释: 当refuse_enabled为true时,如果未找到相关参考文档内容,平台拒答使用的话术配置。 约束限制: 不涉及。 |
image_match_type |
String |
参数解释: 图文召回的场景下,两种图片召回的模式选择。 取值范围: 当前仅支持context_match和reference_match。 context_match:仅召回语义相关图片:引用文段中图片的上下文与生成文段语义相似即召回,否则不召回。 reference_match:引用文段中图片全部召回。 约束限制: 不涉及。 默认取值: context_match |
custom_types |
Map<String,String> |
参数解释: 自定义字段的mapping类型字典,适用于结构化数据场景,指定可查询字段。 例如:{"companyName": "keyword"} 解释:需要检索的字段名:companyName, 检索方式:关键词匹配。 约束限制: mapping字典中的value值需要符合ES查询支持的类型,例如keyword/integer/text等。 |
参数 |
参数类型 |
描述 |
---|---|---|
prompt_id |
String |
参数解释: 当前知识库使用的NLP模型提示词ID。 约束限制: prompt_id必须是prompt管理中存在的prompt_id。 |
qa_question_prompt_id |
String |
参数解释: 当前知识库使用的QA问题生成提示词ID,该提示词用于使用文档自动生成QA对的场景。 约束限制: prompt_id必须是prompt管理中存在的prompt_id。 |
qa_answer_prompt_id |
String |
参数解释: 当前知识库使用的QA答案生成提示词ID。该提示词用于使用文档自动生成QA对的场景。 约束限制: prompt_id必须是prompt管理中存在的prompt_id。 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
|
error_msg |
String |
错误描述 |
状态码:500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
|
error_msg |
String |
错误描述 |
请求示例
GET https://{endpoint}/v1/koosearch/repos?page_num=1&page_size=10&name=知识&status=open
响应示例
状态码:200
知识库列表响应体。
{
"data_list" : [ {
"id" : "acd90739-2e22-4870-b2db-35018699b623",
"name" : "知识库A",
"detail" : "",
"version" : "c0c1bcb0-aa9a-4b86-8436-a1ae71483496",
"status" : "OPEN",
"create_user" : "",
"create_time" : "1731033664912",
"update_time" : "1731034693520",
"top_k" : 50,
"prompt" : "你是一名问题回答助手,请参考以下给出的文章回答问题。在回答问题之前,请你先仔细判给出的文章是否可以回答问题。如果给出的文章与问题不相关,则直接输出“抱歉,我无法回答此次问题”;如果给出的文章与问题相关,则参考给出的文章回答问题。\n给出的文章:\n{0}\n问题:{1}\n请你按照要求进行仔细判断后,给出你的回答:}",
"common_prompt" : "你是一名问题回答助手,请参考以下给出的文章回答问题。在回答问题之前,请你先仔细判给出的文章是否可以回答问题。如果给出的文章与问题不相关,则直接输出“抱歉,我无法回答此次问题”;如果给出的文章与问题相关,则参考给出的文章回答问题。\n给出的文章:\n{0}\n问题:{1}\n请你按照要求进行仔细判断后,给出你的回答:}",
"rerank_enabled" : true,
"moderate_enabled" : false,
"query_rewrite_enabled" : true,
"reference_count" : 3,
"fields" : [ ],
"search_threshold" : 0,
"embedding_model" : "pangu_embedding",
"rerank_model" : "pangu_rerank",
"pangu_nlp_model" : "KooSearch-N1",
"search_plan_model" : "search-plan",
"file_extract" : {
"id" : "35bcd5d3-68ca-41ef-a21e-b2b705b91552",
"parse_conf" : {
"ocr_enabled" : true,
"image_enabled" : true,
"image_conf" : "IMAGE",
"header_footer_enabled" : true,
"catalog_enabled" : false
},
"split_conf" : {
"split_mode" : "AUTO"
}
},
"search_plan_category_ids" : [ ],
"language_id" : "zh",
"cache_enabled" : false,
"answer_reference_enabled" : false,
"answer_image_reference_enabled" : false,
"chat_ref_threshold" : 0,
"faq_threshold" : 0.95,
"extend_config" : {
"extend_context" : false,
"effective_input_length" : 5,
"top_p" : 0.1,
"max_tokens" : 2048,
"chat_temperature" : 0.8,
"search_temperature" : 0.3,
"presence_penalty" : 0,
"use_system_prompt" : false,
"system_prompt" : "你结合对话历史和给定文档回复用户请求,遵循以下原则:1. 严格遵从文档原文术语和阐述逻辑;2. 回复中如果使用了某条文档片段,在相应位置使用[序号]添加引用;3. 如果结合对话历史和给定文档无法回复用户请求,或用户问题涉及安全敏感信息,直接回复【根据已有信息无法回复您的请求】。\n文档的基础信息如下:\n\n<#list docs as doc>\n[${doc?counter}]文档标题:${doc.title!}\n文档的部分片段如下:${doc.content!}\n</#list>",
"refuse_enable" : false,
"image_match_type" : "context_match"
},
"prompt_info" : {
"prompt_id" : "default_chat_prompt",
"qa_question_prompt_id" : "default_qa_question_prompt",
"qa_answer_prompt_id" : "default_qa_answer_prompt"
}
} ],
"total" : 11
}
状态码
状态码 |
描述 |
---|---|
200 |
知识库列表响应体。 |
400 |
请求体参数错误 |
500 |
内部异常 |
错误码
请参见错误码。