Spaces:
Running
Running
| #!/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("<h1>Erro: Token HF_TOKEN não encontrado.</h1><p>Por favor, defina a variável de ambiente **HF_TOKEN** para iniciar o sistema.</p>") | |
| 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("<h1>Erro Inesperado</h1><p>Ocorreu um erro desconhecido ao configurar a interface. Por favor, entre em contato com o suporte.</p>") | |
| 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"<h1>Erro de Inicialização</h1><p>{str(e)}</p><p>Por favor, verifique a conexão com o Hugging Face e o token de acesso, ou consulte os logs para mais detalhes.</p>") | |
| error_app.launch( | |
| server_name="0.0.0.0", | |
| server_port=7860, | |
| share=False, | |
| show_error=True | |
| ) | |
| if __name__ == "__main__": | |
| main() |