summaryrefslogtreecommitdiffstats
path: root/etc/tool/improve_code.py
diff options
context:
space:
mode:
authorTekky <98614666+xtekky@users.noreply.github.com>2023-10-07 22:03:50 +0200
committerGitHub <noreply@github.com>2023-10-07 22:03:50 +0200
commit6334dac211898fb607d0281e9f23176172de4feb (patch)
tree45fad72c866cb03db744ae53e2993a4f31b29f0d /etc/tool/improve_code.py
parent ~ | g4f `v-0.1.5.4` [new gui & interference] (diff)
parentRemove Aivvm from working providers (diff)
downloadgpt4free-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.py47
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