更新时间:2025-07-22 GMT+08:00
分享

创建知识库

功能介绍

创建知识库。

URI

POST /v1/{project_id}/applications/{application_id}/uni-search/knowledge-repo

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID,获取方法请参见获取项目ID

约束限制:

不涉及

取值范围:

1~64个字符,只能包含数字、字母、中划线和下划线,且必须以字母开头。

默认取值:

不涉及

application_id

String

参数解释:

应用ID,获取方法请参见获取应用ID

约束限制:

字符串

取值范围:

1~64个字符,只能包含数字、字母、中划线和下划线,且必须以字母开头。

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

接口鉴权使用的Token,Token获取方式参考:获取IAM用户Token

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

参数解释:

知识库名称。

约束限制:

不涉及

取值范围:

只能包含1到64位英文字母、中文、数字、中划线或者下划线,并且以字母、数字或者中文开头。

默认取值:

不涉及

detail

String

参数解释:

知识库的描述信息。

约束限制:

不涉及

取值范围:

长度小于100。

默认取值:

不涉及

search_plan_category_ids

Array of strings

参数解释:

搜索规划category类型配置。

当未命中配置的类型时,先使用知识库检索再进行大模型总结。

当命中配置的类型时,直接使用大模型回答。

约束限制:

不涉及

取值范围:

枚举值:

  • professional_knowledge-medical - 行业知识类-医疗,

  • weather - 天气类,

  • professional_knowledge - 行业知识类,

  • professional_knowledge-manufacturing - 行业知识类-制造,

  • chitchat -闲聊类,

  • language_tasks - 语言任务类,

  • professional_knowledge-finance -行业知识类-金融,

  • general_knowledge -通用知识类,

  • professional_knowledge-government - 行业知识类-政务,

  • identity - 人设类。

默认取值:

不涉及

file_extract

FileExtractConf object

参数解释:

文档解析整体配置。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

cache_enabled

Boolean

参数解释:

当前知识库是否打开缓存。

约束限制:

不涉及

取值范围:

  • false: 不缓存结果。

  • true:缓存query/reference/answer结果,并在下次检索时,遇到相似query时,直接返回缓存结果,提升时延。

默认取值:

false

answer_reference_enabled

Boolean

参数解释:

当前知识库是否开启引用溯源:定位答案的参考来源位置。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

false

answer_image_reference_enabled

Boolean

参数解释:

是否开启图文并茂。

约束限制:

需要同时打开"引用定位"(answer_reference_enabled)。

取值范围:

  • true: 当文档中有与问题相关的图片时,返回问题的文字答案的同时,返回图片。

  • false:不召回图片。

默认取值:

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。

约束条件:

不涉及

取值范围:

  • zh==CHINESE

  • en==ENGLISH

  • th==THAI

  • ar==ARABIC

  • es==SPANISH

  • pt==PORTUGUESE

约束条件:

不涉及

refs

String

参数解释:

引用知识库标识列表,以逗号分隔,用于支持多个知识库联合检索问答的场景。

约束限制:

不涉及

取值范围:

0-1024个字符。

默认值:

不涉及

tags

Array of TagInfo objects

参数解释:

标签列表。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

extend_config

KnowledgeRepoExtendConfig object

参数解释:

知识库扩展配置。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

prompt_info

KnowledgeRepoPromptInfo object

参数解释:

提示词信息。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

table_rag_enabled

Boolean

参数解释:

是否开启tableRAG功能。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表4 FileExtractConf

参数

是否必选

参数类型

描述

parse_conf

ParseConf object

参数解释:

文档解析配置,包含是否使用OCR增强、是否解析图片、解析图片是否需要提取文字、是否解析页眉页脚、是否解析目录页。

取值范围:

不涉及

split_conf

SplitConf object

参数解释:

拆分配置,包括分段方式设置、层级解析模式设置、标题层级深度设置、标题保存方式设置、分段长度配置、标题匹配pattern配置等。

取值范围:

不涉及

id

String

参数解释:

文档解析ID。

约束限制:

不涉及

取值范围:

0-128个字符。

