Docling
业务组件 按提供方对组件进行分组,这些组件可将第三方服务与 SkillFlaw 集成。
SkillFlaw 通过一组用于远程转换、导出与切分文档的业务组件与 Docling 集成。 当前公开的 Docling 业务组件包括 Docling Serve、切分 DoclingDocument 和 Export DoclingDocument。 本地 inline Docling 解析已不再作为公开组件提供。
前置条件
-
Docling Serve 可访问: 要使用 Docling Serve 组件,你需要一个可访问的 Docling Serve 实例。
-
已包含的 Docling 支持: 当前 SkillFlaw 构建版本已包含 切分 DoclingDocument 和 Export DoclingDocument 所需的内置 Docling 支持。
-
较早的自管环境: 如果你的环境尚未包含上述 Docling 支持,请使用
uv pip install 'skillflaw[docling]'安装对应 extra。 对于打包后的桌面版本,请将相应依赖添加到应用程序的requirements.txt中。 更多说明请参见安装自定义依赖。
在流程中使用 Docling 组件
如需进一步了解如何使用 Docling 提取内容,请参见视频教程 Docling document processing for AI workflows。
本示例演示如何在流程中使用 Docling 组件切分 PDF:
-
将 Docling Serve 组件和 Export DoclingDocument 组件连接到 Split Text 组件。
Docling Serve 组件通过你的 Docling Serve 实例转换文档,而 Export DoclingDocument 组件会把返回的
DoclingDocument转换为你选择的格式。本示例将文档转换为 Markdown,并将图片表示为占位符。 Split Text 组件会将 Markdown 切分为多个块,以便在流程的下一部分中存入向量数据库。 -
将一个 Chroma DB 向量存储组件 连接到 Split Text 组件的 Chunks 输出。
-
将一个embedding model 组件连接到 Chroma DB 组件的 Embedding 端口,再连接一个 Chat Output 组件以查看提取出来的
DataFrame。 -
在 embedding model 组件中,选择你偏好的模型,提供凭据,并根据需要配置其他设置。
-
在 Docling Serve 中填写服务地址,并添加要处理的文件。
-
要运行该 flow,点击 Playground。
切分后的文档会作为向量加载到你的向量数据库中。
Docling 组件
以下各节介绍 Docling 业务组件中每个组件的用途和配置选项。
Docling Serve
Docling Serve 组件接收文档,并通过 Docling API 服务而不是本地模型来处理文档。
它会输出一个包含 DoclingDocument 数据的 DataFrame。
有关更多信息,请参见 Docling serve project repository。
Docling Serve 参数
| Name | Type | Description |
|---|---|---|
| files | File | 要处理的文件。 |
| api_url | String | Docling Serve 实例 的 URL。 |
| max_concurrency | Integer | 服务器并发请求的最大数量。 |
| max_poll_timeout | Float | 等待文档转换完成的最长时间。 |
| api_headers | Dict | 连接到 Docling Serve 所需的附加 header,可选字典。 |
| docling_serve_opts | Dict | Docling Serve 的附加选项,可选字典。 |
切分 DoclingDocument
Chunk DoclingDocument 组件将 DoclingDocument 对象切分为多个块。
它将切分后的文档输出为 DataFrame。
有关更多信息,请参见 Docling core project repository。
Chunk DoclingDocument 参数
| Name | Type | Description |
|---|---|---|
| data_inputs | Data/DataFrame | 包含待切分文档的数据。 |
| chunker | String | 要使用的切分器(HybridChunker、HierarchicalChunker)。 |
| provider | String | HybridChunker 使用的 tokenizer 提供方(OpenAI 或 Hugging Face)。默认值:OpenAI。 |
| hf_model_name | String | 当选择 Hugging Face 时,HybridChunker 使用的 tokenizer 模型名称。 |
| openai_model_name | String | 当选择 OpenAI 时,HybridChunker 使用的 tokenizer 模型名称。 |
| max_tokens | Integer | HybridChunker 的最大 token 数。 |
| doc_key | String | DoclingDocument 列所使用的键名。 |
Export DoclingDocument
Export DoclingDocument 组件将 DoclingDocument 导出为 Markdown、HTML 及其他格式。
它可以将导出的数据输出为 Data 或 DataFrame。
有关更多信息,请参见 Docling core project repository。
Export DoclingDocument 参数
| Name | Type | Description |
|---|---|---|
| data_inputs | Data/DataFrame | 包含待导出文档的数据。 |
| export_format | String | 选择用于转换输入的导出格式(Markdown、HTML、Plaintext、DocTags)。 |
| image_mode | String | 指定图片在输出中的导出方式(placeholder、embedded)。 |
| md_image_placeholder | String | 指定 Markdown 导出时使用的图片占位符。 |
| md_page_break_placeholder | String | 在 Markdown 输出中于页面之间插入该占位符。 |
| doc_key | String | DoclingDocument 列所使用的键名。 |