返回提交历史
Added
g4f/Provider/needs_auth/Custom.py
+11
-0
Modified
g4f/Provider/needs_auth/OpenaiAPI.py
+1
-1
Modified
g4f/Provider/needs_auth/__init__.py
+1
-0
Modified
g4f/client/__init__.py
+0
-2
Modified
g4f/gui/server/api.py
+11
-6
XFEstudio/gpt4free
Fix ignored providers
2b5f6a42
代码差异
5 个文件
+24
-9
@@ -0,0 +1,11 @@
1
from __future__ import annotations
2
3
from .OpenaiAPI import OpenaiAPI
4
5
class Custom(OpenaiAPI):
6
label = "Custom"
7
url = None
8
login_url = "http://localhost:8080"
9
working = True
10
api_base = "http://localhost:8080/v1"
11
needs_auth = False
@@ -36,7 +36,7 @@ class OpenaiAPI(AsyncGeneratorProvider, ProviderModelMixin, RaiseErrorMixin):
36
36
response = requests.get(f"{api_base}/models", headers=headers)
37
37
raise_for_status(response)
38
38
data = response.json()
39
cls.models = [model.get("id") for model in data.get("data")]
39
cls.models = [model.get("id") for model in (data.get("data") if isinstance(data, dict) else data)]
40
40
cls.models.sort()
41
41
except Exception as e:
42
42
debug.log(e)
@@ -3,6 +3,7 @@ from .gigachat import *
3
3
from .BingCreateImages import BingCreateImages
4
4
from .Cerebras import Cerebras
5
5
from .CopilotAccount import CopilotAccount
6
from .Custom import Custom
6
7
from .DeepInfra import DeepInfra
7
8
from .DeepInfraImage import DeepInfraImage
8
9
from .DeepSeek import DeepSeek
@@ -246,7 +246,6 @@ class Completions:
246
246
model,
247
247
self.provider if provider is None else provider,
248
248
stream,
249
ignored,
250
249
ignore_working,
251
250
ignore_stream,
252
251
)
@@ -535,7 +534,6 @@ class AsyncCompletions:
535
534
model,
536
535
self.provider if provider is None else provider,
537
536
stream,
538
ignored,
539
537
ignore_working,
540
538
ignore_stream,
541
539
)
@@ -144,12 +144,17 @@ class Api:
144
144
debug.log = decorated_log
145
145
proxy = os.environ.get("G4F_PROXY")
146
146
provider = kwargs.get("provider")
147
model, provider_handler = get_model_and_provider(
148
kwargs.get("model"), provider,
149
stream=True,
150
ignore_stream=True,
151
logging=False
152
)
147
try:
148
model, provider_handler = get_model_and_provider(
149
kwargs.get("model"), provider,
150
stream=True,
151
ignore_stream=True,
152
logging=False
153
)
154
except Exception as e:
155
logger.exception(e)
156
yield self._format_json('error', get_error_message(e))
157
return
153
158
params = {
154
159
**(provider_handler.get_parameters(as_json=True) if hasattr(provider_handler, "get_parameters") else {}),
155
160
"model": model,