import streamlit as st import json import pandas as pd import datetime def download_chat_history(chat_history): if not chat_history: st.info("No hay historial de chat para descargar.") return # Convertir a DataFrame para facilitar la exportación a CSV o Excel df = pd.DataFrame(chat_history) now = datetime.datetime.now() df['timestamp'] = now csv = df.to_csv(index=False) st.download_button( label="Descargar conversación (CSV)", data=csv, file_name=f"chat_history_{now.strftime('%Y%m%d_%H%M%S')}.csv", mime="text/csv", ) # Opcional: descarga en Excel (requiere openpyxl) # ... (mismo código que en la respuesta anterior) ... # ... (resto de tu código Streamlit) ... # Dentro de la sección del chatbot: chat_history = [] # Inicializa la lista para almacenar el historial del chat # ... (tu código para manejar el chat) ... # Dentro del bucle donde procesas los mensajes: chat_history.append({"role": message["role"], "content": message["content"]}) #Asumiendo que tus mensajes tienen 'role' y 'content' # Botón para descargar (al final de la sección del chatbot): if st.button("Descargar conversación"): download_chat_history(chat_history)