From d4c8f3e8d595c50890aafd3911a1da54a8080287 Mon Sep 17 00:00:00 2001 From: abc <98614666+xtekky@users.noreply.github.com> Date: Sun, 19 Nov 2023 23:14:30 +0000 Subject: ~ | trying to improve compability with python versions < 3.8 --- g4f/Provider/AItianhu.py | 7 +++---- g4f/Provider/GptForLove.py | 5 ++--- g4f/Provider/GptGo.py | 4 +++- g4f/Provider/Ylokh.py | 5 ++--- g4f/Provider/deprecated/Ails.py | 4 +++- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/g4f/Provider/AItianhu.py b/g4f/Provider/AItianhu.py index 0a31e40b..fcf9a4fb 100644 --- a/g4f/Provider/AItianhu.py +++ b/g4f/Provider/AItianhu.py @@ -71,12 +71,11 @@ class AItianhu(AsyncGeneratorProvider): if "detail" not in line: raise RuntimeError(f"Response: {line}") - if content := line["detail"]["choices"][0]["delta"].get( - "content" - ): + + content = line["detail"]["choices"][0]["delta"].get("content") + if content: yield content - @classmethod @property def params(cls): diff --git a/g4f/Provider/GptForLove.py b/g4f/Provider/GptForLove.py index e4787e5d..90e2096c 100644 --- a/g4f/Provider/GptForLove.py +++ b/g4f/Provider/GptForLove.py @@ -55,9 +55,8 @@ class GptForLove(AsyncGeneratorProvider): except: raise RuntimeError(f"Broken line: {line}") if "detail" in line: - if content := line["detail"]["choices"][0]["delta"].get( - "content" - ): + content = line["detail"]["choices"][0]["delta"].get("content") + if content: yield content elif "10分钟内提问超过了5次" in line: raise RuntimeError("Rate limit reached") diff --git a/g4f/Provider/GptGo.py b/g4f/Provider/GptGo.py index 6d477da0..ac3f7fe8 100644 --- a/g4f/Provider/GptGo.py +++ b/g4f/Provider/GptGo.py @@ -62,7 +62,9 @@ class GptGo(AsyncGeneratorProvider): line = json.loads(line[len(start):-1]) if line["choices"][0]["finish_reason"] == "stop": break - if content := line["choices"][0]["delta"].get("content"): + + content = line["choices"][0]["delta"].get("content"): + if content: yield content diff --git a/g4f/Provider/Ylokh.py b/g4f/Provider/Ylokh.py index abf4d9c1..13692139 100644 --- a/g4f/Provider/Ylokh.py +++ b/g4f/Provider/Ylokh.py @@ -50,9 +50,8 @@ class Ylokh(AsyncGeneratorProvider): if line.startswith("data: [DONE]"): break line = json.loads(line[6:]) - if content := line["choices"][0]["delta"].get( - "content" - ): + content = line["choices"][0]["delta"].get("content") + if content: yield content else: chat = await response.json() diff --git a/g4f/Provider/deprecated/Ails.py b/g4f/Provider/deprecated/Ails.py index 93c63a69..5244fd75 100644 --- a/g4f/Provider/deprecated/Ails.py +++ b/g4f/Provider/deprecated/Ails.py @@ -69,7 +69,9 @@ class Ails(AsyncGeneratorProvider): if line.startswith(start) and line != "data: [DONE]": line = line[len(start):-1] line = json.loads(line) - if token := line["choices"][0]["delta"].get("content"): + token = line["choices"][0]["delta"].get("content") + + if token: if "ai.ls" in token or "ai.ci" in token: raise Exception(f"Response Error: {token}") yield token -- cgit v1.2.3