summaryrefslogtreecommitdiffstats
path: root/g4f/Provider/retry_provider.py
diff options
context:
space:
mode:
Diffstat (limited to 'g4f/Provider/retry_provider.py')
-rw-r--r--g4f/Provider/retry_provider.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/g4f/Provider/retry_provider.py b/g4f/Provider/retry_provider.py
index ee342315..39d61c35 100644
--- a/g4f/Provider/retry_provider.py
+++ b/g4f/Provider/retry_provider.py
@@ -71,11 +71,10 @@ class RetryProvider(AsyncProvider):
self.exceptions: Dict[str, Exception] = {}
for provider in providers:
try:
- return await asyncio.wait_for(provider.create_async(model, messages, **kwargs), timeout=60)
- except asyncio.TimeoutError as e:
- self.exceptions[provider.__name__] = e
- if self.logging:
- print(f"{provider.__name__}: TimeoutError: {e}")
+ return await asyncio.wait_for(
+ provider.create_async(model, messages, **kwargs),
+ timeout=kwargs.get("timeout", 60)
+ )
except Exception as e:
self.exceptions[provider.__name__] = e
if self.logging:
@@ -85,8 +84,8 @@ class RetryProvider(AsyncProvider):
def raise_exceptions(self) -> None:
if self.exceptions:
- raise RuntimeError("\n".join(["All providers failed:"] + [
+ raise RuntimeError("\n".join(["RetryProvider failed:"] + [
f"{p}: {self.exceptions[p].__class__.__name__}: {self.exceptions[p]}" for p in self.exceptions
]))
- raise RuntimeError("No provider found") \ No newline at end of file
+ raise RuntimeError("RetryProvider: No provider found") \ No newline at end of file