Amazon Textract 是一项机器学习(ML)服务,可自动从扫描文档中提取文本、手写内容和数据。
它超越了简单的光学字符识别(OCR),能够识别、理解和提取表单与表格中的数据。目前,许多公司仍在手动从扫描文档(如 PDF、图像、表格和表单)中提取数据,或借助需要手动配置的简单 OCR 软件(每当表单发生变化时通常需要更新)。为了克服这些繁琐且成本高昂的流程,Textract 使用 ML 来读取和处理任何类型的文档,无需人工干预即可准确提取文本、手写内容、表格和其他数据。
Textract 支持 JPEG、PNG、PDF 和 TIFF 文件格式;更多信息请参阅文档。
以下示例演示了如何将 Amazon Textract 与 LangChain 结合使用作为 DocumentLoader。
示例 1:从本地文件加载
第一个示例使用本地文件,该文件将在内部被发送到 Amazon Textract 同步 API DetectDocumentText。 对于 Textract,本地文件或 HTTP:// 等 URL 端点仅限于单页文档。 多页文档必须存储在 S3 上。此示例文件为 jpeg 格式。示例 2:从 URL 加载
下一个示例从 HTTPS 端点加载文件。 由于 Amazon Textract 要求所有多页文档存储在 S3 上,因此该文件必须是单页文档。示例 3:加载多页 PDF 文档
处理多页文档需要将文档存储在 S3 上。示例文档存储在 us-east-2 区域的存储桶中,Textract 需要在同一区域调用才能成功,因此我们在客户端上设置 region_name 并将其传入加载器,以确保从 us-east-2 调用 Textract。您也可以在 us-east-2 中运行 notebook,将 AWS_DEFAULT_REGION 设置为 us-east-2,或者在不同环境中运行时,像下面的单元格一样传入带有该区域名称的 boto3 Textract 客户端。示例 4:自定义输出格式
当 Amazon Textract 处理 PDF 时,它会提取所有文本,包括页眉、页脚和页码等元素。这些额外信息可能产生”噪音”,降低输出的有效性。 将文档的二维布局转换为干净的一维文本字符串的过程称为线性化。AmazonTextractPDFLoader 通过 linearization_config 参数为您提供对这一过程的精确控制。您可以使用它来指定从最终输出中排除哪些元素。
以下示例展示了如何隐藏页眉、页脚和图形,从而获得更简洁的文本块。有关更高级的用例,请参阅此 AWS 博客文章。
在 LangChain 链中使用 AmazonTextractPDFLoader(例如与 OpenAI 结合)
AmazonTextractPDFLoader 可以像其他加载器一样在链中使用。
Textract 本身有一个查询功能,与本示例中的 QA 链功能类似,也值得关注。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

