gpt4 book ai didi

Azure Databricks 和表单识别器 - 图像无效或受密码保护

转载 作者:行者123 更新时间:2023-12-02 06:56:36 24 4
gpt4 key购买 nike

我正在尝试使用 Databricks 自动化 Azure 表单识别器流程。我会将 pdf 或 jpg 文件放入 blob 中,并在 Databricks 中运行代码,将文件发送到表单识别器,执行数据识别并将结果放入 blob 中的新 csv 文件中。

这是代码:

1. Install packages to cloud

%pip install azure.storage.blob
%pip install azure.ai.formrecognizer


2. Connect to Azure Storage Container

from azure.storage.blob import ContainerClient

container_url = "https://nameofmystorageaccount.blob.core.windows.net/pdf-raw"
container = ContainerClient.from_container_url(container_url)

for blob in container.list_blobs():
blob_url = container_url + "/" + blob.name
print(blob_url)


3. Enable Cognitive Services


import requests
from azure.ai.formrecognizer import FormRecognizerClient
from azure.core.credentials import AzureKeyCredential

endpoint = "https://nameofmyendpoint.cognitiveservices.azure.com/"
key = "nameofmykey"

form_recognizer_client = FormRecognizerClient(endpoint, credential=AzureKeyCredential(key))



4. Send files to Cognitive Services

import pandas as pd

field_list = ["InvoiceDate","InvoiceID","Items","VendorName"]
df = pd.DataFrame(columns=field_list)

for blob in container.list_blobs():
blob_url = container_url + "/" + blob.name
poller = form_recognizer_client.begin_recognize_invoices_from_url(invoice_url=blob_url)
invoices = poller.result()
print("Scanning " + blob.name + "...")

for idx, invoice in enumerate(invoices):
single_df = pd.DataFrame(columns=field_list)

for field in field_list:
entry = invoice.fields.get(field)

if entry:
single_df[field] = [entry.value]

single_df['FileName'] = blob.name
df = df.append(single_df)

df = df.reset_index(drop=True)
df

前三个步骤运行没有问题,但在第四步中我收到以下错误消息:(InvalidImage) 输入数据不是有效的图像或密码保护。此错误涉及行 poller = form_recognizer_client.begin_recognize_invoices_from_url(invoice_url=blob_url)

我的 blob 中的 PDF 没有密码,当我手动执行该过程时,它们可以在表单识别器中正确运行。我只使用两个小 PDF 进行测试,并尝试使用不同的 PDF。

我使用 Azure 的免费订阅。我的Databricks集群有无限制策略,采用单节点集群模式。运行时版本为 9.1 LTS(Apache 3.1.2、Scala 2.12)。我的容器的公共(public)访问级别设置为“Container”。

是否需要更改任何配置才能运行代码而不会出现错误?

谢谢你,祝你有美好的一天

最佳答案

感谢您的回复休伯特。

事实证明,在我的 blob 集群中,我有两个 PDF 文件,还有一个已保存的表单识别器自定义模型。我删除了 .fott 和 .json 文件,以便集群中仅包含 PDF。之后我运行代码没有任何问题。

谢谢

关于Azure Databricks 和表单识别器 - 图像无效或受密码保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70351356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com