import streamlit as st import logging from services.model_handler import ModelHandler # Configure logging logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) class AutismResearchApp: def __init__(self): """Initialize the application components""" self.model_handler = ModelHandler() def _setup_streamlit(self): """Setup Streamlit UI components""" st.image("https://images.unsplash.com/photo-1642370324000-f204b23aafe0?q=80&w=4072&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D") st.title("🧩 Além do Espectro 🧠✨") st.subheader("Tudo o que você precisa saber além dos rotulos e explorando a riqueza das neurodivergências") st.markdown(""" Pergunte o que quiser e eu vou analisar os últimos artigos científicos e fornecer uma resposta baseada em evidências. """) def run(self): """Run the main application loop""" self._setup_streamlit() # Initialize session state for papers if 'papers' not in st.session_state: st.session_state.papers = [] # Get user query col1, col2 = st.columns(2, vertical_alignment="bottom", gap="small") query = col1.text_input("O que você precisa saber?") if col2.button("Enviar"): # Show status while processing with st.status("Processando sua Pergunta...") as status: status.write("🔍 Buscando papers de pesquisa relevantes...") status.write("📚 Analisando papers de pesquisa...") status.write("✍️ Gerando resposta...") answer = self.model_handler.generate_answer(query) status.write("✨ Resposta gerada! Exibindo resultados...") st.success("✅ Resposta gerada com base nos artigos de pesquisa encontrados.") st.markdown("### Resposta") st.markdown(answer) def main(): app = AutismResearchApp() app.run() if __name__ == "__main__": main()