Spaces:
Running
Running
File size: 3,111 Bytes
7dc0225 f96b739 721a95b 7dc0225 1ba7c97 2253ce8 7dc0225 f96b739 7dc0225 2253ce8 f96b739 7dc0225 f96b739 1ba7c97 f96b739 1ba7c97 f96b739 1ba7c97 f96b739 1ba7c97 f96b739 1ba7c97 f96b739 1ba7c97 f96b739 7dc0225 95ddb94 |
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
#!/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
# 🔑 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:
# Captura a exceção lançada por configurar_interface() se menos de 3 modelos estiverem disponíveis
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() |