| --- |
| license: apache-2.0 |
| language: |
| - pt |
| tags: |
| - cbmgo |
| - bombeiros |
| - incendio |
| - prevencao |
| - rag |
| - llm |
| - agente |
| pipeline_tag: text-generation |
| --- |
| |
| # 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) |
|
|
| 1. rag-normas - Consulta NT-01/2025 (artigo, paragrafo, Anexo) |
| 2. calculadora - Lotacao, extintores, hidrantes, SPDA |
| 3. classificador - Grupo, Divisao, exigencias legais |
| 4. memorial-generator - Gera texto estruturado + checklist |
| 5. auditor-projetos - Compara memorial x prancha, erros/alertas |
| 6. cad-assistant - Gera script .scr (AutoCAD) / Dynamo (Revit) |
| 7. submissao-assistida - Monta pacote, renomeia, valida para SIAPI |
| 8. 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. |