import os import tempfile import streamlit as st from utils.document import audit_descriptif_pdf def read_and_save_file(): for file in st.session_state["file_uploader"]: with tempfile.NamedTemporaryFile(delete=False) as tf: tf.write(file.getbuffer()) file_path = tf.name if not any(f["name"] == file.name for f in st.session_state["files"]): st.session_state["files"].append({ "name": file.name, "audit": audit_descriptif_pdf(file)["audit"] }) with st.session_state["ingestion_spinner"], st.spinner(f"Chargement {file.name}"): st.session_state["assistant"].ingest(file_path) os.remove(file_path) def page(): st.subheader("Charger vos documents") if "files" not in st.session_state: st.session_state["files"] = [] # Custom CSS to hide default English labels # st.markdown( # """ # # """, # unsafe_allow_html=True # ) # File uploader st.file_uploader( "Télécharger un ou plusieurs documents", type=["pdf"], key="file_uploader", accept_multiple_files=True, on_change=read_and_save_file, ) for file in st.session_state["files"]: st.markdown(f"#### {file['name']}") audit = file["audit"] st.markdown( """
Nombre de pages | {} |
Nombre d'images | {} |
Nombre de liens | {} |
Nombre de tableaux | {} |
Nombre de tokens | {} |
Nombre de mots | {} |