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