gpt4 book ai didi

azure - 克服 Azure Vision Read API 每秒事务数 (TPS) 限制

转载 作者:行者123 更新时间:2023-12-02 08:33:35 26 4
gpt4 key购买 nike

我正在开发一个系统,我们正在调用 Vision Read API 从光栅 PDF 中提取内容。文件大小不同,从一页到几百页不等。

文件存储在Azure Blob中,当所有文件上传到Blob时,会有一个功能将文件推送到Read API一次。可能有数百个文件。

因此,当进程启动时,预计每秒会发送大量文档进行文本提取。但 Vision API 的限制为每秒 10 个事务(包括读取)。

我想知道最好的方法是什么?某种类型的限制或队列?

是否有任何可用的集成(例如通过队列),读取 API 将在其中提取文档,并且是否有任何类型的推送通知可用于通知读取操作的完成?如何防止由于超过 10 TPS 限制而导致超时?

最佳答案

据我了解,您想了解两个关键点:

  1. 当您有大量文件需要读取时,如何克服 10 TPS 限制。
  2. 寻找获取读取操作状态的最佳方法并结果。

你的问题有点宽泛,也许我可以为你提供一些建议:

对于Q1,一般情况下,如果达到TPS限制,您将收到HTTP 429响应,您必须等待一段时间才能再次调用API,否则下次调用API将被拒绝。通常我们使用指数退避重试策略之类的方法来重试操作来处理 429 错误:

2.1) 您需要检查代码中的 HTTP 响应代码。

2.2) 当HTTP响应码为429时,则在N秒后重试此操作,您可以自己定义例如10秒...

例如,以下是 429 的响应。您可以将等待时间设置为 (26 + n) 秒。 (PS:这里可以自己定义n,比如n=5……)

{“错误”:{“状态代码”:429,"message": "超出速率限制。请在 26 秒后重试。"}}

2.3) 如果步骤2成功,则继续下一步操作。

2.4) 如果步骤 2 也失败并返回 429,则在 N*N 秒后重试此操作(您也可以自己定义),这是指数退避重试策略。

2.5) 如果步骤 4 也失败并返回 429,请在 NNN 秒后重试此操作...

2.6) 您应该始终等待当前操作成功,等待时间将呈指数增长。

对于第二季度,,据我们所知,我们可以使用 this API获取读取操作状态/结果。如果您想获得完成通知/结果,您应该每隔一段时间为每个操作构建一个滚动轮询请求,即每10秒发送一次检查请求。您可以使用Azure functionAzure automation runbook创建异步任务来检查读取操作状态,一旦完成,根据您的要求处理结果。

希望有帮助。如果您还有任何疑问,请随时告诉我。

关于azure - 克服 Azure Vision Read API 每秒事务数 (TPS) 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58515270/

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