{"id":967,"date":"2023-06-01T16:00:57","date_gmt":"2023-06-01T14:00:57","guid":{"rendered":"https:\/\/flowshot.ai\/?p=967"},"modified":"2023-06-01T17:08:45","modified_gmt":"2023-06-01T15:08:45","slug":"rate-limits-auto-retry-batching","status":"publish","type":"post","link":"https:\/\/flowshot.ai\/docs\/rate-limits-auto-retry-batching\/","title":{"rendered":"Rate limits, auto retry and batching"},"content":{"rendered":"\n

Compared to other GPT plugins, Flowshot has a number of performance optimizations that sets it apart from the rest. <\/p>\n\n\n\n

Here's how rate limiting, automatic retries, batching and remote caching can significantly improve your overall experience of using AI with Google Sheets. <\/p>\n\n\n\n

Rate limiting<\/h2>\n\n\n\n

Google Sheets has a very short timeout period for custom functions, which often results in AI formulas failing to load with an #ERROR!<\/code> message. We've implemented rate limits to ensure this doesn't happen.<\/p>\n\n\n\n

As the name \"rate limiting\" suggests, the rate of generation requests are limited to a certain level to make sure that the APIs behind Flowshot don't timeout or fail. This happens automatically \u2014 there's nothing that you need to do!<\/p>\n\n\n\n

Automatic retry<\/h2>\n\n\n\n

Rate limiting is one step towards preventing errors, however Google Sheets can be unpredictable and randomly fail. To prevent this from affecting your workflow, we've implementing automating retries which will repeatedly submit your generation requests until it works. <\/p>\n\n\n\n

Batching<\/h2>\n\n\n\n

Autocomplete and =COMPLETE()<\/code> has automated batching to use your characters more efficiently and again, prevent timeouts and errors. You may notice that it behaves slightly differently compared to =AI()<\/code> and the results are always returned as one batch, as opposed to one by one. <\/p>\n\n\n\n

On average, we've found that our batching optimizations means that our users effectively get 70% more usable characters to use every month.<\/p>\n\n\n\n

Remote caching<\/h2>\n\n\n\n

Another optimization that's in place is remote caching<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"

Compared to other GPT plugins, Flowshot has a number of […]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[9],"tags":[],"meta_box":{"fs_sheets_template_link":"","image_select_range":[],"image_use_formula":[],"image_named_range_formula":[]},"_links":{"self":[{"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/posts\/967"}],"collection":[{"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/comments?post=967"}],"version-history":[{"count":10,"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/posts\/967\/revisions"}],"predecessor-version":[{"id":984,"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/posts\/967\/revisions\/984"}],"wp:attachment":[{"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/media?parent=967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/categories?post=967"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flowshot.ai\/wp-json\/wp\/v2\/tags?post=967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}