Spaces:
Sleeping
Sleeping
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.")
|