Update app.py
Browse files
app.py
CHANGED
@@ -2,14 +2,15 @@ import gradio as gr
|
|
2 |
import ast
|
3 |
from transformers import pipeline
|
4 |
|
5 |
-
#
|
6 |
analyzer = pipeline("text2text-generation", model="Salesforce/codet5-base")
|
7 |
|
|
|
8 |
def analizar_codigo(codigo):
|
9 |
errores = ""
|
10 |
explicacion = ""
|
11 |
|
12 |
-
#
|
13 |
try:
|
14 |
ast.parse(codigo)
|
15 |
errores = "✅ Sintaxis válida"
|
@@ -17,8 +18,22 @@ def analizar_codigo(codigo):
|
|
17 |
errores = f"❌ Error de sintaxis: {str(e)}"
|
18 |
return errores, "No se puede hacer análisis semántico si hay errores de sintaxis."
|
19 |
|
20 |
-
#
|
21 |
prompt = f"Analiza el siguiente código en Python y explica si hay errores lógicos o semánticos:\n\n{codigo}"
|
22 |
resultado = analyzer(prompt, max_length=256, do_sample=False)[0]['generated_text']
|
23 |
|
24 |
return errores, resultado
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
import ast
|
3 |
from transformers import pipeline
|
4 |
|
5 |
+
# Cargar modelo de Hugging Face
|
6 |
analyzer = pipeline("text2text-generation", model="Salesforce/codet5-base")
|
7 |
|
8 |
+
# Función que analiza el código
|
9 |
def analizar_codigo(codigo):
|
10 |
errores = ""
|
11 |
explicacion = ""
|
12 |
|
13 |
+
# Verificación de sintaxis
|
14 |
try:
|
15 |
ast.parse(codigo)
|
16 |
errores = "✅ Sintaxis válida"
|
|
|
18 |
errores = f"❌ Error de sintaxis: {str(e)}"
|
19 |
return errores, "No se puede hacer análisis semántico si hay errores de sintaxis."
|
20 |
|
21 |
+
# Análisis semántico con modelo
|
22 |
prompt = f"Analiza el siguiente código en Python y explica si hay errores lógicos o semánticos:\n\n{codigo}"
|
23 |
resultado = analyzer(prompt, max_length=256, do_sample=False)[0]['generated_text']
|
24 |
|
25 |
return errores, resultado
|
26 |
+
|
27 |
+
# ⬇️ Interfaz Gradio (ESTO VA AL FINAL)
|
28 |
+
demo = gr.Interface(
|
29 |
+
fn=analizar_codigo,
|
30 |
+
inputs=gr.Textbox(lines=15, label="Pega tu función aquí"),
|
31 |
+
outputs=[
|
32 |
+
gr.Textbox(label="Estado de la sintaxis"),
|
33 |
+
gr.Textbox(label="Análisis semántico (lógico)")
|
34 |
+
],
|
35 |
+
title="🔍 Analizador de errores en funciones de programación",
|
36 |
+
description="Este Space detecta errores de sintaxis y semánticos (lógicos) en funciones en Python."
|
37 |
+
)
|
38 |
+
|
39 |
+
demo.launch()
|