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

XFEstudio/gpt4free

Update event loop on windows only for old curl_cffi

0a3fe0b7
Heiner Lohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

2 个文件 +12 -4
Modified g4f/locals/provider.py +5 -2
@@ -66,9 +66,12 @@ class LocalProvider:
66 66 if message["role"] != "system"
67 67 ) + "\nASSISTANT: "
68 68
69 def should_not_stop(token_id: int, token: str):
70 return "USER" not in token
71
69 72 with model.chat_session(system_message, prompt_template):
70 73 if stream:
71 for token in model.generate(conversation, streaming=True):
74 for token in model.generate(conversation, streaming=True, callback=should_not_stop):
72 75 yield token
73 76 else:
74 yield model.generate(conversation)
77 yield model.generate(conversation, callback=should_not_stop)
Modified g4f/providers/base_provider.py +7 -2
@@ -19,8 +19,13 @@ else:
19 19
20 20 # Set Windows event loop policy for better compatibility with asyncio and curl_cffi
21 21 if sys.platform == 'win32':
22 if isinstance(asyncio.get_event_loop_policy(), asyncio.WindowsProactorEventLoopPolicy):
23 asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
22 try:
23 from curl_cffi import aio
24 if not hasattr(aio, "_get_selector"):
25 if isinstance(asyncio.get_event_loop_policy(), asyncio.WindowsProactorEventLoopPolicy):
26 asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
27 except ImportError:
28 pass
24 29
25 30 def get_running_loop(check_nested: bool) -> Union[AbstractEventLoop, None]:
26 31 try: