Unstructured Folder Loader

非结构化文件夹加载器节点

非结构化文件夹加载器使用Unstructured.io从文件夹中加载并处理多个文档。它提供了高级文档解析功能,并具有用于OCR、分块和元数据提取的丰富配置选项。

{% 提示样式="警告" %}

在非结构化数据更新之前,目前不支持.png和.heic文件。

功能

  • 批量处理多个文档

  • 多种处理策略

  • 支持15种以上语言的OCR功能

  • 灵活的分块策略

  • 表结构推断

  • XML处理选项

  • 分页处理

  • 坐标提取

  • 元数据定制

配置

API设置

  • 默认API地址:http://localhost:8000/general/v0/general

  • 可通过环境变量配置:UNSTRUCTURED_API_URL

  • 可选API密钥认证

参数

必选参数

  • 文件夹路径:包含待处理文档的文件夹的路径

可选参数

基本配置

  • 非结构化API URL:API端点(默认:http://localhost:8000/general/v0/general)

  • 策略:处理策略(默认:自动)

    • hi_res:高分辨率处理

    • fast: 快速处理

    • ocr_only:以OCR为核心的处理

    • auto: 自动选择

  • 编码:文档编码(默认值:utf-8)

OCR选项

  • OCR语言:支持多种语言,包括:

    • 英语(eng)

    • 西班牙语(spa)

    • 普通话(cmn)

    • 印地语(hin)

    • 阿拉伯语(ara)

    • 葡萄牙语(por)

    • 孟加拉语(ben)

    • 俄语(rus)

    • 日语(jpn)

    • 还有其他更多。。。

处理选项

  • 跳过推断表格类型:跳过表格提取的文件类型(默认值:["pdf", "jpg", "png"])

  • 高分辨率模型名称:高分辨率策略的模型选择(默认值:detectron2_onnx)

    • 切碎机:Unstructured公司自有的VDU模型

    • detectron2_onnx:Facebook AI的快速目标检测

    • yolox:单阶段实时检测器

    • yolox_quantized:优化的YOLOX版本

  • Coordinates:提取元素坐标(默认值:false)

  • 包含分页符:包含分页符元素

  • 保留XML标签:保留XML标签

  • 多页部分:处理多页部分

文本分块选项

  • 分块策略:文本分块方法(默认值:by_title)

    • 无:无分块

    • by_title:按文档标题分块

  • 合并N个字符以下:最小数据块大小

  • N个字符后新建:软最大块大小

  • 最大字符数:硬性设定的最大数据块大小(默认值:500)

元数据选项

  • Source ID Key:用于文档来源识别的键(默认值:source)

  • 附加元数据:以JSON格式自定义的元数据

  • 忽略元数据键:要从元数据中排除的键

支持的文件类型

  • 文件格式:.doc、.docx、.odt、.ppt、.pptx、.pdf

  • 电子表格:.xls,.xlsx

  • 文本文件:.txt、.text、.md、.rtf

  • Web:.html,.htm

  • 电子邮件:.eml,.msg

  • 图片格式:.jpg、.jpeg(注意:目前不支持.png和.heic格式)

输出结构

文档格式

每份处理后的文件包括:

  • pageContent:提取的文本内容

  • 元数据

    • source: 文档来源标识符

    • 处理过程中生成的额外元数据

    • 自定义元数据(如已指定)

使用示例

基本配置


/// 译文内容:
---
根据上面的信息,执行如下指令:
缺失译文,请检查输入
{
  "folderPath": "/path/to/documents",,
  "strategy": "自动",,
  "encoding": "utf-8"
}

高级处理


/// 译文内容:
---
根据上面的信息,执行如下指令:
您想翻译的文本可能是:
```json
{
  "query": "SELECT * FROM customers WHERE city = 'Beijing'",
  "result": [
    {
      "id": 1,
      "name": "张三",
      "age": 25,
      "gender": "男"
    },
    {
      "id": 2,
      "name": "李四",
      "age": 28,
      "gender": "女"
    }
  ]
}

{ "folderPath": "/path/to/documents",, "strategy": "hi_res",, "hiResModelName": "detectron2_onnx",, "ocrLanguages": ["英语", "西班牙语", "法语"], "分块策略": "按标题", "maxCharacters": 500,, "coordinates": true,, "metadata": { "source": "company_docs",, “部门”:“法务” } }


## 最佳实践
1. 根据文档质量和处理需求选择合适的策略
2. 根据文档内容配置OCR语言
3. 调整分块参数以实现最佳文本分割
4. 根据你的使用场景,选择合适的高分辨率模型
5. 处理大型文件夹时,请考虑内存使用情况
6. 监控API使用情况和响应时间
7. 在您的工作流程中处理潜在的API错误

## 注释
- 批量处理多个文档
- 支持多种文件格式
- 内存高效处理
- 自动元数据处理
- 输出格式灵活
- API响应的错误处理
- 可配置的处理选项


本节内容仍在完善中。我们非常感谢您为完善本节内容所提供的任何帮助。

Last updated