解析器可以从 PDF 中提取每一个词,却仍然产出不可靠的解析内容。值和文本可能是正确的,但如果你丢失了它们属于哪张表格或哪个章节,模型在回答问题前就必须先假设这些关系。

这就是输出格式重要的原因。对于文档搜索和提取,我们需要保留标题、阅读顺序、表格结构以及每个元素周围的上下文。我们还希望输出在出错时易于检查。

Markdown 是这方面的实用默认选择,也是整个行业已经确定的格式。它以相对较小的格式开销支持我们需要的大部分结构,当表格需要表达 Markdown 无法承载的内容时,我们还可以嵌入 HTML 表格。如今,LlamaParse 正是以此交付尽可能最准确的输出。

Markdown 保留了哪些内容

大多数文档都包含标题、段落、列表和表格的某种组合。Markdown 为我们提供了一种直接的方式来表示这些内容:

  • 标题层级保留了章节与子章节之间的关系。
  • 列表将步骤和嵌套项保持在一起。
  • 简单表格为值提供了明确的行列标签。
  • 链接将文本与引用和支持材料连接起来。

这种结构在整个文档流水线中都很有用。分块器可以用标题作为章节边界,并将章节标题带入每个分块。调查错误答案的开发者可以阅读解析后的文本,检查问题是从解析、检索还是生成阶段开始的。

Markdown 还能减少发送给模型的格式量。用##表示标题比将其包裹在带有 type、style 和 coordinates 的对象中占用的文本更少。实际的 token 节省取决于文档以及你所比较的格式。

用 HTML 处理复杂表格

设想一份包含两年业绩的财务报告。每年都有 Revenue 和 Margin 列,行按地区分组。在页面上,年份标签可能横跨两列,而地区标签则适用于其下方的多行。

直接转换为 Markdown 表格可能会产生这样的结果:

| Segment  | FY2026  |        | FY2025  |        |
|----------|---------|--------|---------|--------|
|          | Revenue | Margin | Revenue | Margin |
| Americas |         |        |         |        |
| Cloud    | 1,240   | 34%    | 1,050   | 31%    |
| Services | 610     | 18%    | 590     | 17%    |

读者大概能推断出这是什么意思。但该格式不再明确说明 FY2026 同时涵盖 Revenue 和 Margin。第二行表头被表示为一个数据行,而 Americas 分组则依赖于对那个本应为空的行的解读。

对于这个例子,你可以把表头扁平化成这样的名称FY2026 Revenue并添加一个 Region 列。当表格足够简单、可以可靠地规范化时,这是一个合理的解决方案。

对于更复杂的表格,HTML 让我们能够保留合并单元格。colspan表示跨多列的标题,rowspan处理跨多行的单元格,以及<thead>对表头行进行分组。这些表格块可以与文档其余的 Markdown 内容并列存在。LlamaParse 在其Markdown 输出中同时支持管道表格和 HTML 表格。

保留这种结构仍然取决于解析器是否正确读取表格。HTML 为它提供了一种表达其所发现关系的方式;但它并不保证这些关系是正确的。

JSON 的用武之地

JSON 适合用于存储文档元素及其元数据,也适合向应用程序返回提取出的字段。如果你在提取财务结果,你的应用程序可能需要这样一条记录:

{
"segment":"Cloud",
"region":"Americas",
"fiscal_year":"FY2026",
"revenue":1240,
"margin_pct":34
}

先解析成 Markdown 会给你一个中间表示,你可以检查它,并将其复用于不同的问题或提取模式。直接从文档中提取也可以奏效。当多个下游任务需要相同内容时,单独的解析步骤尤其有用。

保留图像和布局信息

有些内容需要的不仅仅是格式化文本。图表可能受益于提取出的数值和一段描述,而示意图可能需要原始图像来解释空间关系。当文本转换会遗漏任务所需的信息时,请保留这些图像可用。

页码和边界框也很有用,尤其是在引用和突出显示时。你可以将它们与解析后的内容保持关联,并在需要时包含它们。我们的LiteParse 视觉定位工作就是一个将 Markdown 元素与其在原始页面上的位置配对起来的例子。

用 LlamaParse 试试

对于许多文档流水线来说,Markdown 提供了一个有用的起点:可读的文本、明确的结构,以及可在搜索、提取和智能体工作流中复用的输出。HTML 为复杂表格扩展了这种表示形式,而图像和布局元数据则保留了仅靠文本无法捕获的信息。

要尝试这一点,请使用LlamaParse,从一份你熟悉的文档开始,检查解析后的表格。确认每个值仍然对应正确的表头、单位和脚注。这些细节比输出看起来是否整洁更能说明其有用性。