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

XFEstudio/gpt4free

Add reasoning_effort attribute

6e959fca
hlohaus <983577+hlohaus@users.noreply.github.com>
提交于

代码差异

3 个文件 +5 -5
Modified g4f/Provider/local/Ollama.py +2 -2
@@ -24,7 +24,7 @@ class Ollama(OpenaiTemplate):
24 24 active_by_default = True
25 25 local_models: list[str] = []
26 26 model_aliases = {"gpt-oss-120b": "gpt-oss:120b", "gpt-oss-20b": "gpt-oss:20b"}
27 supports_reasoning_effort_none = False
27 default_reasoning_effort = False
28 28
29 29 @classmethod
30 30 async def get_quota(cls, api_key: Optional[str] = None) -> Optional[dict]:
@@ -32,7 +32,7 @@ class Ollama(OpenaiTemplate):
32 32 "__Secure-session"
33 33 )
34 34 if not session_cookie:
35 return await super().get_quota(api_key=api_key)
35 return await super().get_quota(api_key=api_key, reasoning_effort=cls.default_reasoning_effort)
36 36 quota = {}
37 37 try:
38 38 async with StreamSession() as session:
Modified g4f/Provider/template/OpenaiTemplate.py +1 -2
@@ -34,7 +34,6 @@ class OpenaiTemplate(AsyncGeneratorProvider, ProviderModelMixin, RaiseErrorMixin
34 34 supports_native_tools: bool = True
35 35 _checked_api_keys: dict = {}
36 36 add_thought_signature = None
37 supports_reasoning_effort_none = True
38 37
39 38 @classmethod
40 39 async def get_quota(cls, api_key: Optional[str] = None, **kwargs) -> dict:
@@ -66,7 +65,7 @@ class OpenaiTemplate(AsyncGeneratorProvider, ProviderModelMixin, RaiseErrorMixin
66 65 **({"model": cls.default_model} if cls.default_model else {}),
67 66 "messages": [{"role": "user", "content": "Hi"}],
68 67 "max_tokens": 1,
69 "reasoning_effort": ("none" if cls.supports_reasoning_effort_none else "low"),
68 "reasoning_effort": cls.default_reasoning_effort,
70 69 }
71 70 async with StreamSession() as session:
72 71 async with session.post(url, headers=headers, json=json_data) as response:
Modified g4f/providers/base_provider.py +2 -1
@@ -311,6 +311,7 @@ class AsyncGeneratorProvider(AbstractProvider):
311 311 use_stream_timeout = True
312 312 quota_url = None
313 313 quota_lock = threading.Lock()
314 default_reasoning_effort = "none"
314 315
315 316 @classmethod
316 317 async def get_quota(cls, api_key: Optional[str] = None, **kwargs) -> dict:
@@ -323,7 +324,7 @@ class AsyncGeneratorProvider(AbstractProvider):
323 324 model=getattr(cls, "default_model", "auto"),
324 325 messages=[{"role": "user", "content": "Hi"}],
325 326 stream=False,
326 reasoning_effort="none",
327 reasoning_effort=cls.default_reasoning_effort,
327 328 **kwargs,
328 329 ):
329 330 if isinstance(chunk, str):