import streamlit as st def mostrar_galatea_asistente(): # Inicializar el estado de la pregunta si no existe if 'pregunta' not in st.session_state: st.session_state.pregunta = "" # Configuración en columnas col1, col2 = st.columns([2, 1]) with col1: pregunta = st.text_input( "💬 Escribe tu pregunta para Galatea:", value=st.session_state.pregunta, placeholder="Ejemplo: ¿Cuáles son los horarios de atención?", key="pregunta_input" ) st.session_state.pregunta = pregunta # Actualizar el estado con la pregunta actual with col2: st.markdown("### 🎛️ Configuración") voz_seleccionada = st.selectbox( "🎤 Voz OpenAI:", ["nova", "alloy", "echo", "fable", "onyx", "shimmer"], index=0, help="Nova: Femenina joven | Alloy: Neutral | Echo: Masculina" ) modelo_seleccionado = st.selectbox( "🤖 Modelo:", ["gpt-4o-mini", "gpt-3.5-turbo", "gpt-4"], index=0 ) # Botones de acción col_btn1, col_btn2, col_btn3 = st.columns(3) with col_btn1: if st.button("✨ Mejorar Prompt", use_container_width=True): if st.session_state.pregunta: with st.spinner("🔄 Mejorando pregunta..."): pregunta_mejorada = enhance_prompt_with_ai(st.session_state.pregunta) st.session_state.pregunta = pregunta_mejorada st.rerun() else: st.warning("⚠️ Por favor, escribe una pregunta primero.") with col_btn2: if st.button("🚀 Respuesta Inmediata", use_container_width=True): if st.session_state.pregunta: procesar_respuesta() else: st.warning("⚠️ Por favor, escribe una pregunta primero.") with col_btn3: st.markdown("### ⏱️ Temporizador") intervalo = st.slider("Segundos:", 5, 60, 10) if st.button("⏱️ Iniciar Temporizador", use_container_width=True): if st.session_state.pregunta: reloj_placeholder = st.empty() for i in range(intervalo, 0, -1): reloj_placeholder.markdown( f"""
Preparando respuesta de Galatea...
Galatea está respondiendo...
{respuesta}
🎤 Voz: {voz_seleccionada} | 🤖 Modelo: {modelo_seleccionado}