跳到主要内容

Docling

业务组件 按提供方对组件进行分组,这些组件可将第三方服务与 SkillFlaw 集成。

SkillFlaw 通过一组用于远程转换、导出与切分文档的业务组件与 Docling 集成。 当前公开的 Docling 业务组件包括 Docling Serve切分 DoclingDocumentExport DoclingDocument。 本地 inline Docling 解析已不再作为公开组件提供。

前置条件

  • Docling Serve 可访问: 要使用 Docling Serve 组件,你需要一个可访问的 Docling Serve 实例。

  • 已包含的 Docling 支持: 当前 SkillFlaw 构建版本已包含 切分 DoclingDocumentExport DoclingDocument 所需的内置 Docling 支持。

  • 较早的自管环境: 如果你的环境尚未包含上述 Docling 支持,请使用 uv pip install 'skillflaw[docling]' 安装对应 extra。 对于打包后的桌面版本,请将相应依赖添加到应用程序的 requirements.txt 中。 更多说明请参见安装自定义依赖

在流程中使用 Docling 组件

提示

如需进一步了解如何使用 Docling 提取内容,请参见视频教程 Docling document processing for AI workflows

本示例演示如何在流程中使用 Docling 组件切分 PDF:

  1. Docling Serve 组件和 Export DoclingDocument 组件连接到 Split Text 组件

    Docling Serve 组件通过你的 Docling Serve 实例转换文档,而 Export DoclingDocument 组件会把返回的 DoclingDocument 转换为你选择的格式。本示例将文档转换为 Markdown,并将图片表示为占位符。 Split Text 组件会将 Markdown 切分为多个块,以便在流程的下一部分中存入向量数据库。

  2. 将一个 Chroma DB 向量存储组件 连接到 Split Text 组件的 Chunks 输出。

  3. 将一个embedding model 组件连接到 Chroma DB 组件的 Embedding 端口,再连接一个 Chat Output 组件以查看提取出来的 DataFrame

  4. 在 embedding model 组件中,选择你偏好的模型,提供凭据,并根据需要配置其他设置。

  5. Docling Serve 中填写服务地址,并添加要处理的文件。

  6. 要运行该 flow,点击 Playground

    切分后的文档会作为向量加载到你的向量数据库中。

Docling 组件

以下各节介绍 Docling 业务组件中每个组件的用途和配置选项。

Docling Serve

Docling Serve 组件接收文档,并通过 Docling API 服务而不是本地模型来处理文档。

它会输出一个包含 DoclingDocument 数据的 DataFrame

有关更多信息,请参见 Docling serve project repository

Docling Serve 参数

NameTypeDescription
filesFile要处理的文件。
api_urlStringDocling Serve 实例的 URL。
max_concurrencyInteger服务器并发请求的最大数量。
max_poll_timeoutFloat等待文档转换完成的最长时间。
api_headersDict连接到 Docling Serve 所需的附加 header,可选字典。
docling_serve_optsDictDocling Serve 的附加选项,可选字典。

切分 DoclingDocument

Chunk DoclingDocument 组件将 DoclingDocument 对象切分为多个块。

它将切分后的文档输出为 DataFrame

有关更多信息,请参见 Docling core project repository

Chunk DoclingDocument 参数

NameTypeDescription
data_inputsData/DataFrame包含待切分文档的数据。
chunkerString要使用的切分器(HybridChunkerHierarchicalChunker)。
providerStringHybridChunker 使用的 tokenizer 提供方(OpenAI 或 Hugging Face)。默认值:OpenAI。
hf_model_nameString当选择 Hugging Face 时,HybridChunker 使用的 tokenizer 模型名称。
openai_model_nameString当选择 OpenAI 时,HybridChunker 使用的 tokenizer 模型名称。
max_tokensIntegerHybridChunker 的最大 token 数。
doc_keyStringDoclingDocument 列所使用的键名。

Export DoclingDocument

Export DoclingDocument 组件将 DoclingDocument 导出为 Markdown、HTML 及其他格式。

它可以将导出的数据输出为 DataDataFrame

有关更多信息,请参见 Docling core project repository

Export DoclingDocument 参数

NameTypeDescription
data_inputsData/DataFrame包含待导出文档的数据。
export_formatString选择用于转换输入的导出格式(Markdown、HTML、Plaintext、DocTags)。
image_modeString指定图片在输出中的导出方式(placeholder、embedded)。
md_image_placeholderString指定 Markdown 导出时使用的图片占位符。
md_page_break_placeholderString在 Markdown 输出中于页面之间插入该占位符。
doc_keyStringDoclingDocument 列所使用的键名。

另请参见