Skip to content
LlamaParse 文档版本 跟随上游 源快照 edf68684 更新于 2026-10-16

Parse 用两种方式处理图表与图形。专门的图表解析会读懂柱状图、折线图或饼图,把它的数值作为一张表返回到 items 树里,让模型可以对数字推理而不是对着像素猜测;图片输出则保存图形本身(裁剪出的版面区域、内嵌图片,或整页截图),存成可用预签名 URL 下载的文件。

什么时候用它

  • 财报演示、科研论文与仪表盘 —— 你要的数据只存在于图表里。
  • 多模态流水线 —— 想要一整块 markdown 再加上每页一张截图。
  • 想把图形与示意图单独展示在界面里、或单独交给视觉模型的场合。
  • 希望 markdown 自包含、把图片内联其中的场合。

专门的图表解析在 agentic_plus 档默认开启,在 cost_effective 与 agentic 档需手动开启。fast 档不调用任何 AI 模型,因此不抽取图表数据。

选项

选项类型默认值作用
processing_options.specialized_chart_parsing"efficient"、"agentic" 或 "agentic_plus"未设(agentic_plus 默认开启)把图表数据作为结构化表格抽到 items 树里。三个取值中任意一个都会开启它。用 expand=["items"] 取回。
output_options.images_to_save"screenshot"、"embedded"、"layout" 的数组当输出链接到裁剪图片时保存 layout要保存哪些图片文件:整页渲染图、文档内的图片,还是裁剪出的图形与示意图。传 [] 则不保存任何图片资源。注意:若启用了 output_options.markdown.inline_images,"layout" 图片仍会被保存,以便 Markdown 里的图片引用能解析。用 expand=["images_content_metadata"] 取回。
output_options.markdown.inline_imagesboolean未设把图片直接内嵌进 markdown,而不是引用另存的文件。
processing_options.ignore.ignore_text_in_imageboolean未设当内嵌图片里 OCR 出的文字是噪声(例如 logo)时跳过它。这会让本次任务完全不做 OCR,因此只适用于原生数字文件。
input_options.presentation.skip_embedded_databoolean未设对 PPTX 与 Keynote,跳过原生图表背后的数据抽取,只保留其视觉呈现。

结果端点上的 image_filenames 查询参数可以把 images_content_metadata 收窄到你指定的那些文件。

示例

从表示例 下载那份报告;它的第三页是一张柱状图:

终端窗口

curl -fL -o executive-summary-2024.pdf https://fiscal.treasury.gov/system/files/files/reports-statements/financial-report/2024/executive-summary-2024.pdf

上传它、开启图表解析并保存裁剪图形跑一个 Parse 任务,然后取图表页上的第一张表:

from llama_cloud import LlamaCloud

client = LlamaCloud()  # reads LLAMA_CLOUD_API_KEY from the environment

file = client.files.create(file="./executive-summary-2024.pdf", purpose="parse")

result = client.parsing.parse(
    file_id=file.id,
    tier="agentic_plus",
    version="latest",
    processing_options={"specialized_chart_parsing": "agentic_plus"},
    output_options={"images_to_save": ["layout"]},
    expand=["items", "images_content_metadata"],
)

page = next(p for p in result.items.pages if p.success and p.page_number == 3)  # the chart page
tables = [item for item in page.items if item.type == "table"]
if tables:
    for row in tables[0].rows:
        print(row)

for image in result.images_content_metadata.images:
    print(f"{image.filename}: {image.presigned_url}")

你会拿到什么

开启图表解析后,Parse 通常会把图表的数据表示为该页上的一个 table 条目。就表示例 里那张分组柱状图而言,第一行是表头,其余是各系列的取值:

['Fiscal Year', 'Budget Deficit (Billions of Dollars)', 'Net Operating Cost (Billions of Dollars)']
['2020', '$3,131.9', '$3,841.4']
['2021', '$2,775.6', '$3,094.9']
['2022', '$1,375.5', '$4,171.0']

仍以图片形式保留的图形,会在 items 树里成为 image 条目;images_content_metadata 则列出每个已保存文件及其下载地址:

{
  "images_content_metadata": {
    "total_count": 3,
    "images": [
      { "index": 0, "filename": "image_0.png", "category": "layout", "content_type": "image/png", "presigned_url": "https://..." }
    ]
  }
}

预签名 URL 会过期。请及时下载,或再次调用 client.parsing.get(job_id=..., expand=["images_content_metadata"]) 获取新的;按文件名取子集见取特定图片。要整页截图请同时请求 expand=["metadata"],并在叠加边界框时使用各页的 original_orientation_angle;见版面与边界框。

另请参阅

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。