引言
Azure AI Document Intelligence(原Azure Form Recognizer)是一项基于机器学习的服务,能够从数字或扫描文档中提取文本、表格、文档结构(如标题、章节标题等)以及键值对。支持PDF、JPEG、PNG、BMP等多种格式。本文将介绍如何利用Azure AI Document Intelligence将文档内容转化为易于处理的LangChain文档格式,并探讨其应用场景和潜在挑战。
主要内容
1. 功能概述
Azure AI Document Intelligence支持从各种格式的文档中提取结构化信息,适用于处理大批量文档的场景。通过将文档转化为Markdown格式,可以进一步使用MarkdownHeaderTextSplitter进行语义文档分块。
2. 基础设置
在开始使用前,需要在Azure中创建一个Document Intelligence资源。确保服务所在区域为East US, West US2或West Europe,并获取<endpoint>
和<key>
。
安装必要的Python库:
%pip install --upgrade --quiet langchain langchain-community azure-ai-documentintelligence
3. 实例讲解
3.1 本地文件处理
以下代码展示了如何处理本地文件:
from langchain_community.document_loaders import AzureAIDocumentIntelligenceLoader
file_path = "<filepath>"
endpoint = "<endpoint>"
key = "<key>"
loader = AzureAIDocumentIntelligenceLoader(
api_endpoint=endpoint,
api_key=key,
file_path=file_path,
api_model="prebuilt-layout"
)
documents = loader.load() # 使用API代理服务提高访问稳定性
3.2 公共URL文件处理
同样的方式可以处理公共URL文件:
url_path = "<url>"
loader = AzureAIDocumentIntelligenceLoader(
api_endpoint=endpoint,
api_key=key,
url_path=url_path,
api_model="prebuilt-layout"
)
documents = loader.load() # 使用API代理服务提高访问稳定性
3.3 按页处理
可以通过mode="page"
实现按页拆分文档:
loader = AzureAIDocumentIntelligenceLoader(
api_endpoint=endpoint,
api_key=key,
file_path=file_path,
api_model="prebuilt-layout",
mode="page"
)
documents = loader.load() # 使用API代理服务提高访问稳定性
for document in documents:
print(f"Page Content: {document.page_content}")
print(f"Metadata: {document.metadata}")
3.4 高分辨率OCR
指定analysis_feature=["ocrHighResolution"]
以启用高分辨率OCR功能:
analysis_features = ["ocrHighResolution"]
loader = AzureAIDocumentIntelligenceLoader(
api_endpoint=endpoint,
api_key=key,
file_path=file_path,
api_model="prebuilt-layout",
analysis_features=analysis_features
)
documents = loader.load() # 使用API代理服务提高访问稳定性
常见问题和解决方案
- 区域限制问题:Document Intelligence目前仅支持部分区域,确保资源创建在支持的区域。
- 网络访问问题:由于某些地区的网络限制,建议使用API代理服务以提高访问的稳定性。
总结和进一步学习资源
Azure AI Document Intelligence提供了一种高效便捷的文档处理解决方案,适合需要处理大量文档的企业和开发者。进一步学习可以参考Document loader概念指南和Document loader操作指南.
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—