diff options
author | H Lohaus <hlohaus@users.noreply.github.com> | 2024-04-07 11:27:26 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-07 11:27:26 +0200 |
commit | d327afc60620913f5d2b0a9985b03a7934468ad4 (patch) | |
tree | 395de9142af3e6b9c0e5e3968ee7f8234b8b25e2 /g4f/client/helper.py | |
parent | Update Gemini.py (diff) | |
parent | Update provider.py (diff) | |
download | gpt4free-d327afc60620913f5d2b0a9985b03a7934468ad4.tar gpt4free-d327afc60620913f5d2b0a9985b03a7934468ad4.tar.gz gpt4free-d327afc60620913f5d2b0a9985b03a7934468ad4.tar.bz2 gpt4free-d327afc60620913f5d2b0a9985b03a7934468ad4.tar.lz gpt4free-d327afc60620913f5d2b0a9985b03a7934468ad4.tar.xz gpt4free-d327afc60620913f5d2b0a9985b03a7934468ad4.tar.zst gpt4free-d327afc60620913f5d2b0a9985b03a7934468ad4.zip |
Diffstat (limited to 'g4f/client/helper.py')
-rw-r--r-- | g4f/client/helper.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/g4f/client/helper.py b/g4f/client/helper.py index 32aa9183..c502d478 100644 --- a/g4f/client/helper.py +++ b/g4f/client/helper.py @@ -1,6 +1,9 @@ +from __future__ import annotations + import re +from typing import Iterable, AsyncIterator -def read_json(text: str) -> dict: +def filter_json(text: str) -> str: """ Parses JSON code block from a string. @@ -15,7 +18,7 @@ def read_json(text: str) -> dict: return match.group("code") return text -def find_stop(stop, content: str, chunk: str): +def find_stop(stop, content: str, chunk: str = None): first = -1 word = None if stop is not None: @@ -24,10 +27,21 @@ def find_stop(stop, content: str, chunk: str): if first != -1: content = content[:first] break - if stream and first != -1: + if chunk is not None and first != -1: first = chunk.find(word) if first != -1: chunk = chunk[:first] else: first = 0 return first, content, chunk + +def filter_none(**kwargs) -> dict: + return { + key: value + for key, value in kwargs.items() + if value is not None + } + +async def cast_iter_async(iter: Iterable) -> AsyncIterator: + for chunk in iter: + yield chunk
\ No newline at end of file |