gpt4 book ai didi

microsoft-cognitive - 表单识别器预览 - 无法加载示例文档

转载 作者:行者123 更新时间:2023-12-04 00:14:38 28 4
gpt4 key购买 nike

我正在尝试使用 Forms Recognizer 预览版,经过反复试验,我终于获得了可以通过 SAS URL 读取的文档。但是,即使使用快速入门 [1] 中提供的示例文档,我也会得到以下响应:

{
"modelId": "d7ba79e3-38bc-4913-bb11-82656cb08adc",
"trainingDocuments": [
{
"documentName": "Invoice_1.pdf",
"pages": 1,
"errors": [
"Page 1: Document is either invalid or exceeds the page/size limits."
],
"status": "failure"
},
{
"documentName": "Invoice_2.pdf",
"pages": 1,
"errors": [
"Page 1: Document is either invalid or exceeds the page/size limits."
],
"status": "failure"
},
{
"documentName": "Invoice_3.pdf",
"pages": 1,
"errors": [
"Page 1: Document is either invalid or exceeds the page/size limits."
],
"status": "failure"
},
{
"documentName": "Invoice_4.pdf",
"pages": 1,
"errors": [
"Page 1: Document is either invalid or exceeds the page/size limits."
],
"status": "failure"
},
{
"documentName": "Invoice_5.pdf",
"pages": 1,
"errors": [
"Page 1: Document is either invalid or exceeds the page/size limits."
],
"status": "failure"
}
],
"errors": [
{
"errorMessage": "Unable to fit model. No documents clustered."
}
]
}

为了使这些文档可用,是否需要在 BLOB 存储端发生一些特殊的事情?

我什至在我们自己的基本表格上收到此错误消息,这些表格完全符合大小限制。

更新:我认为这归因于我如何生成 SAS URL(其中的文档根本不清楚)。我有一个存储帐户 (SA),带有一个容器 (C),其中包含所有 PDF 文件。

在 Azure 门户中,我选择 SA 边栏选项卡,然后选择共享访问签名,采用所有默认选择,然后选择生成 SAS 和连接字符串。我尝试直接获取 Blob 服务 SAS URL 值并将其传递到 source 字段中,但这给出了错误:

{
"error": {
"code": "2024",
"innerError": {
"requestId": "77e73ba0-cbfe-4046-9730-beff8ec38be5"
},
"message": "Unable to list blobs on the Azure Blob storage account."
}
}

我必须将 &comp=list&restype=container 添加到 source,然后文件会正确列出,但会出现上述错误。显然,除了 Azure Potral 生成的内容之外,还需要向 SAS URL 添加一些内容,而我添加的内容只是其中的一部分。

我怀念能够在 REST 负载中发送文档内容本身来训练模型的能力。 :-(

[1] - https://github.com/Azure-Samples/cognitive-services-REST-api-samples/blob/master/curl/form-recognizer/sample_data.zip

最佳答案

我也遇到了这个问题,因为我发现快速入门文档不是很清楚 - 公平地说,这部分是因为我对在 Azure 中生成 SAS URL 没有经验,但它已经有了很大的改进因为@iamsop 向他们提出了一个 GitHub 问题。

我做了以下笔记,描述了我是如何让它工作的。希望他们将来能帮助其他人:

  1. 需要一个 blob 存储容器来转储训练文档在(转到存储帐户/{帐户名称}/Blobs/+容器(给它起个名字并将“公共(public)访问级别”保留为“私有(private)(没有匿名访问)”
  2. 点击进入容器并上传训练文档 - 都在根文件夹中,没有子文件夹(可以有一个上传后延迟说它们在完成之前实际上显示在容器内)
  3. 创建共享访问blob 容器的签名 (SAS) - 从存储重新开始Accounts/{account name} 然后不要进入 Blobs,进入 Shared访问签名 - 允许的权限只需要读取和列表,单击“生成 SAS 和连接字符串”并复制“Blob服务 SAS URL”
  4. 将此 URL 粘贴到记事本(或其他)中,然后在查询字符串前插入容器的名称
  5. 现在你可以使用诸如
  6. 之类的命令

curl -X POST "{endpoint}/formrecognizer/v1.0-preview/custom/train"-H "Content-Type: application/json"-H "Ocp-Apim-Subscription-Key: {subscription key} "--data-ascii "{'source': '{SAS url}'}"

  • 将“{endpoint}”替换为提供的 API 端点(可能类似于 https://region.api.cognitive.microsoft.com)
  • 将 {subscription key} 替换为可通过 Form Reognizer 资源概览选项卡获得的 key
  • 将 {SAS url} 替换为上面生成的 SAS URL,包含容器名称的调整版本

(注意:我个人对上述命令的偏好是在“data-ascii”值中使用单引号而不是双引号,因为这样您就不需要转义它们,从而使命令更易于阅读并写)

关于microsoft-cognitive - 表单识别器预览 - 无法加载示例文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56374290/

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