Spaces:
Sleeping
Sleeping
info chatbot
Browse files- app.py +11 -7
- 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
|
38 |
-
|
|
|
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 {}
|