File size: 865 Bytes
8869cd6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import ast
from transformers import pipeline

# Carga el modelo (puedes cambiarlo según el modelo elegido)
analyzer = pipeline("text2text-generation", model="Salesforce/codet5-base")

def analizar_codigo(codigo):
    errores = ""
    explicacion = ""

    # Parte 1: Verificación de sintaxis (para Python)
    try:
        ast.parse(codigo)
        errores = "✅ Sintaxis válida"
    except SyntaxError as e:
        errores = f"❌ Error de sintaxis: {str(e)}"
        return errores, "No se puede hacer análisis semántico si hay errores de sintaxis."

    # Parte 2: Análisis semántico con modelo
    prompt = f"Analiza el siguiente código en Python y explica si hay errores lógicos o semánticos:\n\n{codigo}"
    resultado = analyzer(prompt, max_length=256, do_sample=False)[0]['generated_text']
    
    return errores, resultado