Azure AI 文档智能
Azure AI 文档智能(以前称为
Azure Form Recognizer
)是一种基于机器学习的服务,可以从数字或扫描的PDF、图像、Office和HTML文件中提取文本(包括手写)、表格、文档结构(例如标题、章节标题等)和键值对。文档智能支持
JPEG/JPG
,PNG
,BMP
,TIFF
,HEIF
,DOCX
,XLSX
,PPTX
和HTML
。
当前使用Document Intelligence
实现的加载器可以逐页整合内容并将其转换为LangChain文档。默认输出格式为markdown,可以轻松与MarkdownHeaderTextSplitter
链接以进行语义文档分块。您还可以使用mode="single"
或mode="page"
来返回单页中的纯文本或按页分割的文档。
先决条件
一个位于以下三个预览区域之一的Azure AI文档智能资源:美国东部、美国西部2、西欧 - 如果您没有,请按照此文档创建一个。您将传递
和
作为加载器的参数。
%pip install --upgrade --quiet langchain langchain-community azure-ai-documentintelligence
示例 1
第一个示例使用了一个本地文件,该文件将被发送到Azure AI文档智能服务。
使用初始化的文档分析客户端,我们可以继续创建DocumentIntelligenceLoader的实例:
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()
默认输出包含一个LangChain文档,内容为markdown格式:
documents
示例 2
输入文件也可以是公共URL路径。例如,https://raw.githubusercontent.com/Azure-Samples/cognitive-services-REST-api-samples/master/curl/form-recognizer/rest-api/layout.png。
url_path = "<url>"
loader = AzureAIDocumentIntelligenceLoader(
api_endpoint=endpoint, api_key=key, url_path=url_path, api_model="prebuilt-layout"
)
documents = loader.load()
documents
示例 3
你也可以指定mode="page"
来按页加载文档。
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",
mode="page",
)
documents = loader.load()
输出将是每个页面作为列表中的单独文档存储:
for document in documents:
print(f"Page Content: {document.page_content}")
print(f"Metadata: {document.metadata}")
示例 4
您还可以指定analysis_feature=["ocrHighResolution"]
以启用附加功能。有关更多信息,请参阅:https://aka.ms/azsdk/python/documentintelligence/analysisfeature。
from langchain_community.document_loaders import AzureAIDocumentIntelligenceLoader
file_path = "<filepath>"
endpoint = "<endpoint>"
key = "<key>"
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()
输出包含通过高分辨率附加功能识别的LangChain文档:
documents