Spaces:
Sleeping
Sleeping
MatteoScript
commited on
Commit
•
c17cf76
1
Parent(s):
79b72ff
Update app.py
Browse files
app.py
CHANGED
@@ -12,6 +12,10 @@ from audio_recorder_streamlit import audio_recorder
|
|
12 |
import speech_recognition as sr
|
13 |
from googlesearch import search
|
14 |
from bs4 import BeautifulSoup
|
|
|
|
|
|
|
|
|
15 |
|
16 |
|
17 |
load_dotenv()
|
@@ -70,6 +74,12 @@ def init_state() :
|
|
70 |
if "numero_generazioni" not in st.session_state:
|
71 |
st.session_state.numero_generazioni = 1
|
72 |
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
if "tbs_options" not in st.session_state:
|
74 |
st.session_state.tbs_options = {
|
75 |
"Sempre": "0",
|
@@ -95,6 +105,23 @@ def init_state() :
|
|
95 |
status.update(label="Caricamento Completato", state="complete", expanded=False)
|
96 |
place.empty()
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
def sidebar():
|
99 |
def retrieval_settings() :
|
100 |
st.markdown("# Impostazioni Prompt")
|
@@ -120,6 +147,12 @@ def sidebar():
|
|
120 |
'Decreti da escludere',
|
121 |
['23.10.2 destinazione risorse residue pnrr DGR 1051-2023_Destinazione risorse PNRR Duale.pdf', '23.10.25 accompagnatoria Circolare Inail assicurazione.pdf', '23.10.26 circolare Inail assicurazione.pdf', '23.10.3 FAQ in attesa di avviso_.pdf', '23.11.2 avviso 24_24 Decreto 17106-2023 Approvazione Avviso IeFP 2023-2024.pdf', '23.5.15 decreto linee inclusione x enti locali.pdf', '23.6.21 Circolare+esplicativa+DGR+312-2023.pdf', '23.7.3 1° Decreto R.L. 23_24 .pdf', '23.9 Regolamento_prevenzione_bullismo_e_cyberbullismo__Centro_Bonsignori.pdf', '23.9.1 FAQ inizio anno formativo.pdf', '23.9.15 DECRETO VERIFICHE AMMINISTR 15-09-23.pdf', '23.9.4 modifica decreto GRS.pdf', '23.9.8 Budget 23_24.pdf', '24.10.2022 DECRETO loghi N.15176.pdf', 'ALLEGATO C_Scheda Supporti al funzionamento.pdf', 'ALLEGATO_ B_ Linee Guida.pdf', 'ALLEGATO_A1_PEI_INFANZIA.pdf', 'ALLEGATO_A2_PEI_PRIMARIA.pdf', 'ALLEGATO_A3_PEI_SEC_1_GRADO.pdf', 'ALLEGATO_A4_PEI_SEC_2_GRADO.pdf', 'ALLEGATO_C_1_Tabella_Fabbisogni.pdf', 'Brand+Guidelines+FSE+.pdf', 'Decreto 20797 del 22-12-2023_Aggiornamento budget PNRR.pdf', 'Decreto 20874 del 29-12-2023 Avviso IeFP PNRR 2023-2024_file unico.pdf'],
|
122 |
[])
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
st.markdown("---")
|
124 |
st.markdown("# Ricerca Online")
|
125 |
st.session_state.cerca_online = st.toggle("Attivata", value=False)
|
@@ -301,7 +334,8 @@ def split_text(text, chunk_size):
|
|
301 |
if prompt := st.chat_input("Chatta con BonsiAI..."):
|
302 |
prompt_originale = prompt
|
303 |
links = inserisci_istruzioni(prompt_originale)
|
304 |
-
|
|
|
305 |
ruolo_originale = st.session_state.systemRole
|
306 |
ruoli_divisi = ruolo_originale.split("&&")
|
307 |
parte=1
|
|
|
12 |
import speech_recognition as sr
|
13 |
from googlesearch import search
|
14 |
from bs4 import BeautifulSoup
|
15 |
+
import PyPDF2
|
16 |
+
import pytesseract
|
17 |
+
from PIL import Image
|
18 |
+
|
19 |
|
20 |
|
21 |
load_dotenv()
|
|
|
74 |
if "numero_generazioni" not in st.session_state:
|
75 |
st.session_state.numero_generazioni = 1
|
76 |
|
77 |
+
if "testo_documenti" not in st.session_state:
|
78 |
+
st.session_state.testo_documenti = ''
|
79 |
+
|
80 |
+
if "uploaded_files" not in st.session_state:
|
81 |
+
st.session_state.uploaded_files = None
|
82 |
+
|
83 |
if "tbs_options" not in st.session_state:
|
84 |
st.session_state.tbs_options = {
|
85 |
"Sempre": "0",
|
|
|
105 |
status.update(label="Caricamento Completato", state="complete", expanded=False)
|
106 |
place.empty()
|
107 |
|
108 |
+
def read_text_from_file(file):
|
109 |
+
text = ""
|
110 |
+
if file.name.endswith(".txt"):
|
111 |
+
text = file.read().decode("utf-8")
|
112 |
+
elif file.name.endswith(".pdf"):
|
113 |
+
pdf_reader = PyPDF2.PdfReader(file)
|
114 |
+
for page_num in range(len(pdf_reader.pages)):
|
115 |
+
page = pdf_reader.pages[page_num]
|
116 |
+
text += page.extract_text()
|
117 |
+
else:
|
118 |
+
try:
|
119 |
+
image = Image.open(file)
|
120 |
+
text = pytesseract.image_to_string(image)
|
121 |
+
except:
|
122 |
+
st.write(f"Non è possibile leggere il testo dal file '{file.name}'.")
|
123 |
+
return text
|
124 |
+
|
125 |
def sidebar():
|
126 |
def retrieval_settings() :
|
127 |
st.markdown("# Impostazioni Prompt")
|
|
|
147 |
'Decreti da escludere',
|
148 |
['23.10.2 destinazione risorse residue pnrr DGR 1051-2023_Destinazione risorse PNRR Duale.pdf', '23.10.25 accompagnatoria Circolare Inail assicurazione.pdf', '23.10.26 circolare Inail assicurazione.pdf', '23.10.3 FAQ in attesa di avviso_.pdf', '23.11.2 avviso 24_24 Decreto 17106-2023 Approvazione Avviso IeFP 2023-2024.pdf', '23.5.15 decreto linee inclusione x enti locali.pdf', '23.6.21 Circolare+esplicativa+DGR+312-2023.pdf', '23.7.3 1° Decreto R.L. 23_24 .pdf', '23.9 Regolamento_prevenzione_bullismo_e_cyberbullismo__Centro_Bonsignori.pdf', '23.9.1 FAQ inizio anno formativo.pdf', '23.9.15 DECRETO VERIFICHE AMMINISTR 15-09-23.pdf', '23.9.4 modifica decreto GRS.pdf', '23.9.8 Budget 23_24.pdf', '24.10.2022 DECRETO loghi N.15176.pdf', 'ALLEGATO C_Scheda Supporti al funzionamento.pdf', 'ALLEGATO_ B_ Linee Guida.pdf', 'ALLEGATO_A1_PEI_INFANZIA.pdf', 'ALLEGATO_A2_PEI_PRIMARIA.pdf', 'ALLEGATO_A3_PEI_SEC_1_GRADO.pdf', 'ALLEGATO_A4_PEI_SEC_2_GRADO.pdf', 'ALLEGATO_C_1_Tabella_Fabbisogni.pdf', 'Brand+Guidelines+FSE+.pdf', 'Decreto 20797 del 22-12-2023_Aggiornamento budget PNRR.pdf', 'Decreto 20874 del 29-12-2023 Avviso IeFP PNRR 2023-2024_file unico.pdf'],
|
149 |
[])
|
150 |
+
st.session_state.uploaded_files = st.file_uploader("Importa file", accept_multiple_files=True)
|
151 |
+
st.session_state.testo_documenti = ''
|
152 |
+
for uploaded_file in st.session_state.uploaded_files:
|
153 |
+
text_doc = read_text_from_file(uploaded_file)
|
154 |
+
st.session_state.testo_documenti += text_doc
|
155 |
+
print(st.session_state.testo_documenti)
|
156 |
st.markdown("---")
|
157 |
st.markdown("# Ricerca Online")
|
158 |
st.session_state.cerca_online = st.toggle("Attivata", value=False)
|
|
|
334 |
if prompt := st.chat_input("Chatta con BonsiAI..."):
|
335 |
prompt_originale = prompt
|
336 |
links = inserisci_istruzioni(prompt_originale)
|
337 |
+
st.session_state.instruction+= ' \n\n' + st.session_state.testo_documenti
|
338 |
+
instruction_suddivise = split_text(st.session_state.instruction, st.session_state.split*2000)
|
339 |
ruolo_originale = st.session_state.systemRole
|
340 |
ruoli_divisi = ruolo_originale.split("&&")
|
341 |
parte=1
|