mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-17 14:04:27 +01:00
This happens often in PRs so fixing this everywhere will make many PRs mergeable as they won't include irrelevant whitespace fixes
46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
from typing import List, Optional
|
|
import json
|
|
from config import Config
|
|
from call_ai_function import call_ai_function
|
|
from json_parser import fix_and_parse_json
|
|
cfg = Config()
|
|
|
|
# Evaluating code
|
|
def evaluate_code(code: str) -> List[str]:
|
|
"""Evaluates the given code and returns a list of suggestions for improvements."""
|
|
function_string = "def analyze_code(code: str) -> List[str]:"
|
|
args = [code]
|
|
description_string = """Analyzes the given code and returns a list of suggestions for improvements."""
|
|
|
|
result_string = call_ai_function(function_string, args, description_string)
|
|
|
|
return result_string
|
|
|
|
|
|
# Improving code
|
|
def improve_code(suggestions: List[str], code: str) -> str:
|
|
"""Improves the provided code based on the suggestions provided, making no other changes."""
|
|
function_string = (
|
|
"def generate_improved_code(suggestions: List[str], code: str) -> str:"
|
|
)
|
|
args = [json.dumps(suggestions), code]
|
|
description_string = """Improves the provided code based on the suggestions provided, making no other changes."""
|
|
|
|
result_string = call_ai_function(function_string, args, description_string)
|
|
return result_string
|
|
|
|
|
|
# Writing tests
|
|
def write_tests(code: str, focus: List[str]) -> str:
|
|
"""Generates test cases for the existing code, focusing on specific areas if required."""
|
|
function_string = (
|
|
"def create_test_cases(code: str, focus: Optional[str] = None) -> str:"
|
|
)
|
|
args = [code, json.dumps(focus)]
|
|
description_string = """Generates test cases for the existing code, focusing on specific areas if required."""
|
|
|
|
result_string = call_ai_function(function_string, args, description_string)
|
|
return result_string
|
|
|
|
|