返回提交历史
Modified
g4f/Provider/__init__.py
+3
-2
XFEstudio/gpt4free
Fix lazy loading
d15d7e26
代码差异
1 个文件
+3
-2
@@ -1,6 +1,5 @@
1
1
from __future__ import annotations
2
2
3
import importlib
4
3
from ..providers.types import BaseProvider, ProviderType
5
4
from ..providers.retry_provider import RetryProvider, IterListProvider, RotatedProvider
6
5
from ..providers.base_provider import AsyncProvider, AsyncGeneratorProvider
@@ -134,9 +133,12 @@ def __getattr__(name: str):
134
133
if not isinstance(module_path, str):
135
134
return module_path
136
135
if name not in _loaded_providers:
136
import sys
137
import importlib
137
138
try:
138
139
module = importlib.import_module(module_path)
139
140
_loaded_providers[name] = getattr(module, name)
141
setattr(sys.modules["g4f.Provider"], name, _loaded_providers[name])
140
142
except ImportError as e:
141
143
debug.error(f"Failed to load provider {name}: {e}")
142
144
raise AttributeError(f"Provider {name} could not be loaded") from e
@@ -152,7 +154,6 @@ def __getattr__(name: str):
152
154
return providers_list
153
155
154
156
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
155
156
157
def __dir__():
157
158
return __all__
158
159