diff options
author | Tekky <98614666+xtekky@users.noreply.github.com> | 2023-10-07 22:03:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-07 22:03:50 +0200 |
commit | 6334dac211898fb607d0281e9f23176172de4feb (patch) | |
tree | 45fad72c866cb03db744ae53e2993a4f31b29f0d /etc/tool/improve_code.py | |
parent | ~ | g4f `v-0.1.5.4` [new gui & interference] (diff) | |
parent | Remove Aivvm from working providers (diff) | |
download | gpt4free-6334dac211898fb607d0281e9f23176172de4feb.tar gpt4free-6334dac211898fb607d0281e9f23176172de4feb.tar.gz gpt4free-6334dac211898fb607d0281e9f23176172de4feb.tar.bz2 gpt4free-6334dac211898fb607d0281e9f23176172de4feb.tar.lz gpt4free-6334dac211898fb607d0281e9f23176172de4feb.tar.xz gpt4free-6334dac211898fb607d0281e9f23176172de4feb.tar.zst gpt4free-6334dac211898fb607d0281e9f23176172de4feb.zip |
Diffstat (limited to 'etc/tool/improve_code.py')
-rw-r--r-- | etc/tool/improve_code.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/etc/tool/improve_code.py b/etc/tool/improve_code.py new file mode 100644 index 00000000..9a940b51 --- /dev/null +++ b/etc/tool/improve_code.py @@ -0,0 +1,47 @@ + +import sys, re +from pathlib import Path +from os import path + +sys.path.append(str(Path(__file__).parent.parent.parent)) + +import g4f + +def read_code(text): + match = re.search(r"```(python|py|)\n(?P<code>[\S\s]+?)\n```", text) + if match: + return match.group("code") + +path = input("Path: ") + +with open(path, "r") as file: + code = file.read() + +prompt = f""" +Improve the code in this file: +```py +{code} +``` +Don't remove anything. +Add typehints if possible. +Don't add any typehints to kwargs. +Don't remove license comments. +""" + +print("Create code...") +response = [] +for chunk in g4f.ChatCompletion.create( + model=g4f.models.gpt_35_long, + messages=[{"role": "user", "content": prompt}], + timeout=300, + stream=True +): + response.append(chunk) + print(chunk, end="", flush=True) +print() +response = "".join(response) + +code = read_code(response) +if code: + with open(path, "w") as file: + file.write(code)
\ No newline at end of file |