https://github.com/anderson-ufrj/cidadao.ai-models

https://github.com/anderson-ufrj/cidadao.ai-models

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: anderson-ufrj
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 99.6 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 11 months ago · Last pushed 10 months ago
Metadata Files
Readme License Security

README.md


title: Cidadão.AI Models emoji: 🤖 colorFrom: blue
colorTo: green sdk: docker app_port: 8001 pinned: false license: mit tags: - transparency - government - brazil - anomaly-detection

- fastapi

🤖 Cidadão.AI Models

Modelos especializados de Machine Learning para análise de transparência pública brasileira

Python 3.11+ PyTorch Transformers License: MIT

🎯 Visão Geral

Cidadão.AI Models é o repositório especializado em modelos de machine learning para o ecossistema Cidadão.AI. Contém modelos customizados, pipeline de treinamento MLOps e infraestrutura de inferência para análise avançada de dados de transparência pública.

🚀 Capacidades Principais

  • 🔍 Detecção de Anomalias - Identificação automática de padrões suspeitos em contratos públicos
  • 📊 Análise de Padrões - Reconhecimento de correlações e tendências em dados governamentais
  • 🌊 Análise Espectral - Detecção de padrões temporais e sazonais via FFT
  • 🤖 Modelos Customizados - Arquiteturas especializadas para transparência brasileira
  • 🔄 Pipeline MLOps - Treinamento, versionamento e deploy automatizados

🏗️ Arquitetura

src/ ├── models/ # Modelos de ML especializados │ ├── anomaly_detection/ # Detecção de anomalias │ ├── pattern_analysis/ # Análise de padrões │ ├── spectral_analysis/ # Análise espectral │ └── core/ # Classes base e utilitários ├── training/ # Pipeline de treinamento │ ├── pipelines/ # Pipelines de treinamento │ ├── configs/ # Configurações de modelos │ └── utils/ # Utilitários de treinamento ├── inference/ # Servidor de inferência │ ├── api_server.py # FastAPI server │ ├── batch_processor.py # Processamento em lote │ └── streaming.py # Inferência em tempo real └── deployment/ # Ferramentas de deploy ├── huggingface/ # Integração HuggingFace Hub ├── docker/ # Containerização └── monitoring/ # Monitoramento de modelos

🚀 Quick Start

Instalação

```bash

Clone o repositório

git clone https://github.com/anderson-ufrj/cidadao.ai-models cd cidadao.ai-models

Instale as dependências

pip install -r requirements.txt

Instale o pacote em modo desenvolvimento

pip install -e . ```

Uso Básico

```python from cidadaomodels.models.anomalydetection import AnomalyDetector from cidadaomodels.models.patternanalysis import PatternAnalyzer

Inicializar modelos

anomalydetector = AnomalyDetector() patternanalyzer = PatternAnalyzer()

Analisar contratos para anomalias

contracts = [...] # Lista de contratos anomalies = anomaly_detector.analyze(contracts)

Analisar padrões temporais

patterns = patternanalyzer.analyzetemporal_patterns(data) ```

Servidor de Inferência

```bash

Iniciar servidor API

uvicorn src.inference.api_server:app --host 0.0.0.0 --port 8001

Testar endpoint

curl -X POST "http://localhost:8001/v1/detect-anomalies" \ -H "Content-Type: application/json" \ -d '{"contracts": [...]}' ```

🧠 Modelos Disponíveis

🔍 Detector de Anomalias

  • Algoritmos: Isolation Forest, One-Class SVM, Local Outlier Factor
  • Especialização: Contratos públicos brasileiros
  • Métricas: Precisão >90% para anomalias críticas

📊 Analisador de Padrões

  • Capacidades: Time series, correlações, clustering
  • Técnicas: Prophet, FFT, decomposição sazonal
  • Output: Padrões temporais e insights explicáveis

