File size: 1,278 Bytes
352ebdd
47e4aa2
352ebdd
47e4aa2
352ebdd
 
 
 
 
 
 
 
47e4aa2
 
352ebdd
 
 
 
 
47e4aa2
352ebdd
 
47e4aa2
352ebdd
 
 
 
47e4aa2
352ebdd
 
 
 
 
 
 
 
 
47e4aa2
 
352ebdd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# main.py

import gradio as gr
from app.logging_config import configure_logging
from app.document_handling import list_databases
from ui.chatbot_tab import create_chatbot_tab
from ui.db_management_tab import create_db_management_tab
from ui.document_management_tab import create_document_management_tab
from ui.document_view_tab import create_document_view_tab
from ui.new_features_tab import create_new_features_tab

# Configura il logging
configure_logging()

def update_all_dropdowns():
    """
    Aggiorna tutti i dropdown con la lista aggiornata dei database.
    Questo potrebbe essere esteso per aggiornare tutti i dropdown necessari.
    """
    databases = list_databases()
    updates = [gr.update(choices=databases) for _ in range(6)]
    return updates

def main():
    """Funzione principale che crea e lancia l'app Gradio."""
    with gr.Blocks() as rag_chatbot:
        gr.Markdown("# Chatbot basato su RAG")
        
        # Crea i vari tab dell'interfaccia
        create_chatbot_tab()
        create_db_management_tab(update_all_dropdowns)
        create_document_management_tab(update_all_dropdowns)
        create_document_view_tab()
        create_new_features_tab()
    
    # Avvia l'app
    rag_chatbot.launch()

if __name__ == "__main__":
    main()