创建知识库
功能介绍
创建知识库。
URI
POST /v1/{project_id}/applications/{application_id}/uni-search/knowledge-repo
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释: 接口鉴权使用的Token,Token获取方式参考:获取IAM用户Token。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
参数解释: 知识库名称。 约束限制: 不涉及 取值范围: 只能包含1到64位英文字母、中文、数字、中划线或者下划线,并且以字母、数字或者中文开头。 默认取值: 不涉及 |
detail |
否 |
String |
参数解释: 知识库的描述信息。 约束限制: 不涉及 取值范围: 长度小于100。 默认取值: 不涉及 |
search_plan_category_ids |
否 |
Array of strings |
参数解释: 搜索规划category类型配置。 当未命中配置的类型时,先使用知识库检索再进行大模型总结。 当命中配置的类型时,直接使用大模型回答。 约束限制: 不涉及 取值范围: 枚举值:
默认取值: 不涉及 |
file_extract |
否 |
FileExtractConf object |
参数解释: 文档解析整体配置。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
cache_enabled |
否 |
Boolean |
参数解释: 当前知识库是否打开缓存。 约束限制: 不涉及 取值范围:
默认取值: false |
answer_reference_enabled |
否 |
Boolean |
参数解释: 当前知识库是否开启引用溯源:定位答案的参考来源位置。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
answer_image_reference_enabled |
否 |
Boolean |
参数解释: 是否开启图文并茂。 约束限制: 需要同时打开"引用定位"(answer_reference_enabled)。 取值范围:
默认取值: false |
session_config |
否 |
SessionConfig object |
参数解释: 缓存策略。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
embedding_model |
否 |
String |
参数解释: 当前知识库使用的embedding模型名称。 embedding模型:用于将文本内容向量化,进行向量检索的模型。 约束限制: 必须是平台上配置的embedding模型。平台上配置的模型可以通过ListModels接口查看。 取值范围: 只能由中文字符、英文字母、数字及“_”、“-”组成,且长度为[1-32]个字符。 默认取值: 不涉及 |
rerank_model |
否 |
String |
参数解释: 当前知识库使用的rerank模型名称。 rerank模型:对embedding模型通过向量检索返回的top_k个结果,进行重排序,目的是将与query匹配度最高的结果通过rerank模型排上来。 约束限制: 必须是平台上配置的rerank模型。平台上配置的模型可以通过ListModels接口查看。 取值范围: 只能由中文字符、英文字母、数字及“_”、“-”组成,且长度为[1-32]个字符。 默认取值: 不涉及 |
pangu_nlp_model |
否 |
String |
参数解释: 当前知识库使用的NLP大模型名称。 NLP大模型:chat接口使用的生成模型,可以基于输入的文本,生成答案。 约束限制: 必须是平台上配置的rerank模型。平台上配置的模型可以通过ListModels接口查看。 取值范围: 只能由中文字符、英文字母、数字及“_”、“-”组成,且长度为[1-32]个字符。 默认取值: 不涉及 |
search_plan_model |
否 |
String |
参数解释: 搜索规划模型名称。 search_plan模型:搜索规划模型,将用户输入的query重新规划为更适合检索的query,包含query改写、query补全等。 约束限制: 必须是平台上配置的search_plan模型。平台上配置的模型可以通过ListModels接口查看。 取值范围: 只能包含1到32位英文字母、中文、数字、中划线或者下划线,并且以字母、数字或者中文开头。 默认值: 不涉及 |
mllm_model |
否 |
String |
参数解释: 多模态模型名称。 约束限制: 必须是平台上配置的mllm_plan模型。平台上配置的模型可以通过ListModels接口查看。 取值范围: 只能包含1到32位英文字母、中文、数字、中划线或者下划线,并且以字母、数字或者中文开头。 默认值: 不涉及 |
language_id |
否 |
String |
参数解释: 当前知识库的语言ID。 约束条件: 不涉及 取值范围:
约束条件: 不涉及 |
refs |
否 |
String |
参数解释: 引用知识库标识列表,以逗号分隔,用于支持多个知识库联合检索问答的场景。 约束限制: 不涉及 取值范围: 0-1024个字符。 默认值: 不涉及 |
tags |
否 |
Array of TagInfo objects |
参数解释: 标签列表。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
extend_config |
否 |
KnowledgeRepoExtendConfig object |
参数解释: 知识库扩展配置。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
prompt_info |
否 |
KnowledgeRepoPromptInfo object |
参数解释: 提示词信息。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
table_rag_enabled |
否 |
Boolean |
参数解释: 是否开启tableRAG功能。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
parse_conf |
否 |
ParseConf object |
参数解释: 文档解析配置,包含是否使用OCR增强、是否解析图片、解析图片是否需要提取文字、是否解析页眉页脚、是否解析目录页。 取值范围: 不涉及 |
split_conf |
否 |
SplitConf object |
参数解释: 拆分配置,包括分段方式设置、层级解析模式设置、标题层级深度设置、标题保存方式设置、分段长度配置、标题匹配pattern配置等。 取值范围: 不涉及 |
id |
否 |
String |
参数解释: 文档解析ID。 约束限制: 不涉及 取值范围: 0-128个字符。 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
ocr_enabled |
否 |
Boolean |
参数解释: ocr增强。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
mllm_model |
否 |
String |
参数解释: 多模态模型名称。 约束限制: 必须是平台上配置的mllm_plan模型。平台上配置的模型可以通过ListModels接口查看。 取值范围: 只能包含1到32位英文字母、中文、数字、中划线或者下划线,并且以字母、数字或者中文开头。 默认值: 不涉及 |
image_enabled |
否 |
Boolean |
参数解释: 图片解析。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
header_footer_enabled |
否 |
Boolean |
参数解释: 解析页眉页脚。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
catalog_enabled |
否 |
Boolean |
参数解释: 解析目录页。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
image_conf |
否 |
String |
参数解释: 图片解析开启(image_enable为True)时,使用的图片解析方式。 约束限制: 当需要使用图文并茂返回答案时,必须使用IMAGE模式,保留原图。 取值范围:
默认取值: TEXT |
footnote_enabled |
否 |
Boolean |
参数解释: 解析脚注尾注。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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"} |
rule_regex_id |
否 |
String |
参数解释: 用户定义解析规则ID。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
chunk_size |
否 |
Integer |
参数解释: 文档分段切片的最大长度。文档切片时根据该最大长度进行切片。 约束限制: 不涉及 取值范围: 0-6000 默认取值: 500 |
title_level |
否 |
Integer |
参数解释: 分片保留的标题层级深度。 例如: 深度为3时:当前段落为1.1.3,父标题1.1 和 父标题1 均会保留。 深度为2时:当前段落为1.1.3,父标题1.1 保留,父标题1 舍弃。 约束限制: 不涉及 取值范围: 1-10 默认取值: 3 |
combine_title |
否 |
Boolean |
参数解释: 是否保留层级标题组合。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
merge_titles |
否 |
Boolean |
参数解释: 是否跨标题合并,不同标题段落文字较少时,会自动合并到指定的分段长度,有助于生成更全面的结果。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
rule_regexs |
否 |
Array of strings |
参数解释: 用户定义解析规则。 约束限制: 不涉及 取值范围: 列表长度限制1-100。 默认取值: 不涉及 |
merge_last_chunk |
否 |
Boolean |
参数解释: 是否合并最近修改的分段。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
similarity_threshold |
是 |
Float |
参数解释: 命中缓存问题的query2query相似度阈值。阈值设置的越高,query和缓存问题的相似程度要求就越高。 约束限制: 不涉及 取值范围: 0.1 ~ 1.0 默认取值: 0.9 |
answer_select_policy |
是 |
String |
参数解释: 缓存命中选择策略。 约束限制: 不涉及 取值范围: 枚举值:
默认取值: 不涉及 |
eviction |
是 |
Eviction object |
参数解释: 缓存过期策略。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
model_name |
是 |
String |
参数解释: 缓存命中时,使用的query2query模型名称,用于计算新query和缓存query的相似度。 约束限制: 不涉及 取值范围: 1-64个字符。 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
policy |
是 |
String |
参数解释: 缓存过期策略。 约束限制: 不涉及 取值范围: 枚举值:
默认取值: 不涉及 |
ttl |
否 |
Long |
参数解释: 缓存过期时间 毫秒。 约束限制: 不涉及 取值范围: 0-31536000000 默认取值: 不涉及 |
hit_count_threshold |
否 |
Long |
参数解释: 缓存命中次数阈值。 约束限制: 不涉及 取值范围: 1-10000 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
tag_key |
是 |
String |
参数解释: 知识库标签关键字。 约束限制: 不涉及 取值范围: 1-128个字符。 默认取值: 不涉及 |
tag_value |
是 |
String |
参数解释: 知识库标签信息。 约束限制: 不涉及 取值范围: 1-128个字符。 默认取值: 不涉及 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
extend_context |
否 |
Boolean |
参数解释: 扩展长上下文以生成更全面的响应,比如: 1.表格small-to-big 2.文本(1)(2)(3)的关联 3.文档摘要。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
effective_input_length |
否 |
Integer |
参数解释: 效果最好的上下文长度,与模型相关,确保输入令牌的有效长度以保证最佳输出 考虑到多轮对话,建议控制在模型上下文长度的60%(向上取整)。 约束限制: 不涉及 取值范围: 2-256 默认取值: 32 |
top_p |
否 |
Float |
参数解释: 一种替代温度采样的方法,称为nucleus sampling,其中模型考虑具有top_p 概率质量的标记的结果。 约束限制: 不涉及 取值范围: 0.1-1 默认取值: 0.1 |
max_tokens |
否 |
Integer |
参数解释: 生成文本的最大token数量。 输入的文本加上生成的文本总量不能超过模型所能处理的最大长度。 约束限制: 不涉及 取值范围: 1-262144 默认取值: 2048 |
chat_temperature |
否 |
Float |
参数解释: 非搜索增强模型生成多样性。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 0-1 |
search_temperature |
否 |
Float |
参数解释: 搜索增强模型生成多样性。 约束限制: 不涉及 取值范围: 0-1 默认取值: 0.6 |
presence_penalty |
否 |
Float |
参数解释: 文本重复度。 约束限制: 不涉及 取值范围: -2 - 2 默认取值: 0 |
use_system_prompt |
否 |
Boolean |
参数解释: 是否使用系统Prompt,与盘古RAG场景Prompt标准拼接方案保持一致。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
system_prompt |
否 |
String |
参数解释: 系统Prompt,注意: 1.当 use_system_prompt为true时必填 2.不需要拼接query。 约束限制: 不涉及 取值范围: 0-8192 默认取值: 不涉及 |
qa_question_prompt |
否 |
String |
参数解释: QA生成,问题生成prompt。 约束限制: 不涉及 取值范围: 0-8192 默认取值: 不涉及 |
qa_answer_prompt |
否 |
String |
参数解释: QA生成,答案生成prompt。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 0-8192 |
refuse_enable |
否 |
Boolean |
参数解释: 拒答开关。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
refuse_answer |
否 |
String |
参数解释: 拒答内容设置。 约束限制: 不涉及 取值范围: 1-8192 默认取值: 不涉及 |
image_match_type |
否 |
String |
参数解释: 配图参数,context_match和reference_match、model_match可选,默认context_match。 约束限制: 不涉及 取值范围:
默认取值: context_match |
custom_types |
否 |
Map<String,Map<String,String>> |
参数解释: 自定义结构类型。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
directory_enable |
否 |
Boolean |
参数解释: 目录管理开关。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
embedding_search_enable |
否 |
Boolean |
参数解释: 向量检索开关。 约束限制: 不涉及 取值范围: 不涉及 默认取值: true |
keyword_search_enable |
否 |
Boolean |
参数解释: 关键词检索开关。 约束限制: 不涉及 取值范围: 不涉及 默认取值: 不涉及 |
keyword_top_k |
否 |
Integer |
参数解释: 关键词检索topK,取值范围0到100,默认10。 约束限制: 不涉及 取值范围: 0-100 默认取值: 10 |
search_engine_type |
否 |
String |
参数解释: 搜索引擎类型。 约束限制: 不涉及 取值范围: 枚举值:
默认取值: 不涉及 |
search_engine_name |
否 |
String |
参数解释: 搜索引擎名称。 约束限制: 不涉及 取值范围: 0-64个字符。 默认取值: 不涉及 |
think_model_name |
否 |
String |
参数解释: 深度思考模型名称。 约束限制: 不涉及 取值范围: 0-64个字符。 默认取值: 不涉及 |
faq_top_k |
否 |
Integer |
参数解释: 问答、搜索混合检索非直出FAQ topK。 约束限制: 不涉及 取值范围: 0-50 默认取值: 2 |
faq_similarity_threshold |
否 |
Float |
参数解释: 问答、搜索混合检索非直出FAQ 阈值。 约束限制: 不涉及 取值范围: 0-1 默认取值: 0.8 |
extract_model_name |
否 |
String |
参数解释: 图谱抽取模型名称。 约束限制: 不涉及 取值范围: 0-64个字符。 默认取值: 不涉及 |
optimize_model_name |
否 |
String |
参数解释: 图谱优化模型名称 约束限制: 不涉及 取值范围: 不超过64个字符。 默认取值: 不涉及 |
graph_search_enable |
否 |
Boolean |
参数解释: 是否打开图谱检索。 约束限制: 不涉及 取值范围: 不涉及 默认取值: false |
graph_reference_count |
否 |
Integer |
参数解释: 图谱参考文档数量,打开图谱开关,问答时生效 约束限制: 不涉及 取值范围: 1-50 默认取值: 10 |
graph_top_k |
否 |
Integer |
参数解释: 图谱向量召回TopK。 约束限制: 不涉及 取值范围: 1-500 默认取值: 50 |
graph_keyword_top_k |
否 |
Integer |
参数解释: 图谱关键词召回TopK。 约束限制: 不涉及 取值范围: 1-100 默认取值: 20 |
graph_threshold |
否 |
Float |
参数解释: 图谱精排阈值。 约束限制: 不涉及 取值范围: 0-200 默认取值: 0.3 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
prompt_id |
否 |
String |
参数解释: 提示词ID。 约束限制: 不涉及 取值范围: 只能包含1到64位数字、字母、中划线和下划线。 默认取值: 不涉及 |
qa_question_prompt_id |
否 |
String |
参数解释: qa问题生成提示词ID。 约束限制: 不涉及 取值范围: 只能包含1到64位数字、字母、中划线和下划线。 默认取值: 不涉及 |
qa_answer_prompt_id |
否 |
String |
参数解释: qa答案生成提示词ID 约束限制: 不涉及 取值范围: 只能包含1到64位数字、字母、中划线和下划线。 默认取值: 不涉及 |
mllm_prompt_id |
否 |
String |
参数解释: mllm提示词ID。 约束限制: 不涉及 取值范围: 只能包含1到64位数字、字母、中划线和下划线。 默认取值: 不涉及 |
table_rag_config |
否 |
String |
参数解释: 表格增强相关的提示词。 包括: chat_prompt_with_sqlresults_id:带有表格增强的问答提示词 nl2sql_prompt_id:生成sql的提示词 table_rag_prompt_id:表格问答提示词 约束限制: 不涉及 取值范围: 1-512个字符。 默认取值: 不涉及 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
repo_id |
String |
参数解释: 知识库ID。 取值范围: 不涉及 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
参数解释: 错误码。 取值范围: 不涉及 |
error_msg |
String |
参数解释: 错误描述。 取值范围: 不涉及 |
状态码:500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
参数解释: 错误码。 取值范围: 不涉及 |
error_msg |
String |
参数解释: 错误描述。 取值范围: 不涉及 |
请求示例
创建知识库。
/v1/1ed40ceefc8d40f8b884edb6a84e7768/applications/fb9731ab-7085-474f-b6c7-64473586f0f3/uni-search/knowledge-repo { "name" : "test_20250425", "language_id" : "zh", "detail" : "", "tags" : [ ], "file_extract" : { "parse_conf" : { "ocr_enabled" : true, "image_enabled" : true, "header_footer_enabled" : false, "catalog_enabled" : false, "image_conf" : "TEXT" }, "split_conf" : { "split_mode" : "CATALOG", "separator_ids" : [ "period_zh", "period_en", "exclamation_mark_zh", "exclamation_mark_en", "question_mark_zh", "question_mark_en" ], "chunk_size" : 500, "merge_titles" : true, "title_level" : 3, "combine_title" : true } }, "extend_config" : { "extend_context" : false, "effective_input_length" : 3, "custom_types" : { }, "image_match_type" : "context_match", "directory_enable" : false, "search_engine_name" : "bocha", "think_model_name" : "dp-r1" }, "embedding_model" : "embedding-zh", "rerank_model" : "rerank-zh", "search_plan_model" : "search_ai_plan", "pangu_nlp_model" : "dp-r1", "cache_enabled" : true, "answer_reference_enabled" : false, "answer_image_reference_enabled" : false, "session_config" : { "model_name" : "embedding-zh_faq", "similarity_threshold" : 0.9, "answer_select_policy" : "first", "eviction" : { "policy" : "lru", "hit_count_threshold" : 1, "ttl" : 86400000 } } }
响应示例
状态码:200
创建知识库响应体。
{ "repo_id" : "1235abc" }
状态码
状态码 |
描述 |
---|---|
200 |
创建知识库响应体。 |
400 |
请求体参数错误。 |
500 |
内部异常。 |
错误码
请参见错误码。