Geração de código e assistência ao desenvolvimento com LLMs
Geração de código e assistência ao desenvolvimento com LLMs
Introdução
Os modelos de linguagem podem ser usados para gerar código e auxiliar os desenvolvedores no dia a dia. Este tutorial explora as diferentes formas de implementar esses recursos com LLMs.
Tipos de assistência ao desenvolvimento
1. Geração de código
- Geração de funções
- Geração de classes
- Geração de testes
- Geração de documentação
- Geração de código boilerplate
2. Refatoração e otimização
- Refatoração de código
- Otimização de desempenho
- Correção de bugs
- Melhoria da legibilidade
- Modernização do código
3. Assistência ao design
- Sugestões de arquitetura
- Boas práticas
- Padrões de projeto
- Otimizações algorítmicas
- Segurança e desempenho
Implementação
1. Gerador 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.
"""