From 24f7495f24acb73997deca85d243025ba638db53 Mon Sep 17 00:00:00 2001 From: ostix360 Date: Tue, 17 Oct 2023 09:29:12 +0200 Subject: Add timeout --- g4f/Provider/retry_provider.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'g4f/Provider') 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: -- cgit v1.2.3