我正在尝试使用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负载中发送文档内容本身来训练模型。 :-(
答案 0 :(得分:3)
我能够通过将blob中容器的名称添加到生成的SAS URL来解决此问题。例如:“ yourblobname.blob.core.windows.net/您的容器名称/其他ss网址”。
答案 1 :(得分:3)
我也遇到了这个问题,因为我发现快速入门文档不是很清楚-公平地讲,对Microsoft来说,部分原因是我对在Azure中生成SAS URL缺乏经验,并且它已经得到了很大的改进因为@iamsop向他们提出了GitHub问题。
我做了以下笔记,描述了我是如何工作的。希望他们将来能帮助其他人:
curl -X POST“ {endpoint} /formrecognizer/v1.0-preview/custom/train” -H“ Content-Type:application / json” -H“ Ocp-Apim-Subscription-Key:{订阅密钥} “ --data-ascii” {'source':'{SAS url}'}“
(注意:我个人对上述命令的偏爱是在“ data-ascii”值内使用单引号而不是双引号,因为这样您就不必转义它们,从而使该命令更易于阅读并写)
答案 2 :(得分:1)
您如何致电服务?使用cURL命令?另外,请确保您的PDF文件直接位于获得共享访问签名的Azure Blob容器中(没有子文件夹)。下面的cURL命令对我有用:
curl -X POST“ https:// 端点 /formrecognizer/v1.0-preview/custom/train” -H“内容类型:application / json” -H“ Ocp-Apim -Subscription-Key: Subscription Key ” --data-ascii“ {\” source \“:\” SAS URL \“}”
最后,请确保您可以打开PDF文件(即,检查它们是否无效)。
答案 3 :(得分:0)
您好,我想问一个问题,如何标记呢? 索尼娅
PYTHON的示例代码中涉及URI以便分析URI文本的地方有些错误