| raise StopIteration | raise StopIteration | ||||
| try: | try: | ||||
| return next(self.generator) | return next(self.generator) | ||||
| except StopIteration: | |||||
| except Exception: | |||||
| self.close() | self.close() | ||||
| raise | raise | ||||
| raise ValueError(f"Invalid app mode {app_model.mode}") | raise ValueError(f"Invalid app mode {app_model.mode}") | ||||
| except RateLimitError as e: | except RateLimitError as e: | ||||
| raise InvokeRateLimitError(str(e)) | raise InvokeRateLimitError(str(e)) | ||||
| except Exception: | |||||
| rate_limit.exit(request_id) | |||||
| raise | |||||
| finally: | finally: | ||||
| if not streaming: | if not streaming: | ||||
| rate_limit.exit(request_id) | rate_limit.exit(request_id) |