summaryrefslogtreecommitdiffstats
path: root/g4f/Provider
diff options
context:
space:
mode:
Diffstat (limited to 'g4f/Provider')
-rw-r--r--g4f/Provider/retry_provider.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/g4f/Provider/retry_provider.py b/g4f/Provider/retry_provider.py
index 94b9b90a..72170756 100644
--- a/g4f/Provider/retry_provider.py
+++ b/g4f/Provider/retry_provider.py
@@ -1,5 +1,6 @@
from __future__ import annotations
+import asyncio
import random
from typing import List, Type, Dict
from ..typing import CreateResult, Messages
@@ -68,7 +69,11 @@ class RetryProvider(AsyncProvider):
self.exceptions: Dict[str, Exception] = {}
for provider in providers:
try:
- return await provider.create_async(model, messages, **kwargs)
+ return await asyncio.wait_for(provider.create_async(model, messages, **kwargs), timeout=60)
+ except asyncio.TimeoutError as e:
+ self.exceptions[provider.__name__] = e
+ if logging:
+ print(f"{provider.__name__}: TimeoutError: {e}")
except Exception as e:
self.exceptions[provider.__name__] = e
if logging: