diff options
-rw-r--r-- | g4f/Provider/Providers/EasyChat.py | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/g4f/Provider/Providers/EasyChat.py b/g4f/Provider/Providers/EasyChat.py index 909428fa..c6621f4e 100644 --- a/g4f/Provider/Providers/EasyChat.py +++ b/g4f/Provider/Providers/EasyChat.py @@ -7,40 +7,47 @@ model = ['gpt-3.5-turbo'] supports_stream = True needs_auth = False working = True +active_servers = [ + "https://chat10.fastgpt.me", + "https://chat9.fastgpt.me", + "https://chat1.fastgpt.me", + "https://chat2.fastgpt.me", + "https://chat3.fastgpt.me", + "https://chat4.fastgpt.me" +] +# Change server if not work current server +server = active_servers[0] def _create_completion(model: str, messages: list, stream: bool, **kwargs): + req = requests.Session() + headers = { - 'authority': 'free.easychat.work', + 'authority': f'{server}'.replace("https://",""), 'accept': 'text/event-stream', - 'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3', + 'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3,fa=0.2', 'content-type': 'application/json', - 'endpoint': '', - 'origin': 'https://free.easychat.work', - 'plugins': '0', - 'referer': 'https://free.easychat.work/', + 'origin': f'{server}', + 'referer': f'{server}/', 'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"', - 'sec-ch-ua-mobile': '?0', - 'sec-ch-ua-platform': '"macOS"', - 'sec-fetch-dest': 'empty', - 'sec-fetch-mode': 'cors', - 'sec-fetch-site': 'same-origin', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', - 'usesearch': 'false', 'x-requested-with': 'XMLHttpRequest', } json_data = { 'messages': messages, 'stream': True, - 'model': model, + 'model': "gpt-3.5-turbo", 'temperature': kwargs.get('temperature', 0.5), 'presence_penalty': kwargs.get('presence_penalty', 0), 'frequency_penalty': kwargs.get('frequency_penalty', 0), 'top_p': kwargs.get('top_p', 1), } - response = requests.post('https://free.easychat.work/api/openai/v1/chat/completions', + # init cookies from server + req.get(f'{server}/') + + response = req.post(f'{server}/api/openai/v1/chat/completions', headers=headers, json=json_data) for chunk in response.iter_lines(): @@ -49,4 +56,4 @@ def _create_completion(model: str, messages: list, stream: bool, **kwargs): yield (data['choices'][0]['delta']['content']) params = f'g4f.Providers.{os.path.basename(__file__)[:-3]} supports: ' + \ - '(%s)' % ', '.join([f"{name}: {get_type_hints(_create_completion)[name].__name__}" for name in _create_completion.__code__.co_varnames[:_create_completion.__code__.co_argcount]])
\ No newline at end of file + '(%s)' % ', '.join([f"{name}: {get_type_hints(_create_completion)[name].__name__}" for name in _create_completion.__code__.co_varnames[:_create_completion.__code__.co_argcount]]) |