File size: 1,585 Bytes
215bb13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
41
42
43
44
45
46
import streamlit as st
from openai import OpenAI
from config import OPENAI_API_KEY

client = OpenAI(api_key=OPENAI_API_KEY)
import langdetect

# Configurar la clave de API de OpenAI
OPENAI_API_KEY = "tu_clave_aqui"

def detectar_lenguaje(codigo):
    """Detecta el lenguaje de programaci贸n usando langdetect."""
    try:
        lenguaje = langdetect.detect(codigo)
        return lenguaje
    except:
        return "Desconocido"

def explicar_codigo(codigo):
    """Genera una explicaci贸n del c贸digo utilizando OpenAI GPT."""
    prompt = f"Explica detalladamente qu茅 hace el siguiente c贸digo:\n\n{codigo}\n\nExplicaci贸n:" 

    respuesta = client.chat.completions.create(model="gpt-4o-mini",
    messages=[{"role": "system", "content": "Eres un asistente que explica c贸digo de programaci贸n."},
              {"role": "user", "content": prompt}])
    return respuesta.choices[0].message.content.strip()

# Configuraci贸n de la app Streamlit
st.title("Explicador de C贸digo")
st.write("Introduce un fragmento de c贸digo en cualquier lenguaje de programaci贸n para recibir una explicaci贸n detallada.")

codigo_usuario = st.text_area("Introduce tu c贸digo aqu铆:")

if st.button("Explicar c贸digo"):
    if codigo_usuario.strip():
        lenguaje = detectar_lenguaje(codigo_usuario)
        explicacion = explicar_codigo(codigo_usuario)

        st.subheader("Lenguaje detectado:")
        st.write(lenguaje.capitalize())

        st.subheader("Explicaci贸n del c贸digo:")
        st.write(explicacion)
    else:
        st.warning("Por favor, introduce un c贸digo v谩lido.")