File size: 5,916 Bytes
8a456a8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
---
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.