调用本接口可将文件导入指定知识库,并转换为可检索、可召回的文档内容。
说明
chunk_settings、quality_settings 和 file_parse_type_overrides。chunk_settings 和 quality_settings 组织解析配置;旧版字段仅用于历史兼容。completeness_check、sensitive_word_check、duplicate_doc_check 仅保留兼容用途。新接入统一放入 quality_settings。字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| List | 是 | 目标知识库 ID 列表。 |
| List | 条件必填 | 本地上传场景下待导入文件 ID 列表。未显式传入时,可由 |
| List | 条件必填 | 对象存储导入场景下的源文件 key 列表。未显式传入时,可由 |
| String | 对象存储场景必填 | 数据源类型标识,例如对象存储导入时使用 |
| Integer | 对象存储场景必填 | 数据源元信息 ID。 |
| List | 否 | 按文件覆盖逻辑解析类型,适用于“文件扩展名与实际内容类型不一致”的场景。更多信息,请参见解析类型覆盖。 |
| Object | 否 | 切片、解析、图片/表格提取、音视频模型等配置。配置详情,请参见chunk_settings 配置。 |
| Object | 否 | 完整度检测、敏感词检测、重复文档校验等质量策略配置。配置详情,请参见quality_settings 配置。 |
| Object | 否 | 历史兼容字段。新接入不推荐使用。 |
| Integer | 否 | 目标文件夹 ID。 |
| Object | 否 | 透传扩展参数。 |
{ "kb_ids": [123], "file_ids": [1001] }
file_parse_type_overrides 用于按文件声明逻辑解析类型。它只决定文件应读取哪一类解析配置,不直接覆盖具体切片参数;具体参数仍放在对应类型的 chunk_settings 和 file_overrides 中。
字段 | 适用场景 | 说明 |
|---|---|---|
| 本地上传 | 匹配单个文件 ID。 |
| 本地上传 | 批量匹配多个文件 ID。 |
| 对象存储导入 | 匹配单个源文件 key。 |
| 对象存储导入 | 批量匹配多个源文件 key。 |
parse_type 可选值:text、doc、other、pdf、ppt、image、table。其中 doc 会按 text 处理。
{ "file_parse_type_overrides": [ { "match": { "file_ids": [1002, 1003] }, "parse_type": "ppt" } ], "chunk_settings": { "ppt": { "max_segment_length": 800, "exclude_master_content": true } } }
chunk_settings 按文件类型分组,用于控制不同类型文件的切片、解析和导入提取参数。字段统一使用 snake_case。
分组 | 适用文件 | 说明 |
|---|---|---|
| .doc、.docx、.txt、.md 等 | 通用文档; |
| .html、.json 等 | 其它文档类型。 |
| PDF 文件。 | |
| .ppt、.pptx | 演示文稿。 |
| 图片文件 | 图片理解和 OCR 配置。 |
| .mp3、.wav | 音频转写配置。 |
| .mp4、.mov、.avi | 视频理解、音频转写和音视频融合配置。 |
| .xls、.xlsx、.csv | 表格自动分段或自定义分段配置。 |
字段名 | 类型 | 说明 |
|---|---|---|
| String | 切片模式。可选值: |
| Integer | 每个切片分段的最大长度,默认 1024。 |
| String | 自定义分隔符,仅在 |
| Boolean | 自定义分段时是否关联标题,仅在 |
| Boolean | 自定义分段时,是否自动合并连续小分段。 |
| Integer | 小分段阈值,单位 token。 |
| Boolean | 是否从文档中提取图片,默认 true。 |
| Boolean | 是否对提取出的图片进行智能理解,默认 false。 |
| Integer | 图片智能理解时允许生成的最大输出 token 数。 |
| Boolean | 是否从文档中提取表格,默认 false。 |
类型 | 字段 | 说明 |
|---|---|---|
|
| PPT 仅支持自动分段,可配置切片长度、去除母版噪声、去除页眉页脚。 |
|
| 控制图片理解、OCR 和切片长度。 |
|
| 导入音频文件时,必须提供 |
|
| 导入视频文件时,必须提供 |
注意
导入音频文件缺少 chunk_settings.audio.asr_model,或导入视频文件缺少 chunk_settings.video.asr_model、video_model、fuse_model 时,请求会在入口校验阶段失败。
表格文件支持自动分段和自定义分段。推荐按以下层级组织配置:table 表示表格默认策略,table.file_overrides[] 命中特定文件,file_overrides[].sheets[] 指定 sheet,sheets[].columns[] 指定列配置。
场景 | 配置方式 | 说明 |
|---|---|---|
自动分段 |
| 系统完成 sheet 和表头识别。可通过 |
模型自动识别表头 |
| 由模型识别表头。 |
规则配置 |
| 按指定行号识别表头和数据起始行,行号从 1 开始。 |
自定义分段 |
| 为某个表格文件的一个或多个 sheet 单独配置切分规则和列配置。 |
字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| String | 条件必填 | sheet 名称;与 |
| String | 条件必填 | sheet ID;与 |
| Integer | 否 | 当前 sheet 的表头所在行,从 1 开始。 |
| Integer | 否 | 当前 sheet 的数据起始行,从 1 开始。 |
| List | 否 | 当前 sheet 的列配置。详情参见下文 columns 字段表。 |
字段名 | 类型 | 说明 |
|---|---|---|
| String | 原始列名。 |
| String | 导入后的列别名。未传时使用 |
| Boolean | 是否启用该列参与召回,默认 true。 |
| String | 列数据类型。可选值: |
| String | 列描述。 |
quality_settings 负责管理质量检测和重复文档校验策略,按文件类型分组,类型名称与 chunk_settings 一致。当前 quality_settings 不支持 file_overrides。
字段名 | 类型 | 说明 |
|---|---|---|
| Boolean | 是否开启错别字检测。 |
| Boolean | 是否开启完整度检测。 |
| Boolean | 是否开启敏感词检测。 |
| Boolean | 是否开启重复文档校验。该配置会在导入前生效,只校验当前命中文件类型下开启了该开关的文件。 |
{ "quality_settings": { "text": { "completeness_check": true, "sensitive_word_check": false, "duplicate_doc_check": true }, "ppt": { "completeness_check": false, "sensitive_word_check": true, "duplicate_doc_check": false } } }
当一次请求包含多个文件时,系统会按文件逐一解析配置。高优先级配置会覆盖低优先级配置的同名字段。
优先级 | 配置来源 | 说明 |
|---|---|---|
1 |
| 判断当前文件是否覆盖默认解析类型;未命中则继续按默认文件类型读取配置。 |
2 |
| 在最终命中的文件类型分组内,查找是否存在命中当前文件的覆盖项。 |
3 | 类型级全局配置 | 使用文件类型对应的全局配置,例如 |
4 |
| 历史兼容配置,仅当新配置未定义相关字段时回退。 |
5 | 系统默认值 | 以上配置均未提供时,使用系统预设默认值。 |
规则 | 说明 |
|---|---|
表格模式互斥 |
|
自动分段规则配置 |
|
自定义分段限制 |
|
CSV 限制 | CSV 文件没有 sheet 概念,不适用多 sheet 配置。 |
音频必填模型 | 导入音频文件时必须提供 |
视频必填模型 | 导入视频文件时必须提供 |
说明
接口返回统一 JSON 结构。调用方应优先根据 code 判断请求是否成功:code=0 表示成功,非 0 表示失败。
参数名称 | 参数类型 | 参数说明 |
|---|---|---|
code | Integer | 响应码。 |
msg | string | 响应信息。成功时通常为 |
data | List | 成功时返回导入结果列表;失败时通常为 |
参数名称 | 参数类型 | 参数说明 |
|---|---|---|
data[].id | Integer | 文件与文档关联记录 ID。 |
data[].file_id | Integer | 本次导入的源文件 ID。 |
data[].document_id | Integer | 导入后生成的文档 ID。后续查询、管理或重新分段时可使用该 ID。 |
data[].running_state | String | 解析任务运行状态,可为空。该字段用于兼容异步处理状态展示,未返回时以实际文档状态查询结果为准。 |
{ "kb_ids": [123], "file_parse_type_overrides": [ { "match": { "file_ids": [1001] }, "parse_type": "text" }, { "match": { "file_ids": [1002] }, "parse_type": "ppt" }, { "match": { "file_ids": [1004] }, "parse_type": "table" } ], "chunk_settings": { "text": { "mode": "custom", "max_segment_length": 1200, "custom_separator": "\\n---\\n", "associate_chunk_title": true, "merge_small_chunks": true, "small_chunk_token_threshold": 128, "extract_images": true, "image_understand": true, "image_understand_max_tokens": 1024, "extract_tables": true }, "ppt": { "max_segment_length": 800, "exclude_master_content": true, "exclude_header_footer": true }, "table": { "mode": "auto", "parse_strategy": "model_auto_header", "file_overrides": [ { "match": { "file_id": 1004 }, "mode": "custom", "sheets": [ { "sheet_name": "汇总", "header_row": 2, "data_start_row": 3, "columns": [ { "source_name": "城市", "target_name": "city", "enabled": true, "data_type": "STRING", "description": "城市列" }, { "source_name": "金额", "target_name": "amount", "enabled": true, "data_type": "DOUBLE", "description": "金额列" } ] } ] } ] } }, "quality_settings": { "text": { "completeness_check": true, "sensitive_word_check": false, "duplicate_doc_check": true }, "ppt": { "completeness_check": false, "sensitive_word_check": true, "duplicate_doc_check": false } } }
{ "code": 0, "msg": "success", "data": [ { "id": 9001, "file_id": 1001, "document_id": 2001, "running_state": null } ] }
{ "code": 500, "msg": "kb_ids 不能为空", "data": null }