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

XFEstudio/gpt4free

Update Cloudflare.py

40678de9
H Lohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

1 个文件 +10 -59
Modified g4f/Provider/Cloudflare.py +10 -59
@@ -23,7 +23,10 @@ def clean_name(name: str) -> str:
23 23 "-awq", "").replace(
24 24 "-qvq", "").replace(
25 25 "-r1", "").replace(
26 "meta-llama-", "llama-")
26 "meta-llama-", "llama-").replace(
27 "-it", "").replace(
28 "qwen-", "qwen").replace(
29 "qwen", "qwen-")
27 30
28 31 # models = []
29 32 # model_aliases = {clean_name(m.get("name")): m.get("name") for m in models}
@@ -49,8 +52,8 @@ class Cloudflare(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin):
49 52 'deepseek-distill-qwen-32b': '@cf/deepseek-ai/deepseek-r1-distill-qwen-32b',
50 53 'discolm-german-7b-v1': '@cf/thebloke/discolm-german-7b-v1-awq',
51 54 'falcon-7b': '@cf/tiiuae/falcon-7b-instruct',
52 'gemma-3-12b-it': '@cf/google/gemma-3-12b-it',
53 'gemma-7b-it': '@hf/google/gemma-7b-it',
55 'gemma-3-12b': '@cf/google/gemma-3-12b-it',
56 'gemma-7b': '@hf/google/gemma-7b-it',
54 57 'hermes-2-pro-mistral-7b': '@hf/nousresearch/hermes-2-pro-mistral-7b',
55 58 'llama-2-13b': '@hf/thebloke/llama-2-13b-chat-awq',
56 59 'llama-2-7b-fp16': '@cf/meta/llama-2-7b-chat-fp16',
@@ -72,10 +75,10 @@ class Cloudflare(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin):
72 75 'openhermes-2.5-mistral-7b': '@hf/thebloke/openhermes-2.5-mistral-7b-awq',
73 76 'phi-2': '@cf/microsoft/phi-2',
74 77 'qwen1.5-0.5b': '@cf/qwen/qwen1.5-0.5b-chat',
75 'qwen1.5-1.8b': '@cf/qwen/qwen1.5-1.8b-chat',
76 'qwen1.5-14b': '@cf/qwen/qwen1.5-14b-chat-awq',
77 'qwen1.5-7b': '@cf/qwen/qwen1.5-7b-chat-awq',
78 'qwen2.5-coder-32b': '@cf/qwen/qwen2.5-coder-32b-instruct',
78 'qwen-1.5-1.8b': '@cf/qwen/qwen1.5-1.8b-chat',
79 'qwen-1.5-14b': '@cf/qwen/qwen1.5-14b-chat-awq',
80 'qwen-1.5-7b': '@cf/qwen/qwen1.5-7b-chat-awq',
81 'qwen-2.5-coder-32b': '@cf/qwen/qwen2.5-coder-32b-instruct',
79 82 'qwq-32b': '@cf/qwen/qwq-32b',
80 83 'sqlcoder-7b-2': '@cf/defog/sqlcoder-7b-2',
81 84 'starling-lm-7b-beta': '@hf/nexusflow/starling-lm-7b-beta',
@@ -86,58 +89,6 @@ class Cloudflare(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin):
86 89 models = list(model_aliases.keys())
87 90 _args: dict = None
88 91
89 @classmethod
90 def get_models(cls) -> str:
91 def read_models():
92 with Session(**cls._args) as session:
93 response = session.get(cls.models_url)
94 cls._args["cookies"] = merge_cookies(cls._args["cookies"], response)
95 raise_for_status(response)
96 json_data = response.json()
97 def clean_name(name: str) -> str:
98 return name.split("/")[-1].replace(
99 "-instruct", "").replace(
100 "-17b-16e", "").replace(
101 "-chat", "").replace(
102 "-fp8", "").replace(
103 "-fast", "").replace(
104 "-int8", "").replace(
105 "-awq", "").replace(
106 "-qvq", "").replace(
107 "-r1", "").replace(
108 "meta-llama-", "llama-")
109 model_map = {clean_name(model.get("name")): model.get("name") for model in json_data.get("models")}
110 cls.models = list(model_map.keys())
111 cls.model_aliases = {**cls.model_aliases, **model_map}
112 if not cls.models:
113 try:
114 cache_file = cls.get_cache_file()
115 if cls._args is None:
116 if cache_file.exists():
117 with cache_file.open("r") as f:
118 cls._args = json.load(f)
119 if cls._args is None:
120 cls._args = {"headers": DEFAULT_HEADERS, "cookies": {}}
121 read_models()
122 except ResponseStatusError as f:
123 if has_nodriver:
124 async def nodriver_read_models():
125 try:
126 cls._args = await get_args_from_nodriver(cls.url)
127 read_models()
128 except Exception as e:
129 debug.error(f"Nodriver is not available:", e)
130 cls.models = cls.fallback_models
131 get_running_loop(check_nested=True)
132 try:
133 asyncio.run(nodriver_read_models())
134 except RuntimeError as e:
135 debug.error("Nodriver is not available:", e)
136 cls.models = cls.fallback_models
137 else:
138 cls.models = cls.fallback_models
139 debug.log(f"Nodriver is not installed: {type(f).__name__}: {f}")
140 return cls.models
141 92
142 93 @classmethod
143 94 async def create_async_generator(