返回提交历史
Modified
g4f/Provider/PollinationsAI.py
+1
-1
Modified
g4f/Provider/needs_auth/Custom.py
+1
-0
Modified
g4f/client/stubs.py
+1
-0
Modified
g4f/gui/server/backend_api.py
+1
-1
XFEstudio/gpt4free
Refactor PollinationsAI model alias handling for improved string conversion; add audio_tokens field to CompletionTokenDetails; update data structure in Backend_Api for user data handling.
1fb8b7e4
代码差异
4 个文件
+4
-2
@@ -110,7 +110,7 @@ class PollinationsAI(AsyncGeneratorProvider, ProviderModelMixin):
110
110
alias = model.get("aliases")[0]
111
111
elif alias in cls.swap_model_aliases:
112
112
alias = cls.swap_model_aliases[alias]
113
return alias.replace("-instruct", "").replace("qwen-", "qwen").replace("qwen", "qwen-")
113
return str(alias).replace("-instruct", "").replace("qwen-", "qwen").replace("qwen", "qwen-")
114
114
115
115
if not cls._models_loaded:
116
116
try:
@@ -6,6 +6,7 @@ class Custom(OpenaiTemplate):
6
6
label = "Custom Provider"
7
7
working = True
8
8
needs_auth = False
9
models_needs_auth = False
9
10
api_base = "http://localhost:8080/v1"
10
11
sort_models = False
11
12
@@ -40,6 +40,7 @@ class PromptTokenDetails(BaseModel):
40
40
class CompletionTokenDetails(BaseModel):
41
41
reasoning_tokens: int
42
42
image_tokens: int
43
audio_tokens: int
43
44
44
45
class UsageModel(BaseModel):
45
46
prompt_tokens: int
@@ -239,7 +239,7 @@ class Backend_Api(Api):
239
239
cache_dir = Path(get_cookies_dir()) / ".usage"
240
240
cache_file = cache_dir / f"{datetime.date.today()}.jsonl"
241
241
cache_dir.mkdir(parents=True, exist_ok=True)
242
data = {**request.json, "user": request.headers.get("x-user", "unknown")}
242
data = {"user": request.headers.get("x-user", "unknown"), **request.json}
243
243
with cache_file.open("a" if cache_file.exists() else "w") as f:
244
244
f.write(f"{json.dumps(data)}\n")
245
245
return {}