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

XFEstudio/gpt4free

Add virtual providers

4c77492f
hlohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

2 个文件 +37 -2
Modified g4f/Provider/__init__.py +35 -2
@@ -122,6 +122,8 @@ def _resolve_provider(name: str) -> ProviderType:
122 122 _loaded_providers[name] = AbstractClientFactory.create_provider(
123 123 None, "default"
124 124 )
125 _loaded_providers[name].__name__ = name
126 _loaded_providers[name].active_by_default = True
125 127 return _loaded_providers[name]
126 128 elif name == "GLM":
127 129 from g4f.Provider.glm import GLM
@@ -219,6 +221,23 @@ def _resolve_provider(name: str) -> ProviderType:
219 221 from g4f.Provider.needs_auth.Nvidia import Nvidia
220 222
221 223 return Nvidia
224 elif name == "RelayRouter":
225 from ..client.factory import AbstractClientFactory
226 _loaded_providers[name] = AbstractClientFactory.create_provider(
227 None, "custom:srv_mt1wbaxgf9c946af0c58",
228 )
229 _loaded_providers[name].__name__ = name
230 _loaded_providers[name].active_by_default = True
231 return _loaded_providers[name]
232 elif name == "KiloCode":
233 from ..client.factory import AbstractClientFactory
234 _loaded_providers[name] = AbstractClientFactory.create_provider(
235 None, "https://api.kilo.ai/api/gateway"
236 )
237 _loaded_providers[name].__name__ = name
238 _loaded_providers[name].active_by_default = True
239 _loaded_providers[name].default_model = "kilo-auto/free"
240 return _loaded_providers[name]
222 241 elif name == "Ollama":
223 242 from g4f.Provider.local.Ollama import Ollama
224 243
@@ -227,14 +246,24 @@ def _resolve_provider(name: str) -> ProviderType:
227 246 from g4f.Provider.audio.OpenAIFM import OpenAIFM
228 247
229 248 return OpenAIFM
249 elif name == "OpenCode":
250 from ..client.factory import AbstractClientFactory
251 _loaded_providers[name] = AbstractClientFactory.create_provider(
252 None, "https://opencode.ai/zen/v1"
253 )
254 _loaded_providers[name].__name__ = name
255 _loaded_providers[name].active_by_default = True
256 _loaded_providers[name].default_model = "big-pickle"
257 return _loaded_providers[name]
258
230 259 elif name == "OpenRouter":
231 260 from g4f.Provider.needs_auth.OpenRouter import OpenRouter
232 261
233 262 return OpenRouter
234 263 elif name == "OpenRouterFree":
235 from g4f.Provider.needs_auth.OpenRouter import OpenRouter
264 from g4f.Provider.needs_auth.OpenRouter import OpenRouterFree
236 265
237 return OpenRouter
266 return OpenRouterFree
238 267 elif name == "OrcaRouter":
239 268 from g4f.Provider.needs_auth.OrcaRouter import OrcaRouter
240 269
@@ -382,6 +411,7 @@ _provider_names = [
382 411 "EdgeTTS",
383 412 "ElevenLabs",
384 413 "FenayAI",
414 "G4FSpace",
385 415 "GLM",
386 416 "Gemini",
387 417 "GeminiCLI",
@@ -406,8 +436,11 @@ _provider_names = [
406 436 "MicrosoftDesigner",
407 437 "MiniMax",
408 438 "Nvidia",
439 "RelayRouter",
440 "KiloCode",
409 441 "Ollama",
410 442 "OpenAIFM",
443 "OpenCode",
411 444 "OpenRouter",
412 445 "OpenRouterFree",
413 446 "OrcaRouter",
Modified g4f/gui/server/backend_api.py +2 -0
@@ -648,6 +648,8 @@ class Backend_Api(Api):
648 648 httponly=True,
649 649 secure=True,
650 650 )
651 else:
652 resp.headers["Cache-Control"] = "public, max-age=3600"
651 653 return resp
652 654
653 655 @app.route("/backend-api/v2/create", methods=["GET"])