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()
|