Generación de código y asistencia al desarrollo con LLM

Generación de código y asistencia al desarrollo con LLM

Introducción

Los modelos de lenguaje pueden utilizarse para generar código y asistir a los desarrolladores en su trabajo diario. Este tutorial explora las distintas formas de implementar estas funcionalidades con los LLM.

Tipos de asistencia al desarrollo

1. Generación de código

2. Refactorización y optimización

3. Asistencia al diseño

Implementación

1. Generador de código

from openai import OpenAI
import json
from typing import List, Dict, Any
import numpy as np

class CodeGenerator:
    def __init__(self, api_key: str):
        self.client = OpenAI(api_key=api_key)
    
    def generate_code(self, requirements: Dict[str, Any], 
                     language: str = "python") -> Dict[str, Any]:
        prompt = self._create_generation_prompt(requirements, language)
        
        response = self.client.chat.completions.create(
            model="gpt-3.5-turbo",
            messages=[
                {"role": "system", "content": "Tu es un expert en génération de code."},
                {"role": "user", "content": prompt}
            ],
            temperature=0.3
        )
        
        return json.loads(response.choices[0].message.content)
    
    def _create_generation_prompt(self, requirements: Dict[str, Any], 
                                language: str) -> str:
        return f"""
        Génère du code en {language} selon les exigences suivantes :
        
        Exigences : {json.dumps(requirements, indent=2)}
        
        Fournis :
        1. Le code généré
        2. Les explications
        3. Les tests unitaires
        4. La documentation
        
        Réponds au format JSON.
        """