Spaces:
Runtime error
Runtime error
File size: 1,626 Bytes
0af0a55 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
from typing import Dict, Any
from loguru import logger
from utils.llm_orchestrator import LLMOrchestrator
class CodeGenerationAgent:
def __init__(self, llm_api_key: str):
"""Initialize the Code Generation Agent."""
logger.info("Initializing CodeGenerationAgent")
self.llm_orchestrator = LLMOrchestrator(llm_api_key)
self.capabilities = [
"code_generation",
"code_completion",
"code_modification",
"code_refactoring"
]
self.setup_logger()
def setup_logger(self):
"""Configure logging for the agent."""
logger.add("logs/code_generation_agent.log", rotation="500 MB")
async def generate_code(self, description: str,
language: str = "python") -> Dict[str, Any]:
"""Generate code based on a natural language description."""
logger.info(f"Generating code for description: {description}")
try:
prompt = f"""
Generate {language} code that accomplishes the following:
{description}
Provide only the code, without any introductory or explanatory text.
"""
code = await self.llm_orchestrator.generate_completion(prompt)
logger.info(f"Code generated successfully:\n{code}")
return {
"status": "success",
"code": code
}
except Exception as e:
logger.error(f"Error generating code: {str(e)}")
return {
"status": "error",
"message": str(e)
}
|