Skip to main content
SoMark 可以识别文档中的标题层级,并在 JSON 结果的 data.result.catalog 中返回嵌套的目录树。每个目录节点都保留标题内容、标题层级、所在页码和对应内容块编号,可用于构建阅读导航、定位原文,以及按章节切分内容,解决 RAG 固定长度切块易打散章节上下文、难以按主题检索的问题。

方法一:通过解析 API 获取

目录树不是单独调用的接口。解析时开启 feature_config.enable_title_level_recognition,并请求 json 输出即可获得。
1

开启标题层级识别

在解析请求的 feature_config 中将 enable_title_level_recognition 设为 true。该参数默认值为 false
2

请求 JSON 输出

json 加入 output_formats。解析完成后,从响应的 data.result.catalog 读取目录树。
3

按需使用目录节点

直接渲染 children 可得到多级导航;使用 page_numblock_idx 可将目录项关联到原文页面和内容块。
以下示例使用同步解析接口:
Python
有关完整请求参数,请参阅同步解析

方法二:使用 get-catalog-tree Skill

get-catalog-tree Skill 支持 SoMark 解析接口支持的全部文档格式,包括 PDF、图片、Word、PPT 和 Excel,也可以直接读取 SoMark JSON。你只需把文件交给支持 Skill 的 Agent,即可获得标准嵌套目录 JSON。完整格式列表请参阅支持的文件格式
目录树依赖明确的标题层级。Excel 等通常以表格数据为主、没有目录结构的文档虽然可以解析,但不建议使用此功能,生成的目录树可能为空或缺少有意义的层级。
首次使用时,任选一种方式安装 Skill:
输入以下提示词:
安装后,在 Agent 中输入:
如果输入原始文档,Agent 会在发起 SoMark 解析前请求一次确认。Skill 只生成一个文件:
也可以直接提供 SoMark JSON:
目录节点保留 page_numblock_idx,可关联到原始解析 JSON 中对应的标题块,用于后续章节分块和 RAG 处理。 也可以直接运行 Skill 自带的脚本:

响应结构

目录树位于 data.result.catalog,为目录节点数组。顶层节点通常对应文档中的一级标题,子节点通过 children 递归组织。

使用建议

  • 目录节点已经是嵌套结构,无需再根据 title_level 手动组装父子关系。
  • 使用目录树进行章节切分时,可将一个节点及其子节点视为同一章节范围;再结合 page_numblock_idx 从 JSON 内容块中取回正文。
  • 标题层级基于文档版式和内容识别。对于原文没有明确标题层次、扫描质量较低或排版不规则的文件,建议在接入前抽样检查结果。
  • 如只需要文档内容,不需要章节导航,可保持该开关关闭,以使用默认解析配置。