XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

Fix: debug.logging not work in retry provider

042ee763
hs_junxiang <jimmy871117@gmail.com>
提交于

代码差异

2 个文件 +6 -6
Modified g4f/Provider/retry_provider.py +5 -6
@@ -5,13 +5,13 @@ import random
5 5 from typing import List, Type, Dict
6 6 from ..typing import CreateResult, Messages
7 7 from .base_provider import BaseProvider, AsyncProvider
8 from ..debug import logging
9 8
10 9
11 10 class RetryProvider(AsyncProvider):
12 11 __name__: str = "RetryProvider"
13 12 working: bool = True
14 13 supports_stream: bool = True
14 logging: bool = False
15 15
16 16 def __init__(
17 17 self,
@@ -21,7 +21,6 @@ class RetryProvider(AsyncProvider):
21 21 self.providers: List[Type[BaseProvider]] = providers
22 22 self.shuffle: bool = shuffle
23 23
24
25 24 def create_completion(
26 25 self,
27 26 model: str,
@@ -40,7 +39,7 @@ class RetryProvider(AsyncProvider):
40 39 started: bool = False
41 40 for provider in providers:
42 41 try:
43 if logging:
42 if self.logging:
44 43 print(f"Using {provider.__name__} provider")
45 44 for token in provider.create_completion(model, messages, stream, **kwargs):
46 45 yield token
@@ -49,7 +48,7 @@ class RetryProvider(AsyncProvider):
49 48 return
50 49 except Exception as e:
51 50 self.exceptions[provider.__name__] = e
52 if logging:
51 if self.logging:
53 52 print(f"{provider.__name__}: {e.__class__.__name__}: {e}")
54 53 if started:
55 54 raise e
@@ -72,11 +71,11 @@ class RetryProvider(AsyncProvider):
72 71 return await asyncio.wait_for(provider.create_async(model, messages, **kwargs), timeout=60)
73 72 except asyncio.TimeoutError as e:
74 73 self.exceptions[provider.__name__] = e
75 if logging:
74 if self.logging:
76 75 print(f"{provider.__name__}: TimeoutError: {e}")
77 76 except Exception as e:
78 77 self.exceptions[provider.__name__] = e
79 if logging:
78 if self.logging:
80 79 print(f"{provider.__name__}: {e.__class__.__name__}: {e}")
81 80
82 81 self.raise_exceptions()
Modified g4f/__init__.py +1 -0
@@ -48,6 +48,7 @@ def get_model_and_provider(model : Union[Model, str],
48 48 raise ValueError(f'{provider.__name__} does not support "stream" argument')
49 49
50 50 if logging:
51 RetryProvider.logging = True
51 52 print(f'Using {provider.__name__} provider')
52 53
53 54 return model, provider