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

# Cargar modelo de Hugging Face
analyzer = pipeline("text2text-generation", model="Salesforce/codet5-base")

# Función que analiza el código
def analizar_codigo(codigo):
    errores = ""
    explicacion = ""

    # Verificación de sintaxis
    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."

    # 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

# ⬇️ Interfaz Gradio (ESTO VA AL FINAL)
demo = gr.Interface(
    fn=analizar_codigo,
    inputs=gr.Textbox(lines=15, label="Pega tu función aquí"),
    outputs=[
        gr.Textbox(label="Estado de la sintaxis"),
        gr.Textbox(label="Análisis semántico (lógico)")
    ],
    title="🔍 Analizador de errores en funciones de programación",
    description="Este Space detecta errores de sintaxis y semánticos (lógicos) en funciones en Python."
)

demo.launch()