langchain_community.document_loaders.parsers.pdf.AmazonTextractPDFParser

class langchain_community.document_loaders.parsers.pdf.AmazonTextractPDFParser(textract_features: Optional[Sequence[int]] = None, client: Optional[Any] = None, *, linearization_config: Optional['TextLinearizationConfig'] = None)[source]

将PDF文件发送到Amazon Textract并解析。

对于解析多页PDF文件,它们必须位于S3上。

AmazonTextractPDFLoader调用[Amazon Textract服务](https://aws.amazon.com/textract/)将PDF转换为文档结构。支持单页和多页文档,最多可支持3000页和512MB大小。

为了使调用成功,需要一个AWS账户,类似于[AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)的要求。

除了AWS配置外,它与其他PDF加载器非常相似,同时也支持JPEG、PNG和TIFF以及非原生PDF格式。

`python from langchain_community.document_loaders import AmazonTextractPDFLoader loader=AmazonTextractPDFLoader("example_data/alejandro_rosalez_sample-small.jpeg") documents = loader.load() `

一个特点是输出的线性化。当使用LAYOUT、FORMS或TABLES特性与Textract一起使用时

```python from langchain_community.document_loaders import AmazonTextractPDFLoader # 你可以混合匹配每个特性 loader=AmazonTextractPDFLoader(

“example_data/alejandro_rosalez_sample-small.jpeg”, textract_features=[“TABLES”, “LAYOUT”])

documents = loader.load() ```

这将生成输出,按阅读顺序格式化文本,并尝试以表格结构输出信息或以冒号输出键值对(key: value)。这有助于大多数LLMs在这些文本上处理时实现更好的准确性。

初始化解析器。

参数
  • textract_features (Optional[Sequence[int]]) – 用于提取的特性,每个特性应以int形式传递,符合枚举,请参见

  • client (Optional[Any]) – boto3 Textract客户端

  • linearization_config (Optional['TextLinearizationConfig']) – 用于输出线性化的配置,应为来自$textractor包的TextLinearizationConfig的实例

方法

__init__([textract_features, client, ...])

初始化解析器。

lazy_parse(blob)

遍历 Blob 页,并返回一个包含每页文档的 Iterator,类似于其他解析器。如果是多页文档,则需要将 blob.path 设置为 S3 URI,而对于单页文档则使用 blob.data

parse(blob)

贪婪地将 blob 解析成一个或多个文档。

__init__(textract_features: Optional[Sequence[int]]] = None, client: Optional[Any] = None, *, linearization_config: Optional['TextLinearizationConfig'] = None) None[source]

初始化解析器。

参数
  • textract_features (Optional[Sequence[int]]) – 用于提取的特性,每个特性应以int形式传递,符合枚举,请参见

  • client (Optional[Any]) – boto3 Textract客户端

  • linearization_config (Optional['TextLinearizationConfig']) – 用于输出线性化的配置,应为来自$textractor包的TextLinearizationConfig的实例

返回类型

None

lazy_parse(blob: Blob) Iterator[Document][source]

遍历 Blob 页,并返回一个包含每页文档的 Iterator,类似于其他解析器。如果是多页文档,则需要将 blob.path 设置为 S3 URI,而对于单页文档则使用 blob.data

参数

blob (Blob) –

返回类型

Iterator[Document]

parse(blob: Blob) List[Document]

贪婪地将 blob 解析成一个或多个文档。

这是一个为交互式开发环境提供的便利方法。

生产应用应优先使用lazy_parse方法。

子类通常不应重写此解析方法。

参数

blob (Blob) – Blob实例

返回

文档列表

返回类型

[Document]