默认取值:

不涉及

表5 ParseConf

参数

是否必选

参数类型

描述

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 提取图片文本

  • IMAGE 保留原图

  • IMAGE_TEXT,解析文本和保留原图

默认取值:

TEXT

footnote_enabled

Boolean

参数解释:

解析脚注尾注。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

false

表6 SplitConf

参数

是否必选

参数类型

描述

split_mode

String

参数解释:

文档切分的模式选择。

取值范围:

枚举值:

  • AUTO- 自动拆分,自动识别文档格式匹配适合的拆分解析方式。

  • LENGTH-按长度拆分,例如每500字分一段。

  • CATALOG-层级分段下-自动解析。自动识别文章的层级结构,按照文章的层级结构分片。例如1.1.2章节为一个分片,1.1.3章节为一个分片。

  • RULE- 层级分段下-规则解析。自定义层级标题的匹配规则,并依据自定义的规则进行章节匹配、切分。

约束限制:

不涉及

默认取值:

AUTO

separator_ids

Array of strings

参数解释:

自动分段和长度分段模式下的,分段标识符ID列表。

分段标识符:用于决定分片切片时的结束符。

约束条件:

不涉及

取值范围:

取值映射:

  • period_zh: "中文句号 。",

  • period_en: "英文句号 .",

  • exclamation_mark_zh: "中文叹号 !",

  • exclamation_mark_en: "英文叹号 !",

  • question_mark_zh: "中文问号 ?",

  • question_mark_en: "英文问号 ?",

  • question_mark_ar: "阿语问号 ؟",

  • 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

参数解释:

文档分段切片的最大长度。文档切片时根据该最大长度进行切片。

约束限制:

不涉及

取值范围:

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

参数解释:

是否合并最近修改的分段。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表7 SessionConfig

参数

是否必选

参数类型

描述

similarity_threshold

Float

参数解释:

命中缓存问题的query2query相似度阈值。阈值设置的越高,query和缓存问题的相似程度要求就越高。

约束限制:

不涉及

取值范围:

0.1 ~ 1.0

默认取值:

0.9

answer_select_policy

String

参数解释:

缓存命中选择策略。

约束限制:

不涉及

取值范围:

枚举值:

  • FIRST:在匹配到的结果中选择分数最高的作为答案。

  • RANDOM:在匹配到的结果中随机选择一个作为答案。

默认取值:

不涉及

eviction

Eviction object

参数解释:

缓存过期策略。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

model_name

String

参数解释:

缓存命中时,使用的query2query模型名称,用于计算新query和缓存query的相似度。

约束限制:

不涉及

取值范围:

1-64个字符。

默认取值:

不涉及

表8 Eviction

参数

是否必选

参数类型

描述

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

参数解释:

缓存过期时间 毫秒。

约束限制:

不涉及

取值范围:

0-31536000000

默认取值:

不涉及

hit_count_threshold

Long

参数解释:

缓存命中次数阈值。

约束限制:

不涉及

取值范围:

1-10000

默认取值:

不涉及

表9 TagInfo

参数

是否必选

参数类型

描述

tag_key

String

参数解释:

知识库标签关键字。

约束限制:

不涉及

取值范围:

1-128个字符。

默认取值:

不涉及

tag_value

String

参数解释:

知识库标签信息。

约束限制:

不涉及

取值范围:

1-128个字符。

默认取值:

不涉及

表10 KnowledgeRepoExtendConfig

参数

是否必选

参数类型

描述

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

  • reference_match

  • model_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:web搜索引擎。

  • ai_engine:联网增强服务。

默认取值:

不涉及

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

表11 KnowledgeRepoPromptInfo

参数

是否必选

参数类型

描述

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

表12 响应Body参数

参数

参数类型

描述

repo_id

String

参数解释:

知识库ID。

取值范围:

不涉及

状态码:400

表13 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码

取值范围:

不涉及

error_msg

String

参数解释:

错误描述。

取值范围:

不涉及

状态码:500

表14 响应Body参数

参数

参数类型

描述

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

内部异常。

错误码

请参见错误码

相关文档