#!/usr/bin/env python3 """ Dr. Aldo Henrique - Chatbot com RAG Arquivo principal que inicializa o sistema e lança a interface Gradio. """ import os import gradio as gr from interface import configurar_interface import asyncio # 🔑 Token do Hugging Face vindo das variáveis de ambiente HF_TOKEN = os.getenv("HF_TOKEN") def main(): """ Função principal que gerencia o fluxo de inicialização do chatbot: 1. Verifica a presença do token Hugging Face. 2. Tenta configurar a interface Gradio (que internamente testa os modelos). 3. Lança a interface completa ou uma página de erro, dependendo do resultado. """ print("🚀 Iniciando Dr. Aldo Henrique com RAG...") # --- 1. Verificar se o token HF está configurado --- if not HF_TOKEN: print("❌ Erro: Token HF_TOKEN não encontrado nas variáveis de ambiente.") print("A interface não será carregada. Por favor, defina a variável de ambiente HF_TOKEN.") error_app_no_token = gr.Blocks() with error_app_no_token: gr.Markdown("

Erro: Token HF_TOKEN não encontrado.

Por favor, defina a variável de ambiente **HF_TOKEN** para iniciar o sistema.

") error_app_no_token.launch( server_name="0.0.0.0", server_port=7860, share=False, show_error=True ) return print(f"🔑 Token HF encontrado: {HF_TOKEN[:8]}...") # --- 2. Configurar a interface --- try: app_to_launch = configurar_interface() print("🌐 Interface configurada com sucesso. Lançando...") # --- 3. Lançar a aplicação --- if isinstance(app_to_launch, (gr.Blocks, gr.Interface)): app_to_launch.launch( server_name="0.0.0.0", server_port=7860, share=False, max_threads=8, show_error=True ) else: print("Erro inesperado: configurar_interface retornou um tipo de objeto desconhecido.") unexpected_error_app = gr.Blocks() with unexpected_error_app: gr.Markdown("

Erro Inesperado

Ocorreu um erro desconhecido ao configurar a interface. Por favor, entre em contato com o suporte.

") unexpected_error_app.launch( server_name="0.0.0.0", server_port=7860, share=False, show_error=True ) except RuntimeError as e: print(f"❌ Erro ao configurar a interface: {str(e)}") error_app = gr.Blocks() with error_app: gr.Markdown(f"

Erro de Inicialização

{str(e)}

Por favor, verifique a conexão com o Hugging Face e o token de acesso, ou consulte os logs para mais detalhes.

") error_app.launch( server_name="0.0.0.0", server_port=7860, share=False, show_error=True ) if __name__ == "__main__": main()