AI工具-使用 Azure AI Document Intelligence 创建智能文档处理

简介

借助 Azure AI 文档智能中的预生成模型,无需自行训练模型,即可从常见表单和文档中提取数据。

公司中,表单种类繁多,如发票、收据、调查表等。你可能想知道,从这些文档中提取姓名、地址、金额等信息需要多少工作量。

什么是预生成模型?

通常,AI 需要大量示例数据来训练模型,但 Microsoft 提供了一些已经训练好的模型。你可以直接使用这些预生成模型来处理常见表单,如发票和收据,而无需训练自己的模型。

预生成模型包括:

  • 发票模型。 提取发票中的常见字段和数值。
  • 收据模型。 提取收据中的常见字段和数值。
  • W2 模型。 提取美国 W-2 纳税申报表中的常见字段和数值。
  • ID 文档模型。 提取美国驾照和国际护照中的常见字段和数值。
  • 名片模型。 提取名片中的常见字段和数值。
  • 医疗保险卡模型。 提取医疗保险卡中的常见字段和数值。

其他模型用于处理结构不明确的文档:

  • 读取模型。 提取文档中的文本和语言。
  • 通用文档模型。 提取文档中的文本、键值对、实体和选择标记。
  • 布局模型。 提取文档中的文本和结构信息。

预生成模型的功能

预生成模型可以从文档和表单中提取各种数据。主要功能包括:

  • 文本提取。 提取手写和印刷文本。
  • 键值对。 提取标签及其对应的值(如 “Weight: 31 kg”)。
  • 实体。 提取复杂数据结构(如人员、位置、日期)。
  • 选择标记。 提取单选按钮和复选框的选中状态。
  • 表。 提取表格数据,包括单元格内容、列和行信息。
  • 字段。 提取特定表单类型的固定字段(如发票中的 CustomerName 和 InvoiceTotal)。

输入要求

为获得最佳效果,确保提交的文档清晰且高质量。具体要求包括:

  • 文件格式:JPEG、PNG、BMP、TIFF 或 PDF;读取模型也支持 Microsoft Office 文件。
  • 文件大小:标准层小于 500 MB,免费层小于 4 MB。
  • 图像尺寸:50 x 50 到 10,000 x 10,000 像素。
  • PDF 尺寸:小于 17 x 17 英寸或 A3 纸张大小。
  • PDF 文档不得受密码保护。

使用 API 调用预生成模型

