From dfdb759639479da640701fe0db716d4455b7ae38 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Sat, 7 Oct 2023 19:00:45 +0200 Subject: Improve code with ai --- etc/tool/improve_code.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ etc/tool/improve_file.py | 44 -------------------------------------------- 2 files changed, 47 insertions(+), 44 deletions(-) create mode 100644 etc/tool/improve_code.py delete mode 100644 etc/tool/improve_file.py (limited to 'etc/tool') 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[\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 diff --git a/etc/tool/improve_file.py b/etc/tool/improve_file.py deleted file mode 100644 index cef41354..00000000 --- a/etc/tool/improve_file.py +++ /dev/null @@ -1,44 +0,0 @@ - -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