MatteoScript commited on
Commit
c17cf76
1 Parent(s): 79b72ff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -1
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
- instruction_suddivise = split_text(st.session_state.instruction, st.session_state.split*2000)
 
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