- Agente CBMGO - Sistema Inteligente de Prevencao de Incendio
- Visao Geral
- Arquitetura dos Modulos
- Fluxo Operativo (usuario RT)
- Estrutura do Repositorio
- Inicio Rapido
- Modulos - Detalhes
- 1. RAG Normativo (modules/rag_normas.py)
- 2. Classificador de Ocupacao (modules/classificador.py)
- 3. Calculadora de Incendio (modules/calculadora.py)
- 4. Gerador de Memorial (modules/memorial_generator.py)
- 5. Auditor de Projetos (modules/auditor.py)
- 6. Assistente CAD (modules/cad_assistant.py)
- 7. Submissao SIAPI (modules/submissao.py)
- Dataset de Regras Declarativas
- Fine-Tune dos Modelos
- Roadmap
- Seguranca e Versionamento
- Licenca
- Visao Geral
Agente CBMGO - Sistema Inteligente de Prevencao de Incendio
Agente completo para apoio a Responsaveis Tecnicos (RT) no processo de elaboracao, revisao e protocolo de projetos de prevencao e combate a incendio conforme NT-01/2025 do CBMGO.
Visao Geral
O Agente CBMGO e uma suite de modulos integrados 100% dentro do ecossistema Hugging Face, cobrindo consulta as Normas Tecnicas (RAG normativo), classificacao de ocupacao e grupo/divisao, calculo de exigencias (extintores, hidrantes, SPDA), geracao de memorial descritivo, auditoria de projetos (memorial x prancha), assistente CAD (scripts AutoCAD/Revit) e preparacao e validacao de pacote SIAPI.
Arquitetura dos Modulos
| Modulo | Produto HF | Repositorio |
|---|---|---|
| Normas e regras | Dataset | cbmgo/normas-nt01 |
| Classificador de Ocupacao | Model | cbmgo/llama3-8b-ocupacao |
| RAG Normativo | Space | cbmgo/rag-normas |
| Motor de Regras | Dataset | cbmgo/regras-declarativas |
| Calculadora de Incendio | Space | cbmgo/calculadora-incendio |
| Gerador de Memorial | Model | cbmgo/memorial-generator |
| Auditor de Projetos | Space | cbmgo/auditor-projetos |
| Assistente CAD/BIM | Space | cbmgo/cad-assistant |
| Submissao SIAPI | Space | cbmgo/submissao-assistida |
Fluxo Operativo (usuario RT)
- rag-normas - Consulta NT-01/2025 (artigo, paragrafo, Anexo)
- calculadora - Lotacao, extintores, hidrantes, SPDA
- classificador - Grupo, Divisao, exigencias legais
- memorial-generator - Gera texto estruturado + checklist
- auditor-projetos - Compara memorial x prancha, erros/alertas
- cad-assistant - Gera script .scr (AutoCAD) / Dynamo (Revit)
- submissao-assistida - Monta pacote, renomeia, valida para SIAPI
- Protocolo humano - RT protocola no SIAPI
Estrutura do Repositorio
CERCON/
- README.md
- app.py
- requirements.txt
- modules/ (rag_normas.py, classificador.py, calculadora.py, memorial_generator.py, auditor.py, cad_assistant.py, submissao.py)
- data/ (chunks.jsonl, embeds.faiss, regras_declarativas.json)
- scripts/ (build_chunks.py, build_embeddings.py, generate_synthetic.py)
Inicio Rapido
Instalacao: pip install -r requirements.txt Execucao local: python app.py
Modulos - Detalhes
1. RAG Normativo (modules/rag_normas.py)
Usa sentence-transformers/all-mpnet-base-v2 para embeddings e FAISS para busca vetorial. Recebe query, busca os chunks mais relevantes da NT-01/2025 e retorna texto com referencia ao artigo/paragrafo.
2. Classificador de Ocupacao (modules/classificador.py)
Usa cbmgo/llama3-8b-ocupacao (fine-tune Llama-3.1 8B via LoRA). Recebe descricao da edificacao e retorna JSON com grupo, divisao e lista de exigencias conforme NT-01/2025 Tabela 1.
3. Calculadora de Incendio (modules/calculadora.py)
Calcula extintores (quantidade, capacidade, distancia maxima), hidrantes (sistema, vazao, reserva de incendio), SPDA e iluminacao de emergencia conforme Anexo B da NT-01/2025 usando pandas e sympy.
4. Gerador de Memorial (modules/memorial_generator.py)
Usa cbmgo/memorial-generator (fine-tune Mistral-7B-Instruct). Gera memorial descritivo completo + checklist a partir dos dados do projeto e exigencias classificadas.
5. Auditor de Projetos (modules/auditor.py)
Compara memorial com regras declarativas. Para cada regra satisfeita verifica presenca da exigencia no texto. Retorna lista de erros criticos, alertas e status apto/inapto para protocolo.
6. Assistente CAD (modules/cad_assistant.py)
Gera scripts .scr para AutoCAD e codigo Python para Dynamo/Revit API. Posiciona extintores, sinalizacao de saida de emergencia, rotas de fuga e pontos de hidrante conforme layout do projeto.
7. Submissao SIAPI (modules/submissao.py)
Monta pacote padrao CBMGO: renomeia arquivos conforme padrao do corpo de bombeiros, valida presenca dos documentos obrigatorios (memorial, planta baixa, formulario RT) e gera relatorio JSON de aptidao para protocolo no SIAPI.
Dataset de Regras Declarativas
Arquivo data/regras_declarativas.json com regras SE-ENTAO conformes NT-01/2025:
- Regra 1: Ocupacao comercial com area maior que 750m2 exige extintores, hidrantes e sinalizacao de emergencia
- Regra 2: Edificacao com altura maior que 12m exige iluminacao de emergencia
- Regra 3: Edificacao com area maior que 1000m2 exige SPDA (Sistema de Protecao contra Descargas Atmosfericas)
- Regra 4: Uso industrial com area maior que 2000m2 exige chuveiros automaticos e reservatorio de incendio
Fine-Tune dos Modelos
Classificador cbmgo/llama3-8b-ocupacao:
- Base: meta-llama/Llama-3.1-8B-Instruct
- Tecnica: LoRA 8-bit via trl/SFTTrainer
- Dataset: cbmgo/dataset-sintetico (2000 exemplos) ou cbmgo/dataset-real (300-500 projetos)
- Hardware: 1x A10 GPU (HF PRO), treino menor que 3 horas
Memorial Generator cbmgo/memorial-generator:
- Base: mistralai/Mistral-7B-Instruct-v0.3
- Pares de treinamento: prompt com dados do projeto -> memorial descritivo completo
- Hardware: 1x A10 GPU
Roadmap
| Semana | Entrega |
|---|---|
| 1 | Datasets normas-nt01 e regras-declarativas |
| 2 | Spaces rag-normas e calculadora-incendio |
| 3 | Fine-tune llama3-8b-ocupacao |
| 4 | Space memorial-generator |
| 5 | Spaces auditor-projetos e cad-assistant |
| 6 | Space submissao-assistida e integracao final |
Seguranca e Versionamento
- git-lfs para arquivos grandes (modelos, indices FAISS)
- Tags semanticas: v1.0, v1.1-norma-rev, etc.
- Campo data_vigencia em cada dataset para controle de norma vigente
- Auditoria: cada conclusao registra hash do modelo e commit da norma utilizada
Licenca
Apache 2.0 - Consulte o arquivo LICENSE.
Desenvolvido para apoio tecnico de Responsaveis Tecnicos (RT) em projetos de PSCIP conforme NT-01/2025 CBMGO.