Add timeout

This commit is contained in:
ostix360 2023-10-17 09:29:12 +02:00
parent 2e68a4b1d4
commit 24f7495f24

View File

@ -1,5 +1,6 @@
from __future__ import annotations from __future__ import annotations
import asyncio
import random import random
from typing import List, Type, Dict from typing import List, Type, Dict
from ..typing import CreateResult, Messages from ..typing import CreateResult, Messages
@ -68,7 +69,11 @@ class RetryProvider(AsyncProvider):
self.exceptions: Dict[str, Exception] = {} self.exceptions: Dict[str, Exception] = {}
for provider in providers: for provider in providers:
try: 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: except Exception as e:
self.exceptions[provider.__name__] = e self.exceptions[provider.__name__] = e
if logging: if logging: