File size: 1,382 Bytes
53e0a4a
205c1d0
5a7327c
7309032
 
 
495c008
7200106
 
 
 
 
 
 
 
 
 
 
d99d521
7200106
d99d521
b97afd7
7200106
 
 
 
 
 
 
d99d521
 
7200106
 
 
 
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
import streamlit as st
from modelo import get_chain

#Menu Visual
st.markdown("<h1 style='text-align: center; color: yellow;'>Chatbot SII</h1>", unsafe_allow_html=True) #mandar un texto en html
st.header("🤖🦾ChatBot entrenado con preguntas frecuentes del sitio del servicios de impuestos interno de Chile.")

with st.chat_message(name="ai"): #assistant or ai
    st.write('🤖 Hola soy tu asistente del dia de hoy, en que te puedo ayudar')


if "mensajes" not in st.session_state:
    st.session_state.mensajes = []

for message in st.session_state.mensajes:
    with st.chat_message(message["role"]):
        st.markdown(message["content"])

pregunta = st.chat_input("Ingresa tu pregunta")
#Manejador del prompt, es un input y button a la vez
with st.spinner("Cargando modelo, por favor espere, mientras puede ingresar su pregunta"):
    chain = get_chain()  #windows

if pregunta:
    #Muestra el mensaje del usuario en el chat
    with st.chat_message(name="human"): #assistant or ai
        st.markdown(pregunta)

    st.session_state.mensajes.append({"role" : "human", "content": pregunta})
    with st.spinner("Procesando su respuesta, por favor espere"):
        respuesta = chain.invoke(pregunta)['result']

    with st.chat_message(name="ai"): #assistant or ai
        st.markdown(respuesta)
    st.session_state.mensajes.append({"role" : "ai", "content": respuesta})