| import os | |
| import tempfile | |
| import streamlit as st | |
| def uploadToDb(): | |
| for file in st.session_state["file_uploader_commun"]: | |
| # Récupération de l'extension du fichier original | |
| original_filename = file.name | |
| file_extension = os.path.splitext(original_filename)[1] | |
| # Créer un fichier temporaire avec la bonne extension | |
| with tempfile.NamedTemporaryFile(delete=False, suffix=file_extension) as temp_file: | |
| temp_file.write(file.read()) | |
| temp_file_path = temp_file.name | |
| with st.session_state["ingestion_spinner"], st.spinner(f"Chargement {file.name}"): | |
| st.session_state["assistant"].ingestToDb(temp_file_path, filename=file.name) | |
| os.remove(temp_file_path) | |
| def page(): | |
| st.subheader("Montez des documents communs") | |
| st.file_uploader( | |
| "Télécharger un documents", | |
| type=["pdf"], | |
| key="file_uploader_commun", | |
| accept_multiple_files=True, | |
| on_change=uploadToDb, | |
| ) | |
| st.session_state["ingestion_spinner"] = st.empty() | |
| st.divider() | |
| st.write("Documents dans la base de données") | |
| for doc in st.session_state["assistant"].vector_store.getDocs(): | |
| st.write(" - "+doc) | |
| page() |