telodigoensergio commited on
Commit
c922a80
verified
1 Parent(s): b349db1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -36
app.py CHANGED
@@ -5,37 +5,23 @@ import os
5
  # Cliente de Groq inicializado con la clave API desde una variable de entorno
6
  client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
7
 
8
- # T铆tulo de la p谩gina
9
  st.title("Chatbot de Asistencia sobre Sergio Chic贸n")
10
 
11
- # Establece un 谩rea de texto para el chat
12
- if 'history' not in st.session_state:
13
- st.session_state['history'] = []
14
 
15
- # Funci贸n para agregar mensajes al historial y mostrarlos
16
- def add_to_chat(user_message, bot_message):
17
- st.session_state['history'].append(("Usuario", user_message))
18
- st.session_state['history'].append(("Bot", bot_message))
19
 
20
- # Crea un contenedor para el historial del chat
21
- chat_container = st.container()
22
-
23
- # Muestra el historial del chat
24
- for role, message in st.session_state['history']:
25
- if role == "Usuario":
26
- chat_container.text_area("", value=message, height=40, key=message, disabled=True)
27
- else:
28
- chat_container.text_area("", value=message, height=80, key=message, disabled=True)
29
-
30
- # Crea un campo de entrada de texto para que el usuario escriba su pregunta
31
- user_input = st.text_input("Hazme una pregunta:", '', key="user_input")
32
-
33
- # Define una funci贸n para procesar la entrada y generar una respuesta
34
  def process_text(input_text):
35
- prompt = '''AQU脥 EL TEXTO DEL PROMPT COMPLETO... Responde esta pregunta sobre Sergio: '''
36
  input = prompt + input_text
37
-
38
- # Simula una llamada al modelo para obtener una respuesta (ajusta seg煤n tu implementaci贸n real)
39
  chat_completion = client.chat.completions.create(
40
  messages=[
41
  {
@@ -47,14 +33,17 @@ def process_text(input_text):
47
  )
48
  return chat_completion.choices[0].message.content
49
 
50
-
51
-
52
- # Cuando se env铆a el mensaje, procesa la entrada y actualiza el historial del chat
53
- if st.button("Enviar"):
54
- if user_input: # Asegurarse de que el usuario ha ingresado algo
55
- # Procesa la entrada del usuario
56
- response = process_text(user_input)
57
- # Agrega los mensajes al historial
58
- add_to_chat(user_input, response)
59
- # Limpia el campo de entrada actualizando el estado de la sesi贸n
60
- st.session_state.user_input = ""
 
 
 
 
5
  # Cliente de Groq inicializado con la clave API desde una variable de entorno
6
  client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
7
 
 
8
  st.title("Chatbot de Asistencia sobre Sergio Chic贸n")
9
 
10
+ # Inicializa el historial de mensajes
11
+ if "messages" not in st.session_state:
12
+ st.session_state.messages = []
13
 
14
+ # Muestra los mensajes del chat desde el historial
15
+ for message in st.session_state.messages:
16
+ with st.chat_message(message["role"]):
17
+ st.markdown(message["content"])
18
 
19
+ # Procesa la entrada de texto del usuario y genera una respuesta
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  def process_text(input_text):
21
+ prompt = '''[Aqu铆 tu prompt sobre Sergio...] Responde esta pregunta sobre Sergio: '''
22
  input = prompt + input_text
23
+
24
+ # Suponiendo que tu cliente de Groq tenga un m茅todo para obtener la respuesta
25
  chat_completion = client.chat.completions.create(
26
  messages=[
27
  {
 
33
  )
34
  return chat_completion.choices[0].message.content
35
 
36
+ # Acepta la entrada del usuario
37
+ if user_input := st.chat_input("Hazme una pregunta:"):
38
+ # Agrega el mensaje del usuario al historial de chat
39
+ st.session_state.messages.append({"role": "user", "content": user_input})
40
+
41
+ # Obtiene la respuesta del asistente
42
+ assistant_response = process_text(user_input)
43
+
44
+ # Muestra la respuesta del asistente en el contenedor del mensaje de chat
45
+ with st.chat_message("assistant"):
46
+ st.markdown(assistant_response)
47
+
48
+ # Agrega la respuesta del asistente al historial de chat
49
+ st.session_state.messages.append({"role": "assistant", "content": assistant_response})