|
import gradio as gr |
|
import ast |
|
from transformers import pipeline |
|
|
|
|
|
analyzer = pipeline("text2text-generation", model="Salesforce/codet5-base") |
|
|
|
def analizar_codigo(codigo): |
|
errores = "" |
|
explicacion = "" |
|
|
|
|
|
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." |
|
|
|
|
|
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 |
|
|