# 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()