我正在测试一些AI文档分析材料,目前正在尝试允许用户将文件上传到WebApp,而后者又将文件发送到Azure表单识别器并处理结果。
然而,我无法在一次请求中做到这一点。
文件是这样表示的:
BindProperty公共列表上载{ get;set;}
我可以迭代这些并得到预期的结果,但这使得操作花费了相当长的时间。我只想在一个请求中发送所有文件(如下所示),但它只分析第一个请求。我使用的是Azure.AI.FormRecognizer.DocumentAnalysis,所以客户机和StartAnalyzeDocument方法就是从那里开始的。
using (var stream = new MemoryStream())
{
foreach (IFormFile formFile in Upload)
{
formFile.CopyTo(stream);
}
stream.Seek(0, SeekOrigin.Begin);
AnalyzeDocumentOperation operation = client.StartAnalyzeDocument(modelId, stream);
operation.WaitForCompletion();
Console.WriteLine("This many documents were analysed: " + operation.Value.Documents.Count);
result = operation.Value;
};“结果”是我以后要处理的。我对此感到十分困惑,因为我原以为所附的那条小溪能正常工作。如果有人有一个解决方案,或可以指出我的正确方向,这将是非常感谢的。
发布于 2022-03-28 00:59:07
表单识别器还不支持为预构建的发票和自定义模型在单个分析操作中处理多个文档。此外,大多数文件格式不能仅仅附加到一起来连接内容。
加快对批处理中多个文件的分析的一种方法是并行调用分析操作。这是一个素描。
var results = Upload.AsParallel().ForAll(formFile =>
{
using (var stream = formFile.OpenReadStream())
{
var operation = client.StartAnalyzeDocument(modelId, stream);
operation.WaitForCompletion();
return operation.Value;
}
}).ToArray();https://stackoverflow.com/questions/71636459
复制相似问题