build_text_corpus
签名
- 支持 .txt / .md;
- 支持 .docx(读取段落与表格内容);
- 支持 .pdf / .xps / .oxps / .epub / .mobi / .fb2(经 pymupdf 纯文本抽取)。
- 目录模式下会递归处理。
build_image_corpus
签名
- 仅支持 PDF:以 144DPI 渲染每页为 JPG(RGB),并校验文件有效性。
- 目录模式下会递归处理。
mineru_parse
签名
- 调用 CLI
mineru对 PDF/目录进行结构化解析,输出到mineru_dir。
build_mineru_corpus
签名
- 汇总 MinerU 解析产物为 文本语料 JSONL 与 图片索引 JSONL。
- 文本:
- 图片:
chunk_documents
签名
- 将输入文本语料(JSONL,含
id/title/contents)按所选后端切分为段落块: - Chunk Backend: 支持
token/sentence/recursive。 - Tokenizer: tokenizer_or_token_counter 可选
word、character或tiktoken编码名称(如gpt2)。 - Chunk Size: 通过
chunk_size控制块大小(overlap 默认为 size/4)。 - 可选在每个块首部附加文档标题(
use_title)。
参数配置
| 参数 | 类型 | 说明 |
|---|---|---|
parse_file_path | str | 输入文件或目录路径 |
text_corpus_save_path | str | 文本语料输出路径(JSONL) |
image_corpus_save_path | str | 图片语料索引输出路径(JSONL) |
mineru_dir | str | MinerU 输出根目录 |
mineru_extra_params | dict | MinerU 额外参数,如 source、layout 等 |
raw_chunk_path | str | 切块输入文件路径(JSONL 格式) |
chunk_path | str | 切块输出路径 |
use_title | bool | 是否在每个切块开头附加文档标题 |
chunk_backend | str | 选择切块方式:token、sentence、recursive |
tokenizer_or_token_counter | str | 分词器或计数方式。可选:word, character 或 tiktoken 模型名(如 gpt2) |
chunk_size | int | 每个切块的目标大小 |
chunk_backend_configs | dict | 各切块方法的配置项(见下) |
chunk_backend_configs 详细参数:
| 后端类型 | 参数 | 说明 |
|---|---|---|
| token | chunk_overlap | 块间重叠 token 数 |
| sentence | chunk_overlap | 块间重叠数 |
min_sentences_per_chunk | 每个切块包含的最少句子数 | |
delim | 句子分隔符列表(字符串形式的 Python 列表) | |
| recursive | min_characters_per_chunk | 递归切分时的最小字符单元 |