Azure AI 文档智能提供 RESTful API,支持多种编程语言(如 C#、Java、Python、JavaScript)。调用 API 时需要:

  • 服务终结点。 服务的 URL。
  • API 密钥。 授予访问权限的唯一密钥。

这些信息可以从 Azure 门户获取。为了提高效率,建议使用异步调用方式提交表单,并从分析中获取结果:

poller = document_analysis_client.begin_analyze_document_from_url("prebuilt-document", docUrl)
result = poller.result()

提取的详细信息将根据所使用的模型而有所不同。

分类

使用常规文档、读取和布局模型

在公司中,客户和合作伙伴经常发送各种规范、招标书、工作陈述等具有不确定结构的文档。你想知道 Azure AI 文档智能是否能分析和提取这些文档中的信息。

使用读取模型

Azure AI 文档智能读取模型可以从文档和图像中提取印刷和手写文本。这是所有其他预生成模型的基础,用于提供文本提取功能。

使用常规文档模型

常规文档模型扩展了读取模型的功能,能够提取键值对、实体、选择标记和表格数据。它适用于结构化、半结构化和非结构化文档。

  • 实体提取。 常规文档模型可以识别并提取人员、组织和日期等实体。即使文档结构复杂,也能有效提取有用信息。可识别的实体类型包括:
    • Person:人员姓名
    • PersonType:职务或角色
    • Location:地址或地理位置
    • Organization:公司或机构
    • Event:事件或活动
    • Product:产品
    • Skill:技能
    • Address:邮寄地址
    • Phone number:电话号码
    • Email:电子邮件地址
    • URL:网址
    • IP Address:IP 地址
    • DateTime:日期和时间
    • Quantity:数量和单位

使用布局模型

布局模型不仅提取文本,还能返回图像或 PDF 文件中的选择标记和表格信息。适用于需要详细文档结构信息的情况。

  • 表格提取。 提取表格中的每个单元格的内容、位置、是否为标题等信息。
  • 选择标记提取。 提取单选按钮和复选框的选中状态和置信度。

使用财务、ID 和税务模型

Azure AI 文档智能提供了多种预生成模型,专门用于处理常见表单类型,能从发票、收据、名片等文档中提取常见字段的信息。

使用发票模型

你的公司既开具发票,也接收发票。发票可能格式多样,有时由于扫描角度或纸张损坏而导致效果不佳。发票模型可以处理这些问题,提取如下信息:

  • 客户名称和引用 ID
  • 采购订单编号
  • 发票和截止日期
  • 供应商和客户的详细信息
  • 账单和送货地址
  • 税款总额、发票总额和到期金额
  • 发票行信息,包括产品描述、单价、数量和总价

### 如何创建使用 Azure AI 应用程序 #### 使用 Azure Translator API 进行编程访问 为了在 Jupyter Lab 中编程访问 Azure Translator API,开发者可以利用 Python 的 `requests` 库发送 HTTP 请求给 API 终结点。这使得翻译文本变得简单而高效[^1]。 ```python import requests subscription_key = "your-subscription-key" endpoint = "https://api.cognitive.microsofttranslator.com/" path = '/translate?api-version=3.0' constructed_url = endpoint + path headers = { 'Ocp-Apim-Subscription-Key': subscription_key, 'Content-type': 'application/json', 'Ocp-Apim-Subscription-Region': 'westus2', # Replace with your region identifier. } body = [{ 'text': 'Hello, world!' }] request = requests.post(constructed_url, headers=headers, json=body) response = request.json() print(response) ``` 这段代码展示了如何设置请求头、构建 URL 并向 Azure Translator 发送 POST 请求以实现文本翻译功能。 #### 利用 Azure AI 文档智能处理文件 对于更复杂的文档处理需求,Azure 提供了专门针对文档智能化的服务——Document Intelligence。要开始工作,需先初始化 `DocumentModelAdministrationClient` 实例,并提供必要的认证信息以便连接至服务端口[^2]。 ```python from azure.ai.formrecognizer import DocumentAnalysisClient from azure.core.credentials import AzureKeyCredential endpoint = "<your-endpoint>" key = "<your-api-key>" document_analysis_client = DocumentAnalysisClient( endpoint=endpoint, credential=AzureKeyCredential(key)) ``` 此片段说明了怎样配置客户端对象用于后续调用分析函数或其他操作。 #### 构建基于 RAG 和 Azure OpenAI 的聊天机器人 另一个有趣的案例是在 GitHub 上开源的一个项目,它实现了带有检索增强生成 (RAG) 功能的对话系统。该项目不仅集成了 Azure Search 来索引大量数据源,还借助于 Azure OpenAI Service 完成高质量的回答生成任务[^3]。 ```bash git clone https://github.com/azure-samples/azure-search-openai-demo.git cd azure-search-openai-demo pip install -r requirements.txt # Follow further instructions from README.md to set up and run the application locally or remotely using VSCode dev container feature as mentioned in the link provided earlier. ``` 上述命令指导用户克隆仓库并安装依赖项,准备运行该应用程序。 #### 部署智能应用到 Azure 容器环境 最后,在考虑将开发完成的应用部署上线时,可以选择 Azure Container Apps 作为托管平台。这样做允许团队快速迭代产品特性的同时享受云原生架构带来的灵活性与扩展能力[^4]。 ```yaml # Example of a Dockerfile snippet that could be part of an intelligent app deployment process on Azure Containers App service. FROM python:3.9-alpine WORKDIR /app COPY . . RUN pip install --no-cache-dir -r requirements.txt CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "$PORT"] ``` 以上 YAML 片段代表了一个典型的 Docker 文件结构,适用于打包 Flask 或 FastAPI 类型 Web 框架下的 RESTful 微服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carrie_Lei

接咨询接亲自带

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值