viti / pages /persistent_documents.py
cdupland
Mise en place de LlamaParce pour l'extraction des informations des documents.
a4aa0ab
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()