🌊 Analisador Espectral

  • Método: Transformada rápida de Fourier (FFT)
  • Detecção: Padrões periódicos suspeitos
  • Aplicação: Irregularidades sazonais em gastos

🛠️ Desenvolvimento

Estrutura de Testes

```bash

Executar todos os testes

pytest tests/

Testes específicos

pytest tests/unit/models/ pytest tests/integration/ pytest tests/e2e/ ```

Treinamento de Modelos

```bash

Treinar modelo de detecção de corrupção

python src/training/pipelines/traincorruptiondetector.py --config configs/corruption_bert.yaml

Avaliar performance

python src/training/evaluate.py --model corruptiondetector --testdata data/test.json ```

Deploy HuggingFace

```bash

Upload para HuggingFace Hub

python src/deployment/huggingface/upload.py --modelpath models/anomalydetector --repo_name cidadao-ai/anomaly-detector ```

🔄 Integração com Backend

Este repositório se integra com o cidadao.ai-backend através de:

  • API REST: Servidor de inferência FastAPI
  • Package Integration: Importação direta como dependência
  • Fallback Local: Processamento local se API indisponível

```python

No backend

from src.tools.models_client import ModelsClient

client = ModelsClient("http://models-api:8001") results = await client.detect_anomalies(contracts) ```

📊 MLOps Pipeline

Treinamento Automatizado

  • CI/CD: Pipeline automatizado GitHub Actions
  • 📈 Experiment Tracking: MLflow + Weights & Biases
  • 🔄 Model Versioning: HuggingFace Hub integration
  • 📊 Performance Monitoring: Drift detection + alerting

Deployment

  • 🐳 Containerização: Docker para produção
  • 🤗 HuggingFace Spaces: Demo models deployment
  • 🚀 Kubernetes: Orquestração escalável
  • 📡 Monitoring: Prometheus metrics + Grafana dashboards

🔗 Links Relacionados

📈 Status do Projeto

  • Estrutura Base: Completa
  • 🔄 Migração ML: Em andamento
  • API Server: Planejado
  • HF Integration: Próximo

👨‍💻 Contribuição

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'feat: add amazing feature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

👨‍💻 Autor

Anderson Henrique da Silva
📧 andersonhs27@gmail.com | 💻 GitHub


🧠 Democratizando Análise de Transparência com IA Avançada 🧠

Modelos • MLOps • Explicável • Brasileira

Owner

  • Name: Anderson Henrique Da Silva
  • Login: anderson-ufrj
  • Kind: user
  • Location: Brasil
  • Company: Ruvixx, Inc

GitHub Events

Total
  • Push event: 2
  • Create event: 1
Last Year
  • Push event: 2
  • Create event: 1

Dependencies

Dockerfile docker
  • python 3.11-slim build
requirements-hf.txt pypi
  • fastapi >=0.104.0
  • httpx >=0.27.0
  • numpy >=1.26.3
  • pandas >=2.1.4
  • prometheus-client >=0.19.0
  • pydantic >=2.5.0
  • python-dotenv >=1.0.0
  • python-multipart >=0.0.6
  • scikit-learn >=1.3.2
  • torch >=2.0.0
  • transformers >=4.36.0
  • uvicorn >=0.24.0
requirements.txt pypi
  • datasets >=2.16.0
  • fastapi >=0.104.0
  • httpx >=0.27.0
  • huggingface-hub >=0.19.0
  • joblib >=1.3.0
  • mlflow >=2.8.0
  • numpy >=1.26.3
  • pandas >=2.1.4
  • prometheus-client >=0.19.0
  • pydantic >=2.5.0
  • pytest >=7.4.0
  • pytest-asyncio >=0.21.0
  • scikit-learn >=1.3.2
  • scipy >=1.11.4
  • sentence-transformers >=2.2.0
  • torch >=2.0.0
  • tqdm >=4.66.0
  • transformers >=4.36.0
  • uvicorn >=0.24.0
  • wandb >=0.16.0
setup.py pypi