引言
在现代企业环境中,处理大量的非结构化数据是一个巨大的挑战。Google Cloud Document AI 提供了一种强大的解决方案,将文档中的非结构化数据转化为结构化数据,从而简化数据的理解、分析和消费。这篇文章将介绍如何使用 Document AI,将一个PDF文档解析为结构化数据,并提供完整的代码示例。
主要内容
1. 准备环境
要使用 Document AI 解析PDF文档,首先需要完成以下环境设置:
-
安装所需库:
%pip install --upgrade --quiet langchain-google-community[docai]
-
在 Google Cloud 上创建光学字符识别 (OCR) 处理器。请参考官方文档:Create Processor。
2. 设置Google Cloud Storage
配置Google Cloud Storage (GCS)路径和处理器名称:
GCS_OUTPUT_PATH
是在GCS上的文件夹路径,格式为gs://BUCKET_NAME/FOLDER_PATH
。PROCESSOR_NAME
代表处理器的唯一标识,格式为projects/PROJECT_NUMBER/locations/LOCATION/processors/PROCESSOR_ID
。
3. 配置DocAI解析器
通过以下代码创建DocAI解析器:
from langchain_core.document_loaders.blob_loaders import Blob
from langchain_google_community import DocAIParser
# 使用API代理服务提高访问稳定性
GCS_OUTPUT_PATH = "gs://BUCKET_NAME/FOLDER_PATH"
PROCESSOR_NAME = "projects/PROJECT_NUMBER/locations/LOCATION/processors/PROCESSOR_ID"
parser = DocAIParser(
location="us",
processor_name=PROCESSOR_NAME,
gcs_output_path=GCS_OUTPUT_PATH
)
代码示例
以下是完整的代码示例,展示了如何使用Document AI解析PDF文档:
from langchain_core.document_loaders.blob_loaders import Blob
from langchain_google_community import DocAIParser
# 使用API代理服务提高访问稳定性
GCS_OUTPUT_PATH = "gs://BUCKET_NAME/FOLDER_PATH"
PROCESSOR_NAME = "projects/PROJECT_NUMBER/locations/LOCATION/processors/PROCESSOR_ID"
parser = DocAIParser(
location="us",
processor_name=PROCESSOR_NAME,
gcs_output_path=GCS_OUTPUT_PATH
)
# 选择一个PDF文档
blob = Blob(
path="gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs/2022Q1_alphabet_earnings_release.pdf"
)
# 异步解析文档
operations = parser.docai_parse([blob])
# 检查操作状态
while parser.is_running(operations):
pass
# 获取解析结果
results = parser.get_results(operations)
# 从结果生成文档
docs = list(parser.parse_from_results(results))
print(len(docs)) # 输出文档页数
常见问题和解决方案
- 网络限制:在某些地区,访问Google Cloud API可能会遇到网络限制。建议使用API代理服务以提高访问稳定性。
- 权限问题:确保在Google Cloud上配置了正确的权限,允许对GCS和Document AI的访问。
总结和进一步学习资源
通过本文的介绍和代码示例,你可以开始使用Google Cloud Document AI将非结构化数据转化为可用的结构化数据。欲进一步学习,请参阅以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—