🚀 Deploy do GovInsights no Streamlit Community Cloud Este README.md detalha o processo de deploy da aplicação GovInsights no Streamlit Community Cloud. Ele serve como um guia rápido para entender como o aplicativo está rodando em produção, como o DeepSeek é configurado e o que foi feito para o deploy inicial.
- Visão Geral do Deploy
Plataforma Principal: Streamlit Community Cloud
Ambiente: Produção (deploy inicial para testes e feedback).
URL de Acesso: https://
- .streamlit.app/ (Atenção: Preencha o URL final após o deploy bem-sucedido.) Tecnologias: Python, Streamlit, Plotly, Pandas, integração com DeepSeek AI (via Together.ai). - Preparação do Código para o Deploy Para que o GovInsights funcione corretamente no Streamlit Community Cloud, algumas configurações foram aplicadas ao código e ao repositório:
2.1. Dependências (requirements.txt) O que é: Um arquivo que lista todas as bibliotecas Python que o aplicativo precisa para funcionar. O Streamlit Cloud o lê e instala tudo automaticamente. Ação: O requirements.txt foi gerado/atualizado na raiz do projeto (pip freeze > requirements.txt). Verificação: Garante que bibliotecas como streamlit, plotly, pandas, together, e outras bibliotecas de IA (ex: transformers, torch) estejam listadas. 2.2. Chave de API do DeepSeek (src/services/ia.py) O que foi feito: Para proteger a chave de API do DeepSeek (usada via Together.ai), ela foi removida do código diretamente e configurada para ser lida de uma variável de ambiente.
Arquivo Modificado: src/services/ia.py
Detalhe da Modificação:
Adicionado import os no início do arquivo. A linha que usava a chave fixa foi substituída para carregar a chave da variável de ambiente DEEPSEEK_API_KEY:
Python
import os
... outras importações ...
def gerar_relatorio(...): # ... try: deepseek_api_key = os.environ.get("DEEPSEEK_API_KEY")
if not deepseek_api_key:
raise Exception("Erro: A chave de API do DeepSeek (DEEPSEEK_API_KEY) não foi configurada. Adicione-a nas 'Secrets' do Streamlit Cloud.")
client = Together(api_key=deepseek_api_key)
# ... restante do código da função
except Exception as e:
raise Exception(f"Conexão com IA falhou: {e}")
2.3. Autenticação de Usuário (Temporariamente Desativada) Situação Atual: A lógica de login/logout baseada em st.user.is_logged_in foi temporariamente desativada/comentada no app.py para facilitar o deploy inicial e o acesso público. Implicação: O aplicativo está acessível para qualquer pessoa sem a necessidade de login. Futuro: Se o login for necessário, essa lógica será reativada e credenciais OAuth (ex: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET) serão configuradas como Secrets no Streamlit Cloud. 2.4. Estrutura de Pastas Verificação: A estrutura de pastas foi revisada para garantir que o Streamlit Cloud encontre todos os arquivos importados (como alertas.py, analises.py, src/interface/views/styles/style.css, etc.) em seus caminhos corretos em relação ao app.py. 2.5. Commit e Push para o GitHub Ação: Todas as modificações de código e no requirements.txt foram enviadas para a branch principal (main ou master) do repositório GitHub. 3. Processo de Deploy (Passo a Passo) Para replicar o deploy, siga estes passos:
Acesse o Streamlit Community Cloud: Vá para share.streamlit.io e faça login com sua conta GitHub. Crie um Novo Aplicativo: No painel, clique em "New app". Configure o Repositório: Repository: Selecione o repositório do seu GovInsights. Branch: Escolha a branch main (ou master). Main file path: app.py (ou o caminho completo se seu app.py não estiver na raiz, ex: src/interface/views/app.py). Adicione os Segredos (Secrets): Expanda "Advanced settings". Na área "Secrets", adicione a chave do DeepSeek (e outras, se necessário): DEEPSEEK_API_KEY="SUA_CHAVE_COMPLETA_DO_DEEPSEEK_AQUI" (Substitua pela chave real) Inicie o Deploy: Clique no botão "Deploy!". Monitore: Acompanhe os logs na tela até a mensagem de sucesso. 4. Verificação Pós-Deploy Após o deploy, verifique os seguintes pontos para confirmar o sucesso:
Acessibilidade Pública: A aplicação deve estar acessível pelo URL fornecido pelo Streamlit Community Cloud (https://
Automação CI/CD: Configurar deploys automáticos a cada push no GitHub. Autenticação de Usuário: Reativar e configurar o sistema de login com credenciais OAuth. Banco de Dados: Conectar a um banco de dados real e gerenciar suas credenciais. Domínio Personalizado: Configurar um URL mais amigável (ex: www.govinsights.com.br). Monitoramento Avançado: Implementar ferramentas de monitoramento mais detalhadas. Este README está pronto para ser copiado e colado no seu repositório GitHub como README.md (o . final é importante).
Sua Tarefa Final:
Crie (ou edite) um arquivo chamado README.md na pasta principal do seu repositório GitHub.
Copie todo o conteúdo acima e cole-o no README.md.
Substitua o placeholder https://