--- 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.