gpt-oss-20b / __init__ (29).py
Ananthusajeev190's picture
Upload 312 files
d2e0b37 verified
raw
history blame
2.1 kB
import os
class SelfCodingAI:
def __init__(self, name="SelfCoder", code_folder="generated_code"):
self.name = name
self.code_folder = code_folder
os.makedirs(self.code_folder, exist_ok=True)
def generate_code(self, task_description):
"""
Very basic code generation logic: generates code for some predefined tasks.
You can extend this to integrate GPT-like models or complex code synthesis.
"""
if "hello world" in task_description.lower():
code = 'print("Hello, world!")'
elif "factorial" in task_description.lower():
code = (
"def factorial(n):\n"
" return 1 if n==0 else n * factorial(n-1)\n\n"
"print(factorial(5))"
)
else:
code = "# Code generation for this task is not implemented yet.\n"
return code
def save_code(self, code, filename="generated_code.py"):
filepath = os.path.join(self.code_folder, filename)
with open(filepath, "w", encoding="utf-8") as f:
f.write(code)
print(f"Code saved to {filepath}")
return filepath
def self_improve(self, feedback):
"""
Placeholder for self-improvement method.
In future, AI could modify its own code based on feedback or test results.
"""
print(f"{self.name} received feedback: {feedback}")
print("Self-improvement not yet implemented.")
def run_code(self, filepath):
print(f"Running code from {filepath}:\n")
try:
with open(filepath, "r", encoding="utf-8") as f:
code = f.read()
exec(code, {})
except Exception as e:
print(f"Error during code execution: {e}")
# Example usage
ai = SelfCodingAI()
task = "Write a factorial function in Python"
generated = ai.generate_code(task)
file_path = ai.save_code(generated, "factorial.py")
ai.run_code(file_path)
# Example of self-improvement placeholder call
ai.self_improve("The factorial function passed all test cases.")