Josedcape commited on
Commit
f39390e
verified
1 Parent(s): d66c8f4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -42
app.py CHANGED
@@ -20,7 +20,7 @@ nltk.download('stopwords')
20
 
21
  # Cargar la clave API desde el archivo .env
22
  load_dotenv()
23
- os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "botidinamix-g.json"
24
  openai.api_key = os.getenv("OPENAI_API_KEY")
25
 
26
  # Funci贸n para extraer texto del PDF
@@ -228,47 +228,50 @@ def main():
228
  st.success("Men煤 cargado exitosamente. Listo para tomar pedidos.")
229
  st.write(menu_df)
230
 
231
- # Captura de pedido
232
- pedido_usuario = st.text_input("Ingresa tu pedido (separado por comas):")
233
- if st.button("Tomar Pedido"):
234
- if pedido_usuario:
235
- confirmados = tomar_pedido_agente(pedido_usuario, menu_df)
236
- st.info(f"Pedido confirmado: {confirmados}")
237
-
238
- total = procesar_orden_agente(','.join(confirmados), menu_df)
239
- st.success(f"Total del pedido: ${total}")
240
-
241
- # Generar PDF de la orden
242
- order_details = {item: {'price': menu_df[menu_df['item'] == item]['price'].values[0]} for item in confirmados}
243
- pdf_path = generar_pdf_orden(order_details)
244
- st.markdown(f"[Descargar PDF de la Orden]({pdf_path})", unsafe_allow_html=True)
245
-
246
- # --- Chat para Agentes ---
247
- st.subheader("Chat con Agentes")
248
- if 'mensajes_agente' not in st.session_state:
249
- st.session_state.mensajes_agente = []
250
-
251
- for mensaje in st.session_state.mensajes_agente:
252
- with st.chat_message(mensaje["role"]):
253
- st.markdown(mensaje["content"])
254
-
255
- agente_pregunta = st.text_input("Escribe tu pregunta para el agente:")
256
- if st.button("Enviar al Agente"):
257
- if agente_pregunta:
258
- st.session_state.mensajes_agente.append({"role": "user", "content": agente_pregunta, "timestamp": time.time()})
259
- with st.chat_message("user"):
260
- st.markdown(agente_pregunta)
261
-
262
- # Procesar la respuesta del agente
263
- with st.spinner("El agente est谩 respondiendo..."):
264
- respuesta_agente, audio_path = obtener_respuesta(agente_pregunta, '', modelo="gpt-4", temperatura=0.5)
265
- st.session_state.mensajes_agente.append({"role": "assistant", "content": respuesta_agente, "timestamp": time.time()})
266
- with st.chat_message("assistant"):
267
- st.markdown(respuesta_agente)
268
- st.audio(audio_path, format="audio/mp3", start_time=0)
269
- else:
270
- st.warning("Por favor, ingresa una pregunta antes de enviar.")
 
 
 
 
271
 
272
  if __name__ == "__main__":
273
  main()
274
-
 
20
 
21
  # Cargar la clave API desde el archivo .env
22
  load_dotenv()
23
+ os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/path/to/my_google_credentials.json"
24
  openai.api_key = os.getenv("OPENAI_API_KEY")
25
 
26
  # Funci贸n para extraer texto del PDF
 
228
  st.success("Men煤 cargado exitosamente. Listo para tomar pedidos.")
229
  st.write(menu_df)
230
 
231
+ # Verificar si las columnas necesarias existen en el DataFrame
232
+ if 'item' not in menu_df.columns or 'price' not in menu_df.columns:
233
+ st.error("El archivo CSV debe contener las columnas 'item' y 'price'.")
234
+ else:
235
+ # Captura de pedido
236
+ pedido_usuario = st.text_input("Ingresa tu pedido (separado por comas):")
237
+ if st.button("Tomar Pedido"):
238
+ if pedido_usuario:
239
+ confirmados = tomar_pedido_agente(pedido_usuario, menu_df)
240
+ st.info(f"Pedido confirmado: {confirmados}")
241
+
242
+ total = procesar_orden_agente(','.join(confirmados), menu_df)
243
+ st.success(f"Total del pedido: ${total}")
244
+
245
+ # Generar PDF de la orden
246
+ order_details = {item: {'price': menu_df[menu_df['item'] == item]['price'].values[0]} for item in confirmados}
247
+ pdf_path = generar_pdf_orden(order_details)
248
+ st.markdown(f"[Descargar PDF de la Orden]({pdf_path})", unsafe_allow_html=True)
249
+
250
+ # --- Chat para Agentes ---
251
+ st.subheader("Chat con Agentes")
252
+ if 'mensajes_agente' not in st.session_state:
253
+ st.session_state.mensajes_agente = []
254
+
255
+ for mensaje in st.session_state.mensajes_agente:
256
+ with st.chat_message(mensaje["role"]):
257
+ st.markdown(mensaje["content"])
258
+
259
+ agente_pregunta = st.text_input("Escribe tu pregunta para el agente:")
260
+ if st.button("Enviar al Agente"):
261
+ if agente_pregunta:
262
+ st.session_state.mensajes_agente.append({"role": "user", "content": agente_pregunta, "timestamp": time.time()})
263
+ with st.chat_message("user"):
264
+ st.markdown(agente_pregunta)
265
+
266
+ # Procesar la respuesta del agente
267
+ with st.spinner("El agente est谩 respondiendo..."):
268
+ respuesta_agente, audio_path = obtener_respuesta(agente_pregunta, '', modelo="gpt-4", temperatura=0.5)
269
+ st.session_state.mensajes_agente.append({"role": "assistant", "content": respuesta_agente, "timestamp": time.time()})
270
+ with st.chat_message("assistant"):
271
+ st.markdown(respuesta_agente)
272
+ st.audio(audio_path, format="audio/mp3", start_time=0)
273
+ else:
274
+ st.warning("Por favor, ingresa una pregunta antes de enviar.")
275
 
276
  if __name__ == "__main__":
277
  main()