Nugh75 commited on
Commit
25bd1f2
·
1 Parent(s): 4315813

info chatbot

Browse files
Files changed (2) hide show
  1. app.py +11 -7
  2. ui/info_tab.py +58 -0
app.py CHANGED
@@ -8,6 +8,7 @@ from ui.chatbot_tab import create_chatbot_tab
8
  from ui.db_management_tab import create_db_management_tab
9
  from ui.document_management_tab import create_document_management_tab
10
  from ui.new_features_tab import create_new_features_tab
 
11
 
12
  # Configura il logging
13
  configure_logging()
@@ -21,23 +22,26 @@ def main():
21
  logging.info("Interfaccia Gradio inizializzata")
22
 
23
  # Prima ottiene tutti i riferimenti
 
24
  chat_refs = create_chatbot_tab()
25
- doc_refs = create_document_management_tab()
26
-
 
27
 
28
  # Crea dizionario completo dei riferimenti
29
  dropdowns = {
30
  "document": doc_refs,
31
- "chat": chat_refs
 
32
  }
33
 
34
  # Crea i tab nell'ordine corretto
35
-
36
  chat_refs # Tab 4: Chatbot (ultima tab)
37
- doc_refs # Tab 2: Document Management
38
- create_db_management_tab(dropdowns) # Tab 1: DB Management
 
39
  create_new_features_tab() # Tab 3: Features
40
-
41
 
42
  rag_chatbot.launch()
43
 
 
8
  from ui.db_management_tab import create_db_management_tab
9
  from ui.document_management_tab import create_document_management_tab
10
  from ui.new_features_tab import create_new_features_tab
11
+ from ui.info_tab import create_info_tab # Importa la nuova tab
12
 
13
  # Configura il logging
14
  configure_logging()
 
22
  logging.info("Interfaccia Gradio inizializzata")
23
 
24
  # Prima ottiene tutti i riferimenti
25
+ info_refs = create_info_tab()
26
  chat_refs = create_chatbot_tab()
27
+ doc_refs = create_document_management_tab()
28
+
29
+ db_refs = create_db_management_tab # Crea la nuova tab delle informazioni
30
 
31
  # Crea dizionario completo dei riferimenti
32
  dropdowns = {
33
  "document": doc_refs,
34
+ "chat": chat_refs,
35
+ "info": info_refs
36
  }
37
 
38
  # Crea i tab nell'ordine corretto
 
39
  chat_refs # Tab 4: Chatbot (ultima tab)
40
+ doc_refs # Tab 2: Document Management
41
+ db_refs(dropdowns)
42
+ # create_db_management_tab(dropdowns) # Tab 1: DB Management
43
  create_new_features_tab() # Tab 3: Features
44
+ info_refs # Tab 5: Info (ultima tab)
45
 
46
  rag_chatbot.launch()
47
 
ui/info_tab.py ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ def create_info_tab():
4
+ """Crea il tab con le informazioni sul chatbot"""
5
+ with gr.Tab("Info"):
6
+ gr.Markdown("""
7
+
8
+ ### EduRag\_beta (Chatbot basato su RAG)
9
+
10
+ Questo chatbot utilizza la tecnologia RAG per migliorare le conversazioni tramite il recupero e la generazione di informazioni basate su documenti caricati e su database preconfigurati. È progettato per supportare diverse attività educative, formative o di consulenza attraverso l'interazione con un Large Language Model (LLM) personalizzabile.
11
+
12
+ #### Funzionalità principali:
13
+
14
+ 1. **Selezione delle conoscenze e del modello LLM**
15
+
16
+ - Gli utenti possono selezionare un database specifico di conoscenze da cui il chatbot recupera informazioni (ad esempio, "Orientamento") e scegliere un agente con istruzioni specifiche per personalizzare il tipo di conversazione (es. “tutor”).
17
+ - I modelli disponibili sono due: **OpenAI gpt-4o-mini** e un modello locale gestito tramite LM Studio. Il modello locale può variare a seconda di quello che si ha disponibile nel sistema.
18
+
19
+ 2. **Interfaccia di conversazione**
20
+
21
+ - L'utente può interagire con il chatbot digitando domande o richieste nella finestra dedicata.
22
+ - Il chatbot risponde utilizzando le informazioni disponibili nei documenti caricati o nel database selezionato.
23
+
24
+ 3. **Caricamento documenti**
25
+
26
+ - Gli utenti possono caricare documenti in formato PDF, DOCX o TXT per arricchire le conoscenze del chatbot. Il contenuto dei documenti caricati viene inserito direttamente nella storia della conversazione, permettendo al sistema di utilizzarlo per rispondere in modo contestualizzato.
27
+
28
+ 4. **Gestione della conversazione**
29
+
30
+ - È possibile scaricare una copia della conversazione avvenuta con il chatbot in formato testo per conservarne una traccia.
31
+ - L'interfaccia permette di generare un file audio della chat, utile per chi preferisce ascoltare le conversazioni anziché leggerle.
32
+
33
+ 5. **Gestione documenti e database**
34
+
35
+ - La sezione "Gestione Documenti" consente di visualizzare, caricare, modificare ed eliminare i documenti che fanno parte dei diversi database di conoscenza a disposizione del chatbot.
36
+ - La sezione "Gestione Database" permette di caricare, eliminare e modificare il nome dei database di conoscenza da cui il chatbot attinge le informazioni.
37
+
38
+ 6. **Nuove funzionalità**
39
+
40
+ - Il chatbot è predisposto per futuri aggiornamenti e nuove funzionalità, ampliando le sue capacità. Alcune di queste funzionalità, come la gestione avanzata dei database di conoscenza, sono attualmente in fase di sviluppo e non ancora operative.
41
+
42
+ #### Agenti disponibili nel sistema:
43
+
44
+ 1. **Tutor**: Agisce come un tutor didattico di nome Valter, offrendo spiegazioni chiare e supporto personalizzato per facilitare l’apprendimento degli utenti.
45
+
46
+ 2. **Scientist**: Si comporta come uno scienziato esperto, analizzando i contesti da una prospettiva scientifica e fornendo risposte dettagliate e basate su un approccio analitico.
47
+
48
+ 3. **Expert**: Fornisce risposte tecniche e specifiche, concentrandosi sull'approfondimento di tematiche complesse in vari settori.
49
+
50
+ 4. **Teacher**: Assume il ruolo di un insegnante paziente, spiegando concetti in modo semplice e comprensibile, adottando un tono pedagogico.
51
+
52
+ 5. **Orientatore**: Si presenta come un tutor orientatore serio e professionale, specializzato nel guidare gli studenti delle scuole verso scelte consapevoli per il loro percorso formativo e professionale. Fornisce supporto empatico, dettagliato e stimola la riflessione autonoma dello studente.
53
+
54
+ 6. **Coach didattico**: Assiste gli insegnanti nella pianificazione delle lezioni. Collabora attivamente con loro per creare piani didattici personalizzati che includano diverse tecniche di insegnamento, assicurando il raggiungimento degli obiettivi di apprendimento.
55
+
56
+ """)
57
+
58
+ return {}