AnyChunker 结构化分块
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_bf1d7f16/anychunker-skills
技能介绍
解决文档切分中的结构丢失问题
在构建 RAG 检索层或 Agent 工作流时,原始文档切分是一个容易被低估的痛点。通用的递归文本分割器通常按字符或标点切分,这会导致 Markdown 结构被破坏:代码块被截断,表格被拆散,HTML 标签丢失闭合。对于基于语义向量检索的 RAG 系统,这种破坏会直接影响召回质量,因为切分后的片段失去了上下文依赖。
核心能力:结构保持与层级索引
该技能基于 anychunker 库,提供了 结构保持的块级 Markdown 切分。它不仅按块(Block)拆分文档,还为每个片段保留了完整的元数据,包括父节点和子节点 ID 索引。这意味着你可以重建文档的层级关系,在向量库中保留上下文脉络。
核心工作流如下:
- 环境校验:通过脚本检查依赖项是否完整,确保库可导入。
- 选择策略:根据文档类型(如代码、Markdown、纯文本)选择合适的分块器。
- 最小可用示例:建议先以最小参数(如
chunk_size和chunk_overlap)运行,验证切分效果。 - 层级重组:利用输出的
block_parent_id和block_child_id在下游向量库中进行层级化存储。 - 批量迭代:支持
batchIterator进行批量处理,避免因向量 API 限流或数据库插入压力导致的阻塞。
适用边界与注意点
虽然该技能支持多种切分策略(如语义切分、Token 级切分、语言感知切分),但需要注意:
- 可选依赖:高级功能(如基于 HuggingFace Tokenizer 的切分或语义切分)需要额外的库支持(如
transformers或sentence-transformers)。请按需安装,不要预装所有依赖。 - 验证优先:所有切分操作都应在本地脚本中验证输出,不要仅凭想象生成伪代码。
- 输入验证:在使用语义切分前,请确保你的 Embedding 模型可用且接口符合要求。
使用场景
- 准备把含代码块和表格的技术文档接入向量库,切分后代码围栏和表格不能被拆散
- 需要按 Token 精确控制分块大小,避免超出 GPT-4 或 Claude 的上下文窗口成本
- 处理中文技术文档时想按词数而非字符数计算 chunk_size,减少切分碎片
- 将拆分后的文档批量写入向量数据库,需要用 batchIterator 控制批次避免接口限流
适合人员
- RAG 系统的后端工程师:需要把长文档切成结构完整、可重建层级的检索片段
- 大模型应用开发者:需要按 Token 或语言感知策略切分代码与文档,控制推理成本
- 知识库搭建者:处理多语言混合内容,希望分块保留标题、代码块与表格上下文