From f7bb30036e5e5482611627a040f54254ac162f72 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Sat, 7 Oct 2023 10:17:43 +0200 Subject: Improve code by AI --- etc/tool/improve_file.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 etc/tool/improve_file.py (limited to 'etc/tool') diff --git a/etc/tool/improve_file.py b/etc/tool/improve_file.py new file mode 100644 index 00000000..cef41354 --- /dev/null +++ b/etc/tool/improve_file.py @@ -0,0 +1,44 @@ + +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[\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 type hints if possible. +""" + +print("Create code...") +response = [] +for chunk in g4f.ChatCompletion.create( + model=g4f.models.gpt_35_long, + messages=[{"role": "user", "content": prompt}], + timeout=0, + 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 -- cgit v1.2.3