HBAB commited on
Commit
aa6ea14
·
verified ·
1 Parent(s): 3de0613

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -3
app.py CHANGED
@@ -2,14 +2,15 @@ import gradio as gr
2
  import ast
3
  from transformers import pipeline
4
 
5
- # Carga el modelo (puedes cambiarlo según el modelo elegido)
6
  analyzer = pipeline("text2text-generation", model="Salesforce/codet5-base")
7
 
 
8
  def analizar_codigo(codigo):
9
  errores = ""
10
  explicacion = ""
11
 
12
- # Parte 1: Verificación de sintaxis (para Python)
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
- # Parte 2: Análisis semántico con modelo
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()