File size: 1,955 Bytes
da41d5f | 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 47 48 49 50 51 52 53 54 55 56 | # web.py
import streamlit as st
from main import preguntar, cargar_personalidad
# ----------------------------
# Configuraci贸n de la p谩gina
# ----------------------------
st.set_page_config(page_title="IA Local Phi", page_icon="馃", layout="wide")
# ----------------------------
# Selector de personalidad
# ----------------------------
personalidad = st.selectbox(
"Elige la personalidad de tu IA:",
["chistosa", "matematicas", "coach"]
)
# Cargar el prompt correspondiente
sistema = cargar_personalidad(personalidad)
# ----------------------------
# Inicializar historial en la sesi贸n
# ----------------------------
if "historial" not in st.session_state:
st.session_state.historial = []
# ----------------------------
# Entrada de usuario
# ----------------------------
entrada = st.text_input("Escribe tu mensaje:")
# Bot贸n para enviar
if st.button("Enviar") and entrada.strip() != "":
respuesta = preguntar(entrada, sistema)
st.session_state.historial.append(("Tu", entrada))
st.session_state.historial.append(("IA", respuesta))
# ----------------------------
# Mostrar conversaci贸n en burbujas
# ----------------------------
for quien, mensaje in st.session_state.historial:
color = "#1f77b4" if quien == "Tu" else "#ff7f0e"
st.markdown(
f'<div style="background:#f0f0f5; padding:10px; margin-bottom:5px; border-radius:10px; color:{color};"><b>{quien}:</b> {mensaje}</div>',
unsafe_allow_html=True
)
# ----------------------------
# Secci贸n lateral con tips
# ----------------------------
with st.sidebar:
st.markdown("### Tips")
st.markdown("- Haz preguntas claras y cortas.")
st.markdown("- La IA recuerda lo que escribes entre sesiones.")
st.markdown("- Cambia la personalidad usando el men煤 desplegable.")
st.markdown("- La conversaci贸n larga se resume autom谩ticamente para mantener la IA r谩pida